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 客户端)进行集成与调用
    • 支持对话流程中的提示与返回文本,方便在后续阶段接入对话管理
  • 安装步骤

    1. 克隆仓库并进入目录
    2. 安装 Python 3.11 及虚拟环境
    3. 安装依赖:pip install -r requirements.txt
    4. 下载模型:执行 setup_models.py 下载 Whisper、VAD、Kokoro TTS 等所需模型
    5. 测试 VAD:运行 test_vad.py 确认音频输入
    6. 配置 MCP 服务器:在 ~/.mcp.json 中添加 voice 服务条目,指向 voice_mcp.py 的运行命令及参数
    7. 启动 MCP 服务器:通过 Claude Code 的 MCP 注册或直接在命令行启动脚本
    8. 在 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,形成对话

服务器信息