
FunASR
io.github.modelscopePublished by GitHub account modelscopev0.1.2Updated Oct 24, 2026
Transcribe local audio with FunASR and SenseVoice using private, on-device inference.
Overview
Local MCP server that lets an AI assistant transcribe speech audio files to text on-device using FunASR and SenseVoice models.
- What you can do
- Transcribe a local audio file (wav, mp3, flac, m4a, ogg) to text with an optional language hint for auto, Mandarin, Cantonese, English, Japanese or Korean, returning per-segment timestamps when the model provides them.
- When to use it
- Useful when you want an assistant to turn meeting recordings, interviews or voice memos into text without sending audio to a cloud service, and you can run the model locally on CPU, CUDA or MPS.
- Requirements
- Runs as a local process over stdio: either install the funasr Python package and run the server script, or run the published Docker image with a host audio directory mounted read-only at /audio. Optional environment variables FUNASR_DEVICE (cpu, cuda, mps) and FUNASR_MODEL select the device and model; the model is downloaded and cached locally. No API key is needed.
Installation
In SourceWeft
- Open FunASR in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
FunASR MCP Server
Model Context Protocol server that gives AI assistants local audio transcription with SenseVoiceSmall by default.
Setup
1. Install dependencies
2. Optional: run with Docker
The Dockerfile starts the MCP server over stdio and is suitable for MCP directory
checks that initialize the server and call tools/list.
Verify the image entrypoint and MCP handshake without downloading a model:
When submitting this server to MCP directories such as Glama, use this folder as
the Docker build context so the container entrypoint runs funasr_mcp.py.
The repository root glama.json declares GitHub maintainer ownership for Glama,
while the glama.json file in this directory declares the container command and
metadata for directory scanners.
Official MCP Registry
The versioned Registry metadata is in server.json. It points to
the public GHCR image and asks clients to mount one host audio directory at
/audio read-only. The Dockerfile carries the matching OCI ownership label:
Current published release:
The release workflow validates the metadata against the official schema, builds
the image, performs an MCP initialize and tools/list handshake, pushes the
versioned image to GHCR, and publishes server.json through the official
mcp-publisher CLI.
To release a new MCP server version:
- Update
versionand the OCI image tag inserver.jsontogether. - Merge the change after the MCP validation workflow passes.
- Have a
modelscopeorganization Owner push the matchingmcp-v<version>tag, for examplemcp-v0.1.2. - Approve the protected
mcp-registry-publishenvironment deployment.
The official Registry only grants the io.github.modelscope/* namespace to a
GitHub organization Owner. Keep the publish environment restricted to release
tags and require a maintainer approval because its OIDC token can publish the
organization namespace.
After publication, clients can run the pinned image directly:
When using the container, pass tool paths under /audio, such as
/audio/meeting.wav.
Glama submission checklist
Use these values when adding the server at https://glama.ai/mcp/servers:
After Glama finishes evaluation, verify that the listing or API shows an evaluated quality score before adding it to directory PRs. An HTTP 200 from the listing or badge endpoint alone does not prove that a score has been assigned:
If the badge endpoint still returns 404, keep the badge out of external directory submissions until the Glama listing is live.
Directory listings
The FunASR MCP server is published in the official Registry and listed on mcp.so:
- https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.modelscope/funasr-mcp
- https://mcp.so/server/mcp-server-funasr/radial-hks
3. Configure your AI tool
Claude Code (~/.claude.json):
Claude Desktop (claude_desktop_config.json):
Cursor (Settings → MCP Servers → Add):
- Command:
python /path/to/funasr_mcp.py - Environment:
FUNASR_DEVICE=cuda
Tools
transcribe_audio
Transcribe a speech audio file to text.
Parameters:
Returns: Transcribed text with per-segment timestamps when the model returns them.
Example Usage
Once configured, ask your AI assistant:
- "Transcribe the meeting recording at ~/Downloads/meeting.wav"
- "What was said in this audio file? /path/to/interview.mp3"
- "Convert this voice memo to text: ~/voice_note.m4a"
Environment Variables
Features
- Five-language transcription — Mandarin, Cantonese, English, Japanese, and Korean
- Automatic detection or explicit hints —
auto,zh,yue,en,ja, andko - VAD segmentation — splits longer audio before recognition
- Optional segment timestamps — included only when the configured model returns them
- Configurable local inference — choose the model and CPU, CUDA, or MPS with environment variables
- No API key needed — fully local inference
- MIT licensed, privacy-friendly (audio never leaves your machine)
Verified Compatibility
Source: examples/mcp_server/README.md at commit 55203a9
Tools
0Version history
1- v0.1.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts