Voice MCP Demo
使用说明(Markdown 格式)
-
项目简介
- 这是一个基于 Model Context Protocol (MCP) 的服务器实现示例,用于为 LLM 客户端提供语音输入、文本转语音和对话管理能力。核心通过 FastMCP 暴露若干工具函数,客户端可通过 MCP 调用这些工具实现语音识别、固定时长录音、以及日本语 TTS 输出等功能。
-
主要功能点
- 提供三个 MCP 工具:listen、listen_fixed、speak
- listen:从麦克风采集音频并进行语音识别,返回文本
- listen_fixed:按照固定时长进行录音并返回识别文本
- speak:将文本以日本语 TTS 播放给用户
- 结合 Silero VAD、MLX Whisper、Kokoro TTS,实现端到端的语音输入/输出流程
- 使用 Claude Code(或其他 MCP 客户端)进行集成与调用
- 支持对话流程中的提示与返回文本,方便在后续阶段接入对话管理
-
安装步骤
- 克隆仓库并进入目录
- 安装 Python 3.11 及虚拟环境
- 安装依赖:pip install -r requirements.txt
- 下载模型:执行 setup_models.py 下载 Whisper、VAD、Kokoro TTS 等所需模型
- 测试 VAD:运行 test_vad.py 确认音频输入
- 配置 MCP 服务器:在 ~/.mcp.json 中添加 voice 服务条目,指向 voice_mcp.py 的运行命令及参数
- 启动 MCP 服务器:通过 Claude Code 的 MCP 注册或直接在命令行启动脚本
- 在 Claude Code 中注册 MCP 服务:执行 /mcp 查看连接状态,确保 voice 显示为 connected
-
服务器配置(MCP 客户端需要的配置示例,替换为实际路径) { "server_name": "voice", "command": "/path/to/voice-mcp-demo/venv/bin/python", "args": ["/path/to/voice-mcp-demo/voice_mcp.py"] } 注释:请将 /path/to/ 替换为实际的文件系统路径。该配置用于指向已创建的 Python 虚拟环境中的解释器以及 voice_mcp.py 运行入口,MCP 客户端不需要改动。
-
基本使用方法
- 启动后,在 Claude Code 中通过 MCP 注册界面将 voice 服务注册到当前会话
- 调用 listen:开始麦克风语音识别并返回文本
- 调用 speak:将文本以日本语 TTS 播放给用户
- 调用 listen_fixed:按指定时长进行录音并返回识别文本
- 流程示例(简要说明):听到用户语音后,系统会进行识别并返回文本;随后可调用 speak 输出答案,再继续下一轮 listen,形成对话