mcp克劳德说
仅限macOS -使用本地macOS语音合成和Parakeet MLX进行STT
Claude Code的语音交互MCP服务器。包括文本到语音(TTS)和语音到文本(STT),以获得完整的语音对话体验。
特性
- 语音应答 -克劳德大声说出了自己的回答
- 语音输入 -使用按键通话(PTT)与克劳德通话
- 全对话模式 -完整的语音循环
/conversation - 快速本地STT -使用长尾小鹦鹉MLX(针对苹果硅优化)
- 多语言 -能说并理解多种语言
- 轻量级 -默认情况下使用本地macOS语音合成,没有外部API
TTS后端选项
根据您的需求选择TTS后端:
| 后端 | 质量 | 存储 | 延迟 | 免费层 |
|---|---|---|---|---|
| macOS (默认) | 基本 | 0 | 即时 | 无限制 |
| 谷歌云 | 良好 | 0 | ~0.5s | 1M字符/月 |
| 话匣子 | 优秀 | 11GB | ~0.3s | 无限制 |
选项1:macOS(默认)
无需设置。使用本地 say 命令。语音是机器人的,但在任何地方都能工作。
选项2:Google Cloud TTS(推荐)
声音自然,存储空间为零。
定价层次:
| 级别 | 质量 | 价格 |
|---|---|---|
| Neural2 | 良好 | 免费(1M字符/月) |
| 工作室 | 更好 | 0.16/100万美元字符 |
| 旅程 | 对话 | 每百万字符30美元 |
| Chirp3 HD | 最佳(双子座) | 0.30美元/百万个字符 |
设置:
- 在以下位置创建Google Cloud项目 console.cloud.google.com
- 启用 文本到速度API
- 在处创建API密钥 API和服务>凭据
通过安装程序配置(推荐):
跑 ./install.sh 并在提示时选择“Google Cloud TTS”。安装程序将指导您输入API密钥并选择语音。
或手动配置:
编辑 ~/.mcp-claude-say/.env:
TTS_BACKEND=google
GOOGLE_CLOUD_API_KEY=your-api-key-here
GOOGLE_VOICE=en-US-Neural2-F
GOOGLE_LANGUAGE=en-US然后重新启动Claude Code。
声音示例:
| 语音 | 层级 | 描述 |
|---|---|---|
en-US-Neural2-F | 免费 | 美国女性(默认) |
en-US-Journey-O | 付费 | 美国女性,会话型 |
en-GB-Chirp3-HD-Erinome | 付费 | 英国女性 |
en-GB-Chirp3-HD-Aoede | 付费 | 英国女性 |
en-US-Neural2-D | 免费 | 美国男性 |
看 所有的声音 更多选择。
选项3:聊天盒(局部神经TTS)
最高质量,100%本地运行,但需要11GB的存储空间来存储模型权重。
设置:
# Requires Python 3.11 (Chatterbox doesn't support 3.12+)
python3.11 -m venv ~/.mcp-claude-say/venv-tts
source ~/.mcp-claude-say/venv-tts/bin/activate
pip install chatterbox-tts uvicorn fastapi torchaudio
# Add a voice sample (5-10 seconds of clear speech, 24kHz WAV)
mkdir -p ~/.mcp-claude-say/voices
# Copy your sample to voices/female_voice.wav配置:
export TTS_BACKEND="chatterbox"用途:
Chatterbox服务必须手动启动:
# Start the service (~5-10 sec to load model)
~/.mcp-claude-say/start_tts_service.sh
# Verify it's running
curl http://127.0.0.1:8123/health
# Stop when done (frees ~1.5GB RAM)
~/.mcp-claude-say/stop_tts_service.sh| 因素 | 影响 |
|---|---|
| 存储空间 | 模型重量约11GB |
| RAM | 运行时约1.5GB |
| 首次加载 | 5-10秒 |
如果服务未运行,TTS将回退到macOS say.
单线安装
git clone https://github.com/alamparelli/mcp-claude-say.git && cd mcp-claude-say && ./install.sh或者,如果你已经克隆了仓库:
./install.sh交互式安装程序将指导您完成以下操作:
- STT后端选择 -长尾小鹦鹉MLX或苹果语音分析仪
- TTS后端选择 -macOS说或谷歌云TTS
- 谷歌云设置 (如果选择)-API键和语音选择
安装程序的作用
- 创建Python虚拟环境
- 安装依赖项(MCP、长尾小鹦鹉MLX、音响设备、pynput)
- 创造
~/.mcp-claude-say/.env使用您的TTS配置 - 安装两项技能:
/speak和/conversation - 在Claude Code设置中配置两个MCP服务器
配置文件
安装后,您的TTS设置将存储在 ~/.mcp-claude-say/.env:
# TTS Backend: macos, google
TTS_BACKEND=macos
# Google Cloud TTS settings (only used if TTS_BACKEND=google)
GOOGLE_CLOUD_API_KEY=your-api-key
GOOGLE_VOICE=en-US-Neural2-F
GOOGLE_LANGUAGE=en-US编辑此文件并重新启动Claude Code以更改设置。看 env.template 对于所有选项。
CLI选项
对于脚本/自动安装:
# Install with macOS TTS (default)
./install.sh --parakeet --tts-macos
# Install with Google Cloud TTS
./install.sh --parakeet --tts-google --google-api-key "YOUR_API_KEY"
# TTS only mode (no STT)
./install.sh --tts-only --tts-google用法
安装后,重新启动Claude Code。
语音模式(仅TTS)
/speak克劳德会大声说出自己的回答。
对话模式(TTS+STT)
/conversation全语音循环,自动转弯:
- 按 正确的命令 开始录制
- 说出你的信息
- 发言结束后,录音会自动停止(VAD)
- 克劳德转录并口头回应
- Claude完成后,录制会自动重新开始
- 自然地继续对话!
驳船驶入: 按 正确的命令 随时打断克劳德的话。
说 “会议结束” 结束谈话。
按键通话键
| 密钥 | 描述 |
|---|---|
cmd_r | 右命令(默认,推荐) |
cmd_l+s | 左命令+S |
cmd_r+m | 右命令+M |
alt_l, alt_r | 选项键 |
f13, f14, f15 | 功能键 |
MacBook热键笔记
有些热键在MacBook上工作不好:
| 热键 | 问题 |
|---|---|
alt_l+c | ❌ 生产 ç macOS上的字符 |
f13, f14, f15 | ❌ MacBook没有这些钥匙 |
ctrl_r | ❌ MacBook没有正确的控制权 |
cmd_l+s | ⚠️ 在大多数应用程序中与“保存”冲突 |
cmd_r | ✅ 仅凭正确的指挥-没有冲突,无处不在 |
建议: 使用 cmd_r (右命令)用于MacBook上的PTT。
需求
- macOS (使用本地
say命令+长尾小鹦鹉MLX) - 苹果芯片 建议用于快速STT
- Python 3.9+
- 克劳德代码 命令行界面
MCP服务器
安装程序配置了两个MCP服务器:
克劳德说(TTS)
| 工具 | 说明 |
|---|---|
speak(text, voice?, speed?) | 排队发言 |
speak_and_wait(text, voice?, speed?) | 说话并等待完成 |
stop_speaking() | 停车并清空队列 |
克劳德倾听(STT)
| 工具 | 说明 |
|---|---|
start_ptt_mode(key?) | 启动按键通话模式 |
stop_ptt_mode() | 停止PTT模式 |
get_ptt_status() | 获取当前状态 |
get_segment_transcription() | 获取转录文本 |
文件结构
~/.mcp-claude-say/
├── .env # TTS configuration (TTS_BACKEND, GOOGLE_CLOUD_API_KEY, etc.)
├── mcp_server.py # TTS server
├── listen/ # STT module
│ ├── mcp_server.py # STT server
│ ├── parakeet_transcriber.py
│ └── ptt_controller.py
├── shared/ # Coordination
└── venv/ # Python environment
~/.claude/skills/
├── speak/ # /speak skill
│ └── SKILL.md
└── conversation/ # /conversation skill
└── SKILL.md卸载
./uninstall.sh卸载程序会询问您是否要删除缓存的模型(长尾鹦鹉MLX~2.3GB)。选择“保留型号”以便以后更快地重新安装,或选择“删除所有内容”以释放磁盘空间。
故障排除
没有声音
# Test macOS speech
say "Hello world"STT不工作
# Check Parakeet MLX
~/.mcp-claude-say/venv/bin/python -c "import parakeet_mlx; print('OK')"
# Check audio capture
~/.mcp-claude-say/venv/bin/python -c "import sounddevice; print(sounddevice.query_devices())"未检测到PTT键(特别是在VSCode中)
PTT热键使用 pynput 这需要 可访问权限 在macOS上。如果没有这些权限,键盘侦听器将成功启动,但永远不会收到按键事件。
要修复:
- 打开 系统设置 → 隐私和安全 → 无障碍
- 点击 + 按钮(需要时使用密码解锁)
- 添加您的终端应用程序:
- 对于VSCode: /Applications/Visual Studio Code.app - 对于光标: /Applications/Cursor.app - 对于终端: /Applications/Utilities/Terminal.app - 对于iTerm2: /Applications/iTerm.app
- 启用复选框 应用程序旁边
- 完全重新启动应用程序 (退出并重新打开)
仍然不工作吗?
- 尝试其他热键:
start_ptt_mode("f13")或start_ptt_mode("alt_r") - 检查日志:
tail -f /tmp/claude-listen.log - 验证pynput是否正常工作:在Claude Code之外运行一个简单的pynput测试脚本
注: 某些键可能在没有辅助功能权限的情况下工作(如功能键F13-F15),但修饰键(Cmd、Alt、Ctrl)始终需要权限。
演出
| 度量 | 值 |
|---|---|
| STT速度 | ~60倍实时(长尾小鹦鹉MLX) |
| STT RAM | ~2gb |
| TTS延迟 | \ 注: 当长尾小鹦鹉MLX模型加载到记忆中时,第一次转录很慢(约10-15秒)。随后的转录几乎是即时的。 |
测试环境
| 环境 | 状态 | 注释 |
|---|---|---|
| 终端 (macOS原生) | ✅ 作品 | |
| iTerm2 | ✅ 作品 | |
| 光标 | ⚠️ 应该有效 | 尚未测试 |
| VSCode终端 +克劳德代码CLI | ✅ 作品 | |
| VSCode +克劳德代码GUI扩展 | ❌ 不工作 | 对话模式不稳定 |
需要帮助! 如果你在其他环境中测试mcp-claude,请 打开一个问题 报告你的结果。
更新日志
v0.3.0-语音对话模式(2026年1月)
Kokoro TTS后端 (第9页)
- 新
kokoroTTS后端使用MLX Audio,支持9种语言的54种语音 - 支持英语、西班牙语、法语、意大利语、葡萄牙语、日语、中文、印地语
- 配置为
TTS_BACKEND=kokoro和KOKORO_VOICE=af_heart
无缝对话流程
- VAD自动停止:发言结束后录音会自动停止
- 自动启动:Claude响应后,录制会自动重新开始
- 语音打断:按PTT打断克劳德的话
- 按一下PTT开始,对话自然流畅
v0.2.0-TTS配置(2026年1月)
安装程序改进 (公关#7)
- 交互式TTS后端选择(macOS、Google Cloud、Kokoro)
- 带有API键和语音选择的Google Cloud TTS设置向导
- 通过以下方式进行集中配置
~/.mcp-claude-say/.env - 卸载期间的模型缓存清理选项
许可证
麻省理工学院
______________________________________________________________________
享受你的语音助手吧!
