机器人控制协议服务器

一个用于通过蓝牙控制Bittle机器人的Python MCP服务器,提供移动、姿势和交互命令。

  • by cluesang
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 cluesang/pybittle-mcp-server

使用说明

pyBittle mcp服务器

Python MCP(模型上下文协议)服务器,用于通过蓝牙控制Bittle机器人。此服务器公开了一组命令,用于使用MCP协议移动、摆姿势和与Bittle交互。

特性

  • 通过蓝牙连接到Bittle
  • 显示运动和姿势命令(向前、向后、转弯、坐下、休息等)
  • 与MCP工具集成,用于远程和程序控制
  • 将所有活动记录到 bittle_mcp.log

需求

安装和设置

  1. 安装uv(推荐用于快速、可靠的Python包管理):

    curl -Ls https://astral.sh/uv/install.sh | sh
    
  2. 安装uvx(MCP服务器所需):

    curl -Ls https://astral.sh/uvx/install.sh | sh
    
  3. 安装依赖项:

    # Option 1: Using start_server.sh (recommended)
    chmod +x start_server.sh
    ./start_server.sh
    
    # Option 2: Manual installation
    uv pip install -r requirements.txt
    # or, if using pyproject.toml:
    uv pip install -r pyproject.toml
    

用法

  1. 配置蓝牙: 确保您的Bittle机器人已通电并处于蓝牙配对模式。

  2. 运行MCP服务器:

    # Option 1: Using start_server.sh (recommended)
    ./start_server.sh
    
    # Option 2: Manual start
    uvx mcpo --port 8080 -- uv run --with 'mcp[cli]' --with git+https://github.com/cluesang/pyBittle.git mcp run ./server.py
    

    服务器将尝试连接到Bittle并将状态记录到 bittle_mcp.log.

  3. 与MCP工具集成:

    • 此服务器通过MCP协议公开命令,使任何兼容MCP的客户端或工具都可以访问这些命令。
    • 您可以使用 MCP-CLI 或其他MCP工具,以发现和调用Bittle机器人上的可用命令。
    • 示例(使用MCP CLI):
      mcp call move_forward
      mcp call sit
      mcp call rest
      
    • 所有可用命令都装饰有 @mcp.tool() 在……里面 server.py 并自动向MCP服务器注册。

发展

  • 主要逻辑在 server.py.
  • 日志记录配置为同时输出到控制台和 bittle_mcp.log.
  • 命令用 @mcp.tool() 用于MCP暴露。
  • 使用 start_server.sh 用于开发,因为它处理环境设置和流程管理。

故障排除

  • 如果服务器连接失败,请检查蓝牙配对,并确保没有其他进程使用Bittle连接。
  • 审查 bittle_mcp.log 查看详细的错误消息。
  • 如果遇到端口冲突, start_server.sh 将自动处理杀死现有服务器进程。
  • 确保两者都 uv 和 uvx 已安装并可在PATH中使用。

许可证

MIT许可证