MCP LEGO Spike Prime 服务器
一个通过蓝牙使用PyBricks固件控制LEGO Spike Prime的模型上下文协议(MCP)服务器。
特点/特性
- 通过蓝牙连接到LEGO Spike Prime
- 运行PyBricks Python程序
- 控制电机和传感器
- 设置集线器灯光颜色
- 播放声音
- 读取传感器数据(颜色、距离、力度、电机位置)
先决条件
- 乐高Spike Prime (介词)和,与,带着 PyBricks 固件 安装好的
- Python 3.7及以上版本 并且 pip
- Node.js 18及以上版本 和 npm(Node Package Manager,节点包管理器)
- pybricksdev(这个词汇本身可能是一个特定项目或组织的名称,直接翻译可能无法传达其具体含义,但可以尝试解释其可能的构成:PyBricks可能是与“乐高头脑风暴”(Lego Mindstorms)相关的Python库或开发工具,dev可能代表“开发”(development)的意思,所以整体可以理解为“与乐高头脑风暴相关的Python开发工具/库”或类似含义的组织/项目名称。) Python包:
pip install pybricksdev安装
- 安装依赖项:
npm install- 构建项目:
npm run build配置
服务器已配置为连接到一个名为 “Rock LegoPrime”可以翻译为“乐高积木之摇滚版”或“摇滚乐高积木(Prime版)”,具体取决于上下文和想要传达的风格。在这里,“Rock”表示摇滚风格,“LegoPrime”则可能指的是乐高积木的某个特定版本或系列,其中“Prime”可能代表优质、首要或特定的系列标识。因此,翻译时需要结合具体语境来确定最准确的表达要更改设备名称,请编辑 src/index.ts 并修改 DEVICE_NAME 常数。
使用方法
运行服务器
npm start添加到Claude桌面版
将此添加到您的Claude桌面配置文件中:
macOS(发音为“Mac OS”,其中“OS”代表“Operating System”,即操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"lego-spike-prime": {
"command": "node",
"args": ["/Users/jeganl/code/mcp-lego-prime/build/index.js"]
}
}
}确保更新路径以匹配您的实际安装目录。
可用工具
1. connect_spike_prime
通过蓝牙连接到LEGO Spike Prime。
2. disconnect_spike_prime
从LEGO Spike Prime上断开连接。
3. run_pybricks_program
运行自定义的PyBricks Python程序。
- 参数:
- code (字符串):要执行的PyBricks Python代码
4. stop_program
停止当前正在运行的程序。
5. play_sound
在集线器扬声器上播放声音。
- 参数:
- frequency (数字):频率,单位为赫兹(200-2000) - duration (数字):持续时间(毫秒)
6. set_hub_light
设置轮毂灯的颜色。
- 参数:
- color (字符串):颜色名称(红色、绿色、蓝色、黄色、橙色、白色、关闭)
7. move_motor
移动连接到特定端口的电机。
- 参数:
- port (字符串): 端口字母 (A、B、C、D、E 或 F) - angle (数字):旋转角度(度) - speed (数字,可选):每秒度数的速度(默认:200)
8. read_sensor
从连接到特定端口的传感器读取数据。
- 参数:
- port (字符串):端口字母(A、B、C、D、E 或 F) - sensor_type (字符串):传感器类型(颜色、距离、力、电机)
与Claude的使用示例
- 连接到您的LEGO Spike Prime:
Connect to my LEGO Spike Prime- 设置集线器灯光:
Set the hub light to blue- 移动电机:
Rotate the motor on port A by 360 degrees- 读取传感器数据:
Read the color sensor on port B- 运行自定义程序:
Run this PyBricks program:
from pybricks.hubs import PrimeHub
from pybricks.pupdevices import Motor
from pybricks.parameters import Port
hub = PrimeHub()
motor = Motor(Port.A)
motor.run_time(500, 2000)发展
开发模式下的监视模式:
npm run watch故障排除
连接问题
- 确保你的乐高Spike Prime已开机
- 确保已安装PyBricks固件(而非标准的乐高固件)
- 检查您的电脑上是否已启用蓝牙
- 验证设备名称是否为“Rock LegoPrime”,否则请更新
DEVICE_NAME常数;持续的
未找到 pybricksdev
安装 pybricksdev:
pip install pybricksdev权限问题(macOS)
您可能需要在系统偏好设置 > 安全与隐私 > 蓝牙中为您的终端应用程序授予蓝牙权限。
许可证
麻省理工学院(MIT)
