音频服务器

一个基于模型上下文协议(MCP)的服务器,提供文本转语音和音频播放功能,适用于Claude Desktop及其他MCP客户端。

  • by BatchLion
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 BatchLion/mcp-audio-server

使用说明

MCP音频服务器🔊

英语 | 中文

一个强大的模型上下文协议(MCP)服务器,为Claude Desktop和其他MCP客户端提供文本到语音和音频播放功能。

✨ 特性

  • 🗣️ 高品质TTS:
    • 智能语言检测:对于高质量的中文语音,自动使用谷歌的TTS,对于其他语言,则回退到系统的TTS。
    • 语音选择:对于非中文文本,请列出并从各种系统安装的语音中进行选择。
    • 可定制的语音:调整速率和音量,以获得量身定制的聆听体验。
  • 🎵 音频文件播放:播放各种音频格式(WAV、MP3、OGG等)。
  • ⏹️ 音频控制:停止播放并获取实时音频状态。
  • 🔌 符合MCP标准:完全兼容克劳德桌面和MCP规范2024-11-05。
  • 🛡️ 错误处理:强大的错误处理和验证。
  • 📊 状态监测:实时音频系统状态和播放信息。

🚀 快速开始

先决条件

  • Python 3.8+
  • Claude Desktop(用于MCP集成)
  • 系统音频功能

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/mcp-audio-server.git
cd mcp-audio-server
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置Claude桌面: 添加到您的 claude_desktop_config.json:
{
  "mcpServers": {
    "audio-server": {
      "command": "/path/to/your/python",
      "args": ["/path/to/mcp-audio-server/audio_server.py"]
    }
  }
}
  1. 重新启动克劳德桌面 并开始使用音频功能!

🛠️ 可用工具

工具 说明 参数
speak_text 将文本转换为语音。自动使用谷歌中文TTS。 text (必填), rate (可选), volume (可选), voice_id (非中国人可选)
list_voices 列出非中文语言的可用TTS语音。 无
play_audio_file 播放音频文件。 file_path (必填), volume (可选)
stop_audio 停止当前音频播放。 无
get_audio_status 获取音响系统状态。 无

📖 使用示例

文本转语音(中文)

"请用语音说出 '你好,世界'"

这将自动使用谷歌TTS来获得自然的声音。

文本转语音(英语,特定语音)

  1. 首先,列出可用的声音:
    "List all available voices"
    
  2. 然后,使用列表中的特定语音ID:
    "Use the voice with ID 'com.apple.speech.synthesis.voice.daniel' to say 'Hello, this is a test.'"
    

播放音频文件

"Play the audio file at /path/to/music.mp3"

停止音频

"Stop the current audio playback"

检查状态

"What's the current audio status?"

🧪 测试

运行综合测试套件:

# Test all MCP methods
python test_all_mcp_methods.py

# Test Claude Desktop format compatibility
python test_claude_desktop_format.py

# Test audio functionality
python test_audio_server.py

# Interactive testing mode
python audio_server.py --interactive

📁 项目结构

mcp-audio-server/
├── audio_server.py              # Main MCP server
├── requirements.txt             # Python dependencies
├── README.md                   # English documentation (default)
├── README_CN.md                # Chinese documentation
├── .gitignore                  # Git ignore rules
├── tests/                      # Test files
│   ├── test_*.py               # Various tests
│   └── validate_*.py           # Validation scripts
├── examples/                   # Configuration examples
│   ├── claude_desktop_config.json
│   └── other config files
├── scripts/                    # Utility scripts
│   ├── install_and_setup.sh
│   └── other shell scripts
└── docs/                       # Additional documentation
    ├── INTEGRATION_GUIDE.md    # Integration guide
    ├── USAGE_GUIDE.md          # Usage guide
    └── FINAL_INTEGRATION_REPORT.md

🔧 配置

Claude桌面配置

服务器与Claude Desktop无缝集成。确保您的配置文件设置正确:

地点:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

配置示例:

{
  "mcpServers": {
    "audio-server": {
      "command": "/Users/yourusername/miniconda3/envs/mcp_agent/bin/python",
      "args": ["/path/to/mcp-audio-server/audio_server.py"]
    }
  }
}

🐛 故障排除

常见问题

  1. 音频未播放:检查系统音频设置和权限
  2. TTS不工作:确保pyttsx3安装正确
  3. MCP连接问题:验证Claude Desktop配置路径
  4. 权限错误:检查音频文件的文件权限

调试模式

以交互模式运行进行调试:

python audio_server.py --interactive

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加新功能的测试
  5. 提交拉取请求

📄 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🙏 致谢

  • 使用模型上下文协议(MCP)构建
  • 使用pyttsx3进行文本到语音转换
  • 使用pygame进行音频播放
  • 与Claude Desktop兼容

📞 支持

如果您遇到任何问题或有疑问:

  1. 检查故障排除部分
  2. 查看集成指南
  3. 在GitHub上打开一个问题
  4. 查看Claude Desktop文档

由以下材料制成❤️ 对于MCP社区