tldraw
Draw and visually collaborate with your agents on tldraw's canvas.
TLtldraw/tldraw51k105 new stars in the last 7 days
Transcribe local audio with FunASR and SenseVoice using private, on-device inference.
Model Context Protocol server that gives AI assistants local audio transcription with SenseVoiceSmall by default.
pip install funasr
The Dockerfile starts the MCP server over stdio and is suitable for MCP directory
checks that initialize the server and call tools/list.
docker build -t funasr-mcp examples/mcp_server
docker run --rm -i \
-e FUNASR_DEVICE=cpu \
--mount type=bind,src=/path/to/audio,dst=/audio,readonly \
--mount type=volume,src=funasr-mcp-cache,dst=/root/.cache/modelscope \
funasr-mcp
Verify the image entrypoint and MCP handshake without downloading a model:
python examples/mcp_server/smoke_test.py funasr-mcp
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.
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:
LABEL io.modelcontextprotocol.server.name="io.github.modelscope/funasr-mcp"
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:
version and the OCI image tag in server.json together.modelscope organization Owner push the matching mcp-v<version>
tag, for example mcp-v0.1.2.mcp-registry-publish environment 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:
docker run --rm -i \
--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
When using the container, pass tool paths under /audio, such as
/audio/meeting.wav.
Use these values when adding the server at https://glama.ai/mcp/servers:
| Field | Value |
|---|---|
| Repository URL | https://github.com/modelscope/FunASR |
| Docker build context | examples/mcp_server |
| Dockerfile path | examples/mcp_server/Dockerfile |
| Server command | python /app/funasr_mcp.py |
| Expected MCP tool | transcribe_audio |
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:
[](https://glama.ai/mcp/servers/modelscope/FunASR)
If the badge endpoint still returns 404, keep the badge out of external directory submissions until the Glama listing is live.
The FunASR MCP server is published in the official Registry and listed on mcp.so:
Claude Code (~/.claude.json):
{
"mcpServers": {
"funasr": {
"command": "python",
"args": ["/path/to/examples/mcp_server/funasr_mcp.py"],
"env": {"FUNASR_DEVICE": "cuda"}
}
}
}
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"funasr": {
"command": "python",
"args": ["/path/to/funasr_mcp.py"],
"env": {"FUNASR_DEVICE": "cpu"}
}
}
}
Cursor (Settings → MCP Servers → Add):
python /path/to/funasr_mcp.pyFUNASR_DEVICE=cudatranscribe_audioTranscribe a speech audio file to text.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
audio_path | string | Yes | Path to audio file (wav, mp3, flac, m4a, ogg) |
language | string | No | auto, zh, yue, en, ja, or ko (default: auto) |
Returns: Transcribed text with per-segment timestamps when the model returns them.
Once configured, ask your AI assistant:
| Variable | Default | Description |
|---|---|---|
FUNASR_DEVICE | cpu | Device: cuda, cpu, or mps |
FUNASR_MODEL | iic/SenseVoiceSmall | Model name or local model path passed to AutoModel |
auto, zh, yue, en, ja, and ko| Tool | Status |
|---|---|
| Claude Code | ✅ Tested |
| Claude Desktop | ✅ Compatible |
| Cursor | ✅ Compatible |
| Windsurf | ✅ Compatible |
| Any MCP client | ✅ Standard protocol |
Draw and visually collaborate with your agents on tldraw's canvas.
TLtldraw/tldraw51k105 new stars in the last 7 days
Let your agent model, build and edit 3D scenes in Blender.
AHahujasid/mcp-for-blender30k489 new stars in the last 7 days
Search your local screen recordings, audio transcripts, and computer activity from screenpipe.
SCscreenpipe/screenpipe22k99 new stars in the last 7 days
Manage assets, control scenes, edit scripts and run tests in the Unity Editor.
COCoplayDev/unity-mcp15k154 new stars in the last 7 days
AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.
IVIvanMurzak/Unity-MCP4.4k37 new stars in the last 7 days
Control DaVinci Resolve Studio through its scripting API: editing, grading, rendering and media.
SAsamuelgursky/davinci-resolve-mcp3.5k114 new stars in the last 7 days