项目简介

'buttplug-mcp' 是一个基于 Model Context Protocol (MCP) 标准构建的应用后端服务器。它作为 LLM(大型语言模型)客户端与 Buttplug.io 生态系统之间的桥梁,允许支持 MCP 的 LLM 程序(如 Claude Desktop 或 mcphost)通过读取设备信息(资源)和调用设备功能(工具)来与您的 Buttplug 设备交互。

主要功能点

  • 设备资源查询:
    • '/devices': 获取所有已连接 Buttplug 设备的列表(JSON 格式)。
    • '/device/{id}': 根据设备 ID 获取特定设备的详细信息(JSON 格式)。
    • '/device/{id}/rssi': 根据设备 ID 获取特定设备的信号强度(RSSI)(JSON 格式)。
    • '/device/{id}/battery': 根据设备 ID 获取特定设备的电池电量(JSON 格式)。
  • 设备工具调用:
    • 'device_vibrate': 根据设备 ID、电机编号(可选,默认为 0)和强度(0.0 到 1.0)控制设备振动。

安装步骤

  1. 安装 Buttplug.io 中心应用程序 (Intiface Central): 下载并运行 Intiface Central,这是管理 Buttplug 设备的中心枢纽。启动它并记下 Buttplug 服务器监听的端口(默认为 12345)。
  2. 安装 buttplug-mcp 服务器:
    • 通过预编译二进制文件: 从 GitHub Releases 页面 下载适用于您操作系统的最新版本二进制文件。
    • 通过 Homebrew (macOS/Linux): 如果您使用 Homebrew,可以通过以下命令安装:
      brew tap conacademy/homebrew-tap
      brew install conacademy/tap/buttplug-mcp
    • 从源码构建: 如果您安装了 Go 环境和 Task 工具,可以在仓库根目录运行 'task' 命令进行构建。

服务器配置 (用于 MCP 客户端)

MCP 客户端需要配置服务器的启动命令及其参数。通常,这通过一个 JSON 文件或配置界面完成。以下是配置 'buttplug-mcp' 作为 MCP 服务器所需的关键信息示例:

您的 MCP 客户端需要添加一个名为 "buttplug" 的 MCP 服务器配置。

  • 命令 (command): 这是 'buttplug-mcp' 可执行文件的完整路径。例如,如果您使用 Homebrew 安装在 macOS 上,路径可能是 '/opt/homebrew/bin/buttplug-mcp'。
  • 参数 (args): 这是传递给 'buttplug-mcp' 命令的启动参数列表。
    • '--ws-port': 指定 'buttplug-mcp' 服务器连接本地 Intiface Central 应用程序的 WebSocket 端口。请将其设置为您在步骤 1 中记下的 Intiface Central 端口(例如 '"12345"')。
    • 其他可选参数(如 '--sse', '--sse-host', '--log-file', '--log-json', '--verbose', '--debounce')可根据需要添加。

一个典型的客户端配置片段可能看起来像这样(具体格式取决于您的 MCP 客户端):

{
  "mcpServers": {
    "buttplug": {
      "command": "/path/to/your/buttplug-mcp/executable",
      "args": [
        "--ws-port", "12345"
        // 您可以根据需要添加其他参数,例如:
        // "--sse",
        // "--sse-host", ":8889"
      ]
    }
  }
}

请将 '/path/to/your/buttplug-mcp/executable' 替换为您系统中 'buttplug-mcp' 程序的实际路径。

基本使用方法

  1. 确保 Intiface Central 正在运行,并且您的 Buttplug 设备已连接并显示在 Intiface Central 中。
  2. 使用上面提供的配置信息,在您的 MCP 客户端(例如 Claude Desktop 或配置了 'mcphost' 的本地 Ollama)中配置 'buttplug-mcp' 服务器。
  3. 启动您的 MCP 客户端。客户端会自动发现并连接到 'buttplug-mcp' 服务器。
  4. 在 LLM 客户端的聊天界面中,您现在可以使用自然语言向 LLM 提问或发出控制 Buttplug 设备的指令。例如:
    • "我的 Buttplug 设备有哪些?" (LLM 可能会调用 '/devices' 资源)
    • "让 ID 为 0 的设备的第一个马达振动起来,强度设为最大。" (LLM 可能会调用 'device_vibrate' 工具)
    • "我的 Lovense Max 2 还有多少电量?" (LLM 可能会调用 '/device/{id}/battery' 资源)

请注意,项目的当前状态可能不稳定,功能仍在积极开发中。

信息

分类

桌面与硬件