loading…
Search for a command to run...
loading…
An MCP server and CLI for controlling FarmBot hardware, enabling AI agents to manage gardening tasks through tools like gantry movement and device status monito
An MCP server and CLI for controlling FarmBot hardware, enabling AI agents to manage gardening tasks through tools like gantry movement and device status monitoring. It supports executing Lua scripts and core hardware commands like homing and emergency stops via the Model Context Protocol.
Agent-native CLI and MCP server for FarmBot hardware control.
Control your FarmBot from the terminal or let AI agents manage your garden through the Model Context Protocol.
npm install -g farmbot-agent
# Authenticate
farmbot login --email [email protected] --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!")'
All commands support --json for structured output and --timeout <ms> (default: 30s).
Add to your Claude Desktop config (~/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
For MCP mode, set FARMBOT_TOKEN as an environment variable. Get your token:
curl -s -X POST https://my.farm.bot/api/tokens \
-H "Content-Type: application/json" \
-d '{"user":{"email":"[email protected]","password":"yourpassword"}}' \
| jq -r '.token.encoded'
| Tool | Description |
|---|---|
farmbot_status |
Device status: position, state, firmware |
farmbot_get_position |
Current X, Y, Z position (lightweight) |
farmbot_get_device_info |
Device config and identification |
farmbot_move |
Move gantry to absolute or relative position |
farmbot_home |
Home one or all axes |
farmbot_emergency_stop |
Immediately halt all movement |
farmbot_unlock |
Unlock after emergency stop |
farmbot_lua |
Execute Lua code on the device |
| URI | Description |
|---|---|
farmbot://device/status |
Current device state as JSON |
| Command | Description |
|---|---|
farmbot login |
Authenticate and store token |
farmbot logout |
Remove stored token |
farmbot status |
Show device status |
farmbot move |
Move to position (--x, --y, --z, --speed, --relative) |
farmbot home |
Go home (--axis, --speed) |
farmbot e-stop |
Emergency stop |
farmbot unlock |
Unlock after e-stop |
farmbot lua <code> |
Execute Lua on device |
farmbot-agent
├── CLI (Commander) → Human-friendly terminal commands
├── MCP Server (stdio) → AI agent tool interface
└── Shared Services → farmbot-js (MQTT) + FarmBot REST API
FarmBot communication uses MQTT over the farmbot npm package. Commands are sent as CeleryScript RPC requests and responses are matched by UUID. The JWT token contains MQTT broker credentials.
git clone https://github.com/kieranklaassen/farmbot-agent
cd farmbot-agent
npm install
npm run build
npm test
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"farmbot-agent": {
"command": "npx",
"args": []
}
}
}Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also