农场机器人代理
代理本地CLI和MCP服务器 农场机器人 硬件控制。
从终端控制您的FarmBot,或让AI代理通过 模型上下文协议.
安装
npm install -g farmbot-agent快速入门(CLI)
# Authenticate
farmbot login --email you@example.com --password yourpassword
# Check status
farmbot status
# Move the gantry
farmbot move --x 100 --y 200 --z 0
# Go home
farmbot home
# Emergency stop
farmbot e-stop
# Unlock after e-stop
farmbot unlock
# Execute Lua on device
farmbot lua 'toast("Hello from the CLI!")'所有命令支持 --json 用于结构化输出和 --timeout (默认值:30秒)。
快速入门(MCP服务器)
克劳德桌面
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"farmbot": {
"command": "npx",
"args": ["-y", "farmbot-agent", "mcp"],
"env": {
"FARMBOT_TOKEN": "your-jwt-token-here"
}
}
}
}克劳德代码
claude mcp add farmbot -- npx -y farmbot-agent mcp环境变量认证
对于MCP模式,设置 FARMBOT_TOKEN 作为环境变量。获取您的令牌:
curl -s -X POST https://my.farm.bot/api/tokens \
-H "Content-Type: application/json" \
-d '{"user":{"email":"you@example.com","password":"yourpassword"}}' \
| jq -r '.token.encoded'MCP工具
| 工具 | 说明 |
|---|---|
farmbot_status | 设备状态:位置、状态、固件 |
farmbot_get_position | 当前X、Y、Z位置(轻量级) |
farmbot_get_device_info | 设备配置和标识 |
farmbot_move | 将龙门架移动到绝对或相对位置 |
farmbot_home | 主页一个或所有轴 |
farmbot_emergency_stop | 立即停止所有移动 |
farmbot_unlock | 紧急停止后解锁 |
farmbot_lua | 在设备上执行Lua代码 |
MCP资源
| URI | 描述 |
|---|---|
farmbot://device/status | 当前设备状态为JSON |
CLI命令
| 命令 | 描述 |
|---|---|
farmbot login | 验证并存储令牌 |
farmbot logout | 删除存储的令牌 |
farmbot status | 显示设备状态 |
farmbot move | 移动到位置(--x, --y, --z, --speed, --relative) |
farmbot home | 回家吧(--axis, --speed) |
farmbot e-stop | 紧急停止 |
farmbot unlock | 电子停止后解锁 |
farmbot lua | 在设备上执行Lua |
运作原理
farmbot-agent
├── CLI (Commander) → Human-friendly terminal commands
├── MCP Server (stdio) → AI agent tool interface
└── Shared Services → farmbot-js (MQTT) + FarmBot REST APIFarmBot通信使用MQTT farmbot npm包。命令作为CeleryScript RPC请求发送,响应由UUID匹配。JWT令牌包含MQTT代理凭据。
安全
- 坐标边界验证 关于所有移动指令
- 速率限制:每分钟最多30个移动命令(防止失控的代理循环)
- 紧急停止 始终可用,超时时间短
- 结构化错误 包含代码、重试提示和恢复建议
发展
git clone https://github.com/kieranklaassen/farmbot-agent
cd farmbot-agent
npm install
npm run build
npm test许可证
麻省理工学院
