pyBittle mcp服务器
Python MCP(模型上下文协议)服务器,用于通过蓝牙控制Bittle机器人。此服务器公开了一组命令,用于使用MCP协议移动、摆姿势和与Bittle交互。
特性
- 通过蓝牙连接到Bittle
- 显示运动和姿势命令(向前、向后、转弯、坐下、休息等)
- 与MCP工具集成,用于远程和程序控制
- 将所有活动记录到
bittle_mcp.log
需求
安装和设置
- 安装uv(推荐用于快速、可靠的Python包管理):
curl -Ls https://astral.sh/uv/install.sh | sh- 安装uvx(MCP服务器所需):
curl -Ls https://astral.sh/uvx/install.sh | sh- 安装依赖项:
# 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用法
- 配置蓝牙:
确保您的Bittle机器人已通电并处于蓝牙配对模式。
- 运行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.
- 与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许可证
