语音状态报告 MCP 服务器是一个基于 模型上下文协议 (MCP) 的服务器,借助 OpenAI 的文本到语音 API 实现语音状态更新功能。它能让语言模型通过简短的语音消息与用户沟通,如报告任务进度、确认命令执行情况等。在与 Cursor 或 Claude 代码搭配使用时,你可以给代理分配任务后去做其他事,同时还能收到代理的进度更新以及任务完成后的通知。
你需要一个 OpenAI API 密钥才能使用此服务器。
更新你的 claude_desktop_config.json(位于 ~/Library/Application\ Support/Claude/claude_desktop_config.json (macOS)和 %APPDATA%/Claude/claude_desktop_config.json (Windows))以包含以下内容:
{
"mcpServers": {
"voice-status-report": {
"command": "uvx",
"args": [
"voice-status-report-mcp-server"
],
"env": {
"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"
}
}
}
}
该服务器暴露了以下工具:
summarize(text: str):使用 OpenAI 的 TTS API 将提供的文本转换为语音并播放给用户。这对于提供状态更新或确认命令执行后很有用。将 voice-status-report 目录添加到你的 Python 路径中,例如:
export PYTHONPATH="${PYTHONPATH}:/path/to/voice-status-report"
编辑或创建 ~/.config/claude/claude_desktop_config.json 文件,添加以下内容以启用语音报告:
{
"mcpServers": {
"voice-status-report": {
"command": "python3",
"args": [
"-m",
"voice_status_report_mcp_server"
],
"env": {
"OPENAI_API_KEY": "your_api_key_here"
}
}
}
}
在分配任务后使用:
from voice_status_report import summarize
summarize("正在处理你的请求...")
在完成任务后通知用户:
from voice_status_report import summarize
summarize("任务已完成!请查看结果。")
该服务器接受以下命令行选项:
--ding:启用每次语音消息前的提示音。默认为禁用。--api-key:指定 OpenAI API 密钥。默认从环境变量 OPENAI_API_KEY 获取。--volume:设置播放声音的音量(0 到 1 之间)。默认为 1.0。# 使用默认设置运行服务器
python3 -m voice_status_report_mcp_server
# 以较低的音量运行服务器
python3 -m voice_status_report_mcp_server --volume 0.5
# 设置自定义 API 密钥
python3 -m voice_status_report_mcp_server --api-key your_api_key_here
本项目以 MIT 许可证发布,详细信息见 LICENSE 文件。