炼油厂roborio mcp
一个嵌入式MCP(模型上下文协议)服务器,在roboRIO(和模拟中)的FRC机器人代码内运行。通过HTTP JSON-RPC 2.0向AI助手(GitHub Copilot、Claude等)公开机器人状态、匹配信息、子系统状态和NetworkTables浏览。
[设置短视频\ *即将推出* --一旦发布到Maven存储库,团队将把供应商JSON URL粘贴到他们的项目中。
用法
Java
在你的 Robot.java robotInit():
import com.bionanomics.refinery.mcp.RoboRioMcpServer;
@Override
public void robotInit() {
// ... existing init code ...
RoboRioMcpServer.start(); // default port 8765
// RoboRioMcpServer.start(9000); // or custom port
}C
在你的 Robot.cpp RobotInit():
#include
void Robot::RobotInit() {
// ... existing init code ...
refinery::mcp::RoboRioMcpServer::Start(); // default port 8765
// refinery::mcp::RoboRioMcpServer::Start(9000); // or custom port
}Python(RobotPy)
安装软件包:
pip install refinery-roborio-mcp在你的 robot.py:
import wpilib
from refinery_roborio_mcp import RoboRioMcpServer
class MyRobot(wpilib.TimedRobot):
def robotInit(self):
# ... existing init code ...
RoboRioMcpServer.start() # default port 8765
# RoboRioMcpServer.start(9000) # or custom portMCP客户端配置
VS代码(GitHub副本)
增添 .vscode/mcp.json:
{
"servers": {
"roborio-mcp-sim": {
"type": "http",
"url": "http://localhost:8765/mcp"
},
"roborio-mcp": {
"type": "http",
"url": "http://10.TE.AM.2:8765/mcp"
}
}
}替换 10.TE.AM.2 使用您团队的roboRIO IP(例如。, 10.99.99.2 9999队)。
克劳德桌面版
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"roborio-mcp-sim": {
"url": "http://localhost:8765/mcp"
},
"roborio-mcp": {
"url": "http://10.TE.AM.2:8765/mcp"
}
}
}替换 10.TE.AM.2 使用您团队的roboRIO IP(例如。, 10.99.99.2 9999队)。
可用工具
所有工具都是 只读 --无需通过MCP进行机器人控制。
| 工具 | 说明 |
|---|---|
get_robot_status | 启用状态、操作模式、紧急停止、蓄电池电压、断电、代码状态 |
get_battery_voltage | 蓄电池电压加倍 |
get_match_info | 联盟颜色/站、比赛类型/号码、比赛信息、比赛时间 |
get_robot_stats | CAN总线状态、3.3V/5V/6V轨道电压/电流/故障、输入电压 |
get_connection_info | 驾驶员站已连接,FMS已连接 |
get_subsystems | 已注册的子系统+其当前/默认命令 |
get_networktables | 浏览网络表树(接受可选 path 参数,默认值 /) |
建筑
Java
- 零外部依赖 --使用轻量级的内置JSON实现(没有Gson/Jackson)
- WPILib是
compileOnly--消费机器人项目在运行时提供WPILib - 2线程HTTP服务器 --通过以下方式使用roboRIO友好的资源
com.sun.net.httpserver
C
- 用途
wpi::json(与WPILib捆绑在一起的nlohmann JSON)——不需要自定义JSON解析器 - POSIX插座 对于HTTP--零外部依赖
- 2个工作线程池 使用专用的接受线程--roboRIO友好的资源使用
- 作为源分发 --由消费机器人项目编译的headers+源代码
python
- 纯 Python --使用stdlib
http.server,json,threading(除了RobotPy之外没有外部依赖) - RobotPy WPILib绑定 --通道
wpilib,ntcore,commands2由RobotPy提供 - 守护进程线程HTTP服务器 --roboRIO友好,使用机器人代码自动停止
- 以pip包形式分发 —
pip install refinery-roborio-mcp
共同
- MCP协议版本:
2025-03-26 - 运输: 端口8765上的流式HTTP
- 所有工具都是只读的 --无需通过MCP进行机器人控制
- 7工具 显示机器人状态、电池、比赛信息、统计数据、连接、子系统和网络表
许可证
麻省理工学院
