音频反馈工具

一个基于模型上下文协议(MCP)的Python实现,为Cursor AI和其他MCP兼容环境提供音频反馈,增强交互式编码体验。

  • by tijs
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 tijs/py-sound-mcp

使用说明

MCP声音工具

一种模型上下文协议(MCP)实现,为Cursor AI和其他MCP兼容环境播放声音效果。这个Python实现提供了音频反馈,以获得更具交互性的编码体验。

特性

  • 为各种事件(完成、错误、通知)播放音效
  • 使用模型上下文协议(MCP)与Cursor和其他IDE进行标准化集成
  • 跨平台支持(Windows、macOS、Linux)
  • 可配置的音效

安装

Python版本兼容性

这个包是用Python 3.8-3.11测试的。如果你在Python 3.12+中遇到错误(尤其是 BrokenResourceError 或 TaskGroup 例外情况),请尝试使用较早的Python版本。

建议:用管道安装

安装mcp声音工具的推荐方法是 pipx,它在隔离环境中安装包,同时使命令全局可用:

# Install pipx if you don't have it
python -m pip install --user pipx
python -m pipx ensurepath

# Install mcp-sound-tool
pipx install mcp-sound-tool

此方法确保工具具有自己的隔离环境,避免与其他包冲突。

替代方案:使用pip安装

你也可以直接用pip安装:

pip install mcp-sound-tool

来源

  1. 克隆此存储库:

    git clone https://github.com/yourusername/mcp-sound-tool
    cd mcp-sound-tool
    
  2. 使用pipx直接从源代码目录安装:

    pipx install .
    

    或者使用pip:

    pip install -e .
    

用法

添加声音文件

将声音文件放在 sounds 目录。需要以下声音文件:

  • completion.mp3 -代码生成后播放
  • error.mp3 -发生错误时播放
  • notification.mp3 -用于一般通知

你可以在freesound.org等网站上找到免费的音效。

运行MCP服务器

运行MCP服务器:

mcp-sound-tool

服务器将通过stdio传输启动并监听来自Cursor或其他MCP兼容客户端的事件。

光标中的配置

要将此服务器与Cursor一起使用,请将其添加到MCP配置文件中:

在 macOS 上:

// ~/Library/Application Support/Cursor/mcp.json
{
  "mcpServers": {
    "sound": {
      "command": "mcp-sound-tool",
      "args": [],
      "type": "stdio",
      "pollingInterval": 5000,
      "startupTimeout": 10000,
      "restartOnFailure": true
    }
  }
}

在Windows上:

// %APPDATA%/Cursor/mcp.json
{
  "mcpServers": {
    "sound": {
      "command": "mcp-sound-tool",
      "args": [],
      "type": "stdio",
      "pollingInterval": 5000,
      "startupTimeout": 10000,
      "restartOnFailure": true
    }
  }
}

安装时 pipx,the mcp-sound-tool 命令将在您的PATH中可用,因此Cursor将能够找到并执行它,而无需指定完整路径。

AI模型的健全MCP使用指南

此MCP服务器为AI交互提供音频反馈功能。它旨在通过提供清晰的音频提示来增强用户体验,这些提示可以指示操作状态,而不需要用户阅读文本。

何时使用声音反馈

AI代理应在适当的时候主动使用声音工具:

  1. 成功之声(completion):

    • 任务或命令成功完成后
    • 当一项重要操作成功完成时
    • 确认用户请求已完成时
  2. 错误声音(error):

    • 当命令失败或遇到错误时
    • 当警告用户问题时
    • 当操作无法按要求完成时
  3. 通知声音(notification):

    • 当提醒用户重要信息时
    • 当提示用户注意或输入时
    • 用于长时间运行操作的状态更新

示例用法

# When a command completes successfully
@mcp.tool()
def execute_command(command):
    result = run_command(command)
    if result.success:
        play_sound("completion")  # Indicate success with audio
        return "Command executed successfully"
    else:
        play_sound("error")  # Indicate failure with audio
        return f"Error: {result.error_message}"

可用工具

  1. play_sound(sound_type="completion", custom_sound_path=None):播放声音效果
  2. list_available_sounds():列出所有可用的声音文件
  3. install_to_user_dir():将声音文件安装到用户的配置目录

有关更多详细信息,请连接到MCP服务器并查看工具说明。

发展

发展:

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

致谢

  • SIAM传奇 为了创造原创 声音mcp 启发这个Python版本的JavaScript实现
  • MCP协议开发人员为AI工具交互创建了强大的标准
  • 测试和文档的贡献者

许可证

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