
FunASR MCP Server: Setup for Claude, Cursor and Other Apps
Lets Claude, Cursor and other assistants turn audio files on your computer into text, using the FunASR speech model running locally.
This is a small server from the FunASR project that transcribes audio files with the SenseVoiceSmall model by default. You ask your assistant to transcribe a file by path, and the model runs on your machine, so there is no API key. It runs through Docker or as a Python script. The first run downloads the model, and a graphics card is optional.
Good for
- People who want meeting recordings, interviews or voice memos turned into text
- Anyone who does not want audio sent to a cloud service
- Developers who want a local speech-to-text tool inside their coding assistant
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install FunASR MCP
Claude Code
- 1
Copy this prompt.
Add the FunASR MCP server to Claude Code. Run this command: claude mcp add funasr -- docker run -i --rm --mount type=bind,src=/path/to/audio,dst=/audio,readonly --mount type=volume,src=funasr-mcp-cache,dst=/root/.cache/modelscope ghcr.io/modelscope/funasr-mcp:0.1.2 Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Docker, A folder of audio files.
Replace /path/to/audio with the folder that holds your recordings. In the container, refer to files as /audio/<file>.
Built from the package data we hold. Not yet tested by us.
Tools
Turns an audio file on your computer into text
Transcribes a speech recording from a file path into text. It handles Mandarin, Cantonese, English, Japanese and Korean, detects the language or takes a hint, and adds start and end times per segment when the model returns them. With Docker, give it a path under /audio.
Try: “Transcribe the meeting recording at ~/Downloads/meeting.wav.”
Files ·
transcribe_audio
From the official docs
Permissions
low risk · 2 things to watch
Low risk
The assistant can read audio files you point it to and returns the text. Share only the folder with your recordings; the Docker setup mounts it read-only.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
It reads any file path you give it
With the Python script, the tool opens whatever path the assistant passes. Use the Docker setup so only your audio folder is visible. github.com
Transcripts can contain private speech
The text goes back to your assistant, which may be a cloud service. The audio itself stays local. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | The Docker command mounts your audio folder as read-only. The one tool only reads files and returns text. |
|---|---|
| Talks to | ModelScope, to download the model on first use |
| Sign-in and keys | No account or API key. |
| Data retention | The README says audio never leaves your machine. |
Questions
Does it send my audio to the cloud?
No. The README says inference is fully local and audio never leaves your machine. The transcript goes to your assistant, though, and the first run downloads the model from ModelScope.
Do I need an API key?
No. It runs the model locally, so there is no account or key.
Which languages does it support?
Mandarin, Cantonese, English, Japanese and Korean. You can let it detect the language or give one as a hint.
How do I point it at my audio files in Docker?
The Docker command mounts one folder from your computer at /audio, read-only. Ask the assistant to transcribe a file by its /audio path, such as /audio/meeting.wav.
Does it need a GPU?
No. It uses the CPU by default. You can set the device to cuda or mps to use a graphics card or Apple silicon.
Can I use a different model?
Yes. An environment variable sets the model name or a local model path. The default is SenseVoiceSmall.
Is the FunASR MCP server official?
Yes. It is published by the ModelScope organization from the FunASR repository (examples/mcp_server), as the Docker image ghcr.io/modelscope/funasr-mcp. It is a small example server that wraps the FunASR speech recognition library, not the whole FunASR toolkit.
Information
updated Nov 2, 2026
- Publisher
- Official
- Package
ghcr.io/modelscope/funasr-mcp- Registry
- Docker
- Transport
- stdio
- Version
- 0.1.2
- License
- MIT
- Last commit
- Oct 28, 2026
- Open issues
- 46
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 2Hide
- README.md · github.com
- funasr_mcp.py · github.com