Farmbot Agent
FreeNot checkedAn MCP server and CLI for controlling FarmBot hardware, enabling AI agents to manage gardening tasks through tools like gantry movement and device status monito
About
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.
README
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.
Install
npm install -g farmbot-agent
Quick Start (CLI)
# 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).
Quick Start (MCP Server)
Claude Desktop
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 Code
claude mcp add farmbot -- npx -y farmbot-agent mcp
Environment Variable Auth
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'
MCP Tools
| 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 |
MCP Resources
| URI | Description |
|---|---|
farmbot://device/status |
Current device state as JSON |
CLI Commands
| 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 |
How It Works
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.
Safety
- Coordinate bounds validation on all movement commands
- Rate limiting: max 30 move commands per minute (prevents runaway agent loops)
- Emergency stop is always available with short timeout
- Structured errors with codes, retry hints, and recovery suggestions
Development
git clone https://github.com/kieranklaassen/farmbot-agent
cd farmbot-agent
npm install
npm run build
npm test
License
MIT
Installing Farmbot Agent
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/kieranklaassen/farmbot-agent-cli-mcpFAQ
Is Farmbot Agent MCP free?
Yes, Farmbot Agent MCP is free — one-click install via Unyly at no cost.
Does Farmbot Agent need an API key?
No, Farmbot Agent runs without API keys or environment variables.
Is Farmbot Agent hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Farmbot Agent in Claude Desktop, Claude Code or Cursor?
Open Farmbot Agent on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
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
by xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
by lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
MCPHub
Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.
MCP Servers Rating and User Reviews
Website to rate MCP servers, write authentic user reviews, and [search engine for agent & mcp](http://www.deepnlp.org/search/agent)
mkinf
An Open Source registry of hosted MCP Servers to accelerate AI agent workflows.
Compare Farmbot Agent with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
