开发者文档
\n驰声语音评测 MCP · chivox-local-mcp
\n\n\n 大模型(GPT / Claude / Gemini / 通义千问 等)本质上是文字大脑:它擅长读和写,但天生听不到音频、打不开你的数据库、调不通第三方 API。\n
\n\n MCP(Model Context Protocol)是一套由 Anthropic 主导、业界共同推进的开放协议,它像一根\"对讲机\":让大模型可以在需要时主动去调用外部能力(工具、数据源、服务),然后把结果接回来继续对话。\n
\n- \n
- · 研究评测服务的 REST 文档 \n
- · 自己写鉴权 / 上传 / 轮询代码 \n
- · 把结果序列化后塞进 prompt \n
- · 每换一个大模型都得重写一遍 \n
- \n
- · 填一行 MCP Server 地址 \n
- · 大模型自动发现&调用评测工具 \n
- · 换任何支持 MCP 的大模型都能用 \n
- · 不写一行调用代码 \n
\n 想象一个具体场景:一位开发者用 Claude 做了一款 「AI 雅思口语陪练」小程序,接入驰声语音评测 MCP。当用户发来一段录音,整个链路是这样的:\n
\n配置阶段(开发者 · 一次性)
\n在 AI 后端的配置文件里填一行驰声 MCP Server 地址。大模型启动时自动发现:「我多了一个叫语音评测的工具」。
\n接收用户指令(终端用户)
\n小程序用户发来一段自我介绍录音:「帮我听听,发音哪里有问题?」后端把「文字 + 录音链接」打包给大模型。
\n大模型自主思考(LLM · 最核心的魔法)
\n\n 「但我只是文字大脑,我听不到。」
\n 「等等 —— 开发者给了我一个叫
chivox_voice_eval 的 MCP 工具!」\n MCP 协议 · 自动调用(LLM → 驰声)
\n大模型自动按 MCP 标准构造 tools/call 请求,把录音链接和参考文本发到驰声服务。开发者不需要写任何调用代码。
驰声服务处理(评测引擎)
\n驰声对音频进行考试级打分,把结构化结果通过 MCP 原路返回:overall 85、/θ/ 音发音错误、流利度 88。
大模型整合并输出反馈(LLM)
\n大模型把冷冰冰的分数翻译成温柔反馈:
\n听起来复杂,但对开发者来说只需要两件事:
\n\n 在 AI 后端的配置里填入驰声 MCP Server 地址和 API Key,就这一次,以后新加评测能力完全免开发。\n
\n\n 告诉大模型这个工具是做什么的、什么时候调用、结果怎么转成用户友好的反馈。\n
\n\n 其余所有事情 —— 音频上传、鉴权、工具发现、调用时机、返回格式、结果整合 —— 都由 MCP 协议和大模型自己搞定。\n
\n根据你的技术栈,有三种等价的接入方式,底层都走完全相同的 MCP 协议:
\n\n {/* ── 姿势一:可视化 ── */}\n姿势一 · 可视化拖拽(扣子 / Coze / 飞书智能助手)
\n\n 适合产品经理、运营、不写后端代码的开发者。整个过程像在手机上装 App。\n
\n- \n
- 找到入口:在扣子平台的 「插件 / 工具」 配置区,点击「添加 MCP 服务」。 \n
- 填两个字段(这也是你未来会从驰声这边拿到的):\n \n\n
\n \n
\n \n服务器地址 https://speech-eval.site/mcp \n \n鉴权密钥 sk-•••••••••• (由驰声分配,用于计费与识别) \n - 平台自动发现能力:扣子会访问你填的地址,读取 MCP Server 自描述的\"说明书\"。瞬间明白:「这是个语音评测工具,需要传音频,会返发音分」。 \n
- 右侧测试:在平台的聊天框里发一段语音,大模型就会自动调用工具。整个过程不需要写一行代码。 \n
姿势二 · 代码框架配置(Dify / LangChain / 自研后端)
\n\n 适合做独立 APP / 小程序、用 Dify 或 LangChain 写 Agent 的极客开发者。核心就是往配置文件里加一段 JSON。\n
\n- \n
- 打开配置文件(项目根目录下的
mcp.json或框架指定的配置路径)。 \n - 在
mcpServers下增加一个节点:\n{`{\n \"mcpServers\": {\n \"chivox_voice_eval\": {\n \"type\": \"streamable-http\",\n \"url\": \"https://speech-eval.site/mcp\",\n \"env\": {\n \"API_KEY\": \"你的专属密钥\"\n }\n }\n }\n}`} \n \n - 重启后端服务。大模型的底层调度器会在启动时自动连上驰声 MCP Server,把 16 种评测工具注册成随时待命的 tools。 \n
- 触发调用:用户发来录音后,大模型看到 system prompt 的引导,自动选择合适的工具(单词/句子/段落/半开放)调用。 \n
姿势三 · 原生 Function Calling(豆包 / DeepSeek / OpenAI 兼容 API)
\n\n 适合不用任何 Agent 框架、直接调用 LLM API 的后端开发者。豆包 1.5+ / DeepSeek / GPT / Qwen 等模型都走标准 chat.completions 的 tools 参数。这里又分 A / B 两种做法,B 才是生产推荐。\n
\n — 姿势一 / 二不用(Coze、Dify、火山方舟控制台、Claude Desktop 会自动从 MCP Server 拉工具列表)。
\n — 姿势三看你选 A 还是 B:A 要手写,B 用 MCP 客户端库自动拉。\n
3-A · 手写 tool schema(最快验证,不推荐生产)
\n 快速 Demo\n\n 自己写一段 JSON Schema 告诉豆包\"有个工具叫 xxx,参数长这样\",豆包返回 tool_call 后你再手动去调驰声 MCP。缺点:驰声有 16 个评测工具,你每加一个题型都要改代码。\n
\n\n 3-B · 用 MCP 客户端库自动发现
\n 启动时连上驰声 MCP Server,调一次 tools/list,把 16 个评测工具自动转成 Function Calling 的 tools 格式。驰声加新工具,你代码不用改。这才是 MCP 协议的真正价值。\n
\n 想要更省心?直接用 官方 mcp python sdk、mcp-use、openai-agents,或火山官方 Arkitect 高代码 SDK,它们都把上面这段\"MCP → Function Calling\"的桥接封装好了。\n
mcp.json);后端生产服务用姿势三-B(MCP 客户端库自动发现工具,不要手写 tool schema)。\n chivox-local-mcp 是驰声语音评测的 MCP 本地代理,通过 Model Context Protocol 将远程驰声评测服务桥接到本地,让 AI 助手(Claude Desktop、Claude Code、Cursor 等)直接调用语音评测能力。
\n它支持两种评测模式,覆盖从即时交互到批量处理的全部场景:
\n通过麦克风边录边评,音频以 WebSocket 流式推送,无需生成中间文件,延迟更低、体验更佳。
\n支持本地文件路径、Base64 编码、URL 三种输入,适合已有音频的批量评测场景。
\n| 依赖 | \n版本 | \n说明 | \n
|---|---|---|
| Node.js | {'>'}= 18 | 运行时必须 |
| SoX | any | 仅实时录音功能需要(处理麦克风音频流) |
安装 SoX(仅在使用实时录音时需要):
\n方式一:npm 全局安装(推荐)
\n方式二:npx 免安装运行
\n方式三:从源码构建
\n- \n
- 不用写代码、不用装 SDK,只在客户端的「MCP 配置」或「扩展」里填一段 JSON / URL \n
- 保存后 LLM 自动发现 16 个评测工具,并在对话 / Agent 中自主调用 \n
- 覆盖 IDE 编程助手、桌面 AI 客户端、企业 AI 工作台、可视化 Bot / 工作流平台四大生态 \n
- \n
- 打开 Cursor 设置(Cmd + ,) \n
- 左侧选择 MCP(或搜索 "MCP") \n
- 点击 Add new MCP server \n
- 填写配置并保存: \n
编辑配置文件(macOS:~/Library/Application Support/Claude/claude_desktop_config.json):
如果是从源码构建:
\n除了 Cursor 和 Claude Code,主流的 AI 编程 IDE 都原生支持 MCP。以下客户端使用完全一致的 Streamable HTTP 配置,区别只在配置入口:
\n| 客户端 | \n配置入口 | \n备注 | \n
|---|---|---|
| Windsurf (Codeium) | Settings → Cascade → MCP Servers | 直接贴下方 JSON |
| Zed | ~/.config/zed/settings.json 的 context_servers | Assistant Panel 自动发现 |
| Continue (VS Code / JetBrains) | config.yaml 的 mcpServers | v0.9+ 支持 |
| 通义灵码 / CodeGeeX / 文心快码 | 插件设置 → MCP 服务 | 2026 Q1 起陆续支持 |
| Cline (原 Claude Dev) | MCP Servers 面板 → 编辑配置 | VS Code 扩展 |
扣子(Coze)是字节跳动推出的 AI 应用开发平台,支持通过 MCP 扩展为 Agent 赋予外部工具能力。接入驰声语音评测后,你可以构建口语练习 Bot、发音诊断助手等应用。
\n方式一:扣子空间 MCP 扩展(推荐)
\n- \n
- 打开 扣子空间(space.coze.cn) \n
- 在对话框下方点击 「添加扩展」 \n
- 选择 「自定义」 标签,点击添加新的 MCP 服务 \n
- 填入以下配置信息: \n
| 配置项 | \n值 | \n
|---|---|
| 名称 | chivox-speech-eval |
| 传输类型 | streamable-http |
| URL | https://speech-eval.site/mcp |
- \n
- 保存后,在对话中输入 「帮我评测这段英文发音」 即可触发 Agent 调用 \n
方式二:在 Coze 开发平台的 Bot 中使用
\n- \n
- 进入 Coze 开发平台,创建或编辑 Bot \n
- 在 Bot 的 「插件」 或 「工具」 面板中,添加 MCP 工具 \n
- 选择 Streamable HTTP 类型,填入 URL:
https://speech-eval.site/mcp\n - Bot 将自动发现所有可用的评测工具(如
evaluate_english_word等) \n - 在 Bot 的人设提示词中,添加语音评测相关的引导语 \n
如果你需要在 Coze 工作流中集成语音评测能力,可以通过 HTTP Request 节点调用评测 API:
\n\n步骤 1:上传音频
\n在工作流中添加一个 HTTP Request 节点,配置如下:
\n| 配置项 | \n值 | \n
|---|---|
| 方法 | POST |
| URL | https://speech-eval.site/upload |
| Content-Type | audio/mp3 |
| Body | 音频文件二进制数据 |
响应中获取 {'{{audioId}}'},传递给下一步。
步骤 2:调用评测
\n添加第二个 HTTP Request 节点,通过 MCP 接口调用评测工具:
\n步骤 3:处理结果
\n评测结果通过 JSON 格式返回,可使用 Coze 的 代码节点 或 LLM 节点 对结果进行解析和二次处理(如生成学习建议、计算进步趋势等)。
\n\n完整工作流示意
\n这一类是面向「上班族」的企业 / 日常 AI 助手,产品形态是个聊天框 + 插件市场 / 扩展面板。接入后,员工在 App 里打字「帮我评一下这段录音」就能自动触发驰声评测,不用写任何代码。
\n\n字节跳动官方 AI 助手,2026 年起桌面版支持 MCP 扩展。
\n- \n
- 桌面版设置 → 「智能体扩展」 → 添加 MCP 服务 \n
- 类型选
streamable-http,URL 填https://speech-eval.site/mcp\n - 对话中直接说「帮我评测」即可自动调用 \n
飞书企业 AI,支持以 MCP / Function Calling 挂载外部工具给团队 Bot。
\n- \n
- 飞书开发者后台 → 创建应用 → 「AI 能力 / 智能伙伴」 \n
- 在「工具」中选 外部 MCP 服务,填入上方 URL \n
- 把智能伙伴拉进群聊,@ 它提交音频即可评测 \n
字节 WorkBuddy、腾讯会议 AI、企业微信智能助手等企业 AI 工作台场景。
\n- \n
- 在工作台的「技能 / 扩展」后台新增一个 MCP 连接器 \n
- 传输协议选 Streamable HTTP,地址填
https://speech-eval.site/mcp\n - 把技能发布到指定部门 / 群组,HR、培训、销售口语陪练场景即可直接用 \n
阿里生态:钉钉 AI 助理支持自定义插件,通义 App 可通过「AI 工具箱」挂载 MCP。
\n- \n
- 钉钉开发者后台 → AI 助理 → 「插件开发 / MCP 接入」 \n
- 选 HTTP Streamable,填入驰声 MCP URL 并开启鉴权(可选) \n
- 在钉钉群 @AI 助理上传音频,自动返回评测卡片 \n
如果你需要把语音评测编排进多步业务流(例如:学员录音 → 评测 → 生成错题集 → 推送到 CRM),可视化工作流平台比聊天 Bot 更合适。
\n\nDify
\n开源 LLMOps,v0.15+ 原生 MCP 工具。
\n- \n
- 「工具」→「自定义 MCP」→ 填 URL \n
- 在 Chatflow / Workflow 节点里直接拖用 \n
n8n
\n工作流自动化,用 MCP Client 节点。
- \n
- 添加 MCP Client 节点 \n
- Transport 选 HTTP Stream,URL 贴驰声地址 \n
- Tool 下拉自动列出 16 个评测能力 \n
Flowise / LangFlow
\n可视化 LangChain Agent 编排。
\n- \n
- 拖出 MCP Tool 节点 \n
- 连到 AgentExecutor 即可 \n
任何遵循 MCP 协议的客户端都可以接入,统一使用以下配置:
\n| 配置项 | \n值 | \n
|---|---|
| 传输类型 | streamable-http |
| URL | https://speech-eval.site/mcp |
| 鉴权(可选) | Header:Authorization: Bearer <MCP_API_KEY> |
还没找到你用的客户端?任何支持 Model Context Protocol 的终端都通用。找不到入口?下一小节「编程用 MCP」里用 SDK 直接接即可。
\n- \n
- 你在写一段真正的后端服务:一个 Agent Worker、一个 API、一个自动化脚本 \n
- 业务里的「语音评测」是其中一个步骤,需要由代码 决定何时调用、如何解析结果 \n
- 三种主流写法:① 官方 MCP 客户端库 → ② Agent 框架自动桥接 → ③ 退化到 chat.completions + tools 参数 \n
💡 强烈推荐①或②:驰声有 16 个评测工具,让 MCP 自动注入 tool schema,每新增一个题型不用改一行业务代码。
\n最底层、也最推荐的方式。由 Anthropic 官方维护,一次连接自动拿到全部工具的 JSON Schema,然后交给任意 LLM。
\n\nPython:mcp
TypeScript / Node.js:@modelcontextprotocol/sdk
如果项目已经在用 Agent 框架,几行 adapter 就能把驰声 MCP 塞进去,框架本身会接管 tool-calling 循环、重试、日志。
\n\nLangChain / LangGraph(Python)
\nMastra(TypeScript)
\nOpenAI Agents SDK(Python)
\nLlamaIndex / AutoGen / CrewAI
\n这些框架都有官方或社区 MCP adapter,用法与上述类似:
\n- \n
- LlamaIndex:
llama-index-tools-mcp\n - AutoGen:
autogen-ext[mcp]\n - CrewAI:
crewai-tools的 MCPServerAdapter \n - Spring AI(Java):
spring-ai-mcp-client\n
当你用的 LLM SDK 还没有原生 MCP 支持(比如老版本的火山方舟 / 百度千帆 / 通义 DashScope),退化方案是:用 MCP 客户端一次性拉到 tool schema,然后按 OpenAI Function Calling 格式喂给 LLM。
\nlist_tools() 动态拿。大部分落地场景其实是:你已有一个业务后端(教育 SaaS / 培训系统 / 客服平台),只需要新增一个「语音评测」能力。推荐架构:
\n\nFastAPI 示例(生产最小骨架)
\n方案选型速查
\n| 场景 | \n推荐方案 | \n
|---|---|
| AI 对话 / Copilot 类产品,LLM 供应商可能会换 | ① 官方 MCP 客户端库 |
| 已有 LangChain / Mastra / Agents SDK 技术栈 | ② Agent 框架 + adapter |
| 火山方舟 / 千帆控制台直连,最小侵入 | ③ chat.completions + tools |
| 教育 SaaS / 培训 / 客服等业务后端集成 | ④ 自研后端 Agent |
通过本地麦克风实时录音,音频以 WebSocket 流式推送到评测服务,无需生成中间文件。这是最灵活、延迟最低的评测方式,特别适合交互式口语练习场景。
\n需要按顺序调用三个工具:
\n\ncreate_stream_session — 创建流式评测会话
返回 session_id,后续步骤需使用。
start_recording — 开始麦克风录音
调用后自动启动麦克风,音频通过 WebSocket 实时推送到评测服务。
\nstop_recording — 停止录音并获取结果
用户:"请评测我的英文发音,文本是 Hello"
\nAI 调用 create_stream_session(core_type="en.word.score", ref_text="Hello")
→ 获得 session_id
AI 调用 start_recording(session_id=xxx)
麦克风开始录音,音频通过 WebSocket 实时推送到评测服务
\n用户说完后告知 AI "结束"
\nAI 调用 stop_recording(session_id=xxx)
→ 返回评测结果(总分、准确度、流利度、音素得分等)
\n适用于已有音频文件的评测场景,支持三种输入方式:
\n| 参数 | \n说明 | \n适用场景 | \n
|---|---|---|
| audio_file_path | 本地文件路径 | 代理自动读取并转为 Base64,最便捷 |
| audio_base64 | Base64 编码数据 | 已有编码数据时使用 |
| audio_url | 音频文件 URL | 音频托管在云存储时使用 |
audio_file_path,只需传入本地文件路径,代理会自动处理编码和上传。支持的音频格式:mp3, wav, ogg, m4a, aac, pcm
\n限制:单文件最大 50MB,大于 500KB 的文件自动压缩为 16kHz / 单声道 / 32kbps。
\n通用参数:所有英文评测工具均支持以下参数。
\n通用参数:
\n所有评测工具返回统一的结构化结果:
\n| 字段 | \n范围 | \n说明 | \n
|---|---|---|
| {field} | \n{range} | \n{desc} | \n
| 场景 | \n原因 | \n解决方式 | \n
|---|---|---|
| {scene} | \n{reason} | \n{fix} | \n
AI 客户端
\nClaude Desktop
Claude Code
Cursor
⇄
\nstdio
\nchivox-local-mcp
\n本地代理
SoX 录音
⇄
\nHTTP / WS
\nRemote Chivox
\nMCP Server
评测引擎
- \n
- \n \n stdio — AI 客户端通过标准输入输出与本地代理通信,这是 MCP 的标准传输方式\n \n
- \n \n HTTP — 音频文件评测工具通过 HTTP 代理到远程服务,适用于非流式场景\n \n
- \n \n WebSocket — 实时录音音频通过 WebSocket 流式推送,支持断线自动重连\n \n
以下模板帮助你引导 LLM 对评测结果进行深度分析:
\n- \n
- 音频过期:上传后 5 分钟内有效。建议在上传后 3 分钟内完成评测。 \n
- 服务繁忙:使用指数退避策略重试(1s → 2s → 4s),最多 3 次。 \n
- 录音中断:WebSocket 断线后代理会自动重连。如持续失败,检查网络连接和 SoX 安装。 \n
- \n
- 优先使用流式评测:实时录音模式跳过了文件上传环节,端到端延迟比文件评测低 30-50%。 \n
- 音频压缩:文件评测时,上传前将音频转为 16kHz 单声道 mp3,可减少 60-80% 的上传体积。 \n
- 选择合适的工具:单词评测比段落评测快 3-5 倍。如只需单词级分数,不要用句子评测。 \n
- 本地文件路径最便捷:使用
audio_file_path参数传入本地路径,代理自动处理编码,无需手动转 Base64。 \n
| 端点 | \n方法 | \n说明 | \n
|---|---|---|
| /upload | POST | 音频文件上传 |
| /mcp | POST | MCP JSON-RPC 接口(Streamable HTTP) |
| /health | GET | 健康检查 |
| 配置项 | \n默认值 | \n说明 | \n
|---|---|---|
| {k} | {v} | {d} |