mcpField
F
FunASR

FunASR

本地服务
github.com媒体与设计20.9k今天更新

关于 FunASR

FunASR MCP 服务基于 FunASR 与 SenseVoiceSmall 模型,为 AI 助手提供本地语音转写能力。音频在本机处理,无需 API 密钥,适合希望保护录音隐私的用户。

主要功能

  1. 01支持中文、粤语、英语、日语、韩语识别
  2. 02可自动检测语言或手动指定语言
  3. 03VAD 分段处理较长音频
  4. 04模型返回时附带分段时间戳
  5. 05可通过环境变量选择模型与 CPU、CUDA、MPS 设备

适用场景

  1. 01将会议录音转写为文字
  2. 02把访谈或语音备忘录转换为文本
  3. 03让 AI 助手直接读取本地音频文件内容

MCP 相关

该服务通过 stdio 运行,向 MCP 客户端暴露 transcribe_audio 工具,接收音频路径并返回转写文本。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"modelscope-funasr": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/modelscope/funasr-mcp:0.1.2"
]
}
}
}
启动命令docker run -i --rm ghcr.io/modelscope/funasr-mcp:0.1.2

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/modelscope/funasr-mcp:0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

FunASR MCP 服务

Model Context Protocol 服务,为 AI 助手提供本地音频转写功能,默认使用 SenseVoiceSmall。

设置

1. 安装依赖
pip install funasr
2. 可选:使用 Docker 运行

Dockerfile 会通过 stdio 启动 MCP 服务,适用于会初始化服务并调用 tools/list 的 MCP 目录检查。

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

无需下载模型,即可验证镜像入口和 MCP 握手:

python examples/mcp_server/smoke_test.py funasr-mcp

向 Glama 等 MCP 目录提交此服务时,请将此文件夹用作 Docker 构建上下文,以便容器入口运行 funasr_mcp.py。 仓库根目录中的 glama.json 声明了 Glama 的 GitHub 维护者所有权,而此目录中的 glama.json 文件则为目录扫描器声明容器命令和元数据。

官方 MCP Registry

带版本的 Registry 元数据位于 server.json 中。该文件指向公开的 GHCR 镜像,并要求客户端将一个主机音频目录以只读方式挂载到 /audio。Dockerfile 包含相应的 OCI 所有权标签:

当前已发布版本:

LABEL io.modelcontextprotocol.server.name="io.github.modelscope/funasr-mcp"

发布工作流会根据官方架构验证元数据、构建镜像、执行 MCP initialize 和 tools/list 握手、将带版本号的镜像推送到 GHCR,并通过官方 mcp-publisher CLI 发布 server.json。

要发布新的 MCP 服务版本:

  1. 同时更新 server.json 中的 version 和 OCI 镜像标签。
  2. MCP 验证工作流通过后,合并此更改。
  3. 由 modelscope 组织的 Owner 推送匹配的 mcp-v<version> 标签,例如 mcp-v0.1.2。
  4. 批准受保护的 mcp-registry-publish 环境部署。

官方 Registry 只向 GitHub 组织 Owner 授予 io.github.modelscope/* 命名空间。请将发布环境限制为发布标签,并要求维护者审批,因为其 OIDC 令牌可以发布组织命名空间。

发布后,客户端可以直接运行固定版本的镜像:

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

使用容器时,请传入 /audio 下的工具路径,例如 /audio/meeting.wav。

Glama 提交检查清单

在 https://glama.ai/mcp/servers 添加服务时,请使用以下值:

字段值
仓库 URLhttps://github.com/modelscope/FunASR
Docker 构建上下文examples/mcp_server
Dockerfile 路径examples/mcp_server/Dockerfile
服务命令python /app/funasr_mcp.py
预期的 MCP 工具transcribe_audio

Glama 完成评估后,请确认列表或 API 显示了已评估的质量评分,再将其添加到目录 PR 中。列表或徽章端点返回 HTTP 200 本身并不能证明已分配评分:

[![modelscope/FunASR MCP server](https://glama.ai/mcp/servers/modelscope/FunASR/badges/score.svg)](https://glama.ai/mcp/servers/modelscope/FunASR)

如果徽章端点仍返回 404,请勿在 Glama 列表上线前将徽章用于外部目录提交。

目录列表

FunASR MCP 服务已在官方 Registry 发布,并列于 mcp.so:

3. 配置 AI 工具

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(设置 → MCP Servers → 添加):

  • 命令:python /path/to/funasr_mcp.py
  • 环境:FUNASR_DEVICE=cuda

工具

transcribe_audio

将语音音频文件转录为文本。

参数:

名称类型必填描述
audio_path字符串是音频文件路径(wav、mp3、flac、m4a、ogg)
language字符串否auto、zh、yue、en、ja 或 ko(默认值:auto)

返回: 转录后的文本;模型返回时间戳时,还会包含各片段的时间戳。

使用示例

配置完成后,向 AI 助手提出请求:

  • “转录 ~/Downloads/meeting.wav 中的会议录音”
  • “这个音频文件里说了什么?/path/to/interview.mp3”
  • “将这段语音备忘录转换为文本:~/voice_note.m4a”

环境变量

变量默认值描述
FUNASR_DEVICEcpu设备:cuda、cpu 或 mps
FUNASR_MODELiic/SenseVoiceSmall传递给 AutoModel 的模型名称或本地模型路径

功能

  • 支持五种语言转录 — 普通话、粤语、英语、日语和韩语
  • 自动检测或指定语言 — auto、zh、yue、en、ja 和 ko
  • VAD 分段 — 在识别前拆分较长的音频
  • 可选的片段时间戳 — 仅在配置的模型返回时间戳时包含
  • 可配置的本地推理 — 通过环境变量选择模型以及 CPU、CUDA 或 MPS
  • 无需 API 密钥 — 完全在本地推理
  • MIT 许可,注重隐私(音频不会离开你的设备)

已验证的兼容性

工具状态
Claude Code✅ 已测试
Claude Desktop✅ 兼容
Cursor✅ 兼容
Windsurf✅ 兼容
任何 MCP 客户端✅ 标准协议

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。