Farmbot Agent

79 tools. 45 can modify or destroy data without limits.

10 destructive tools with no built-in limits. Policy required.

Last updated:

45 can modify or destroy data
34 read-only
79 tools total

Community server · catalogue entry verified 29/06/2026

How to control Farmbot Agent ↓

What Farmbot Agent exposes to your agents

Read (34) Write / Execute (35) Destructive / Financial (10)
Critical Risk

The most dangerous Farmbot Agent tools

45 of Farmbot Agent's 79 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Farmbot Agent

PolicyLayer is an MCP gateway — it sits between your AI agents and Farmbot Agent, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "farmbot_remove_farm_event": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "farmbot_add_farm_event": {
    "limits": [
      {
        "counter": "farmbot_add_farm_event_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "farmbot_get_curve": {
    "limits": [
      {
        "counter": "farmbot_get_curve_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Farmbot Agent — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON FARMBOT AGENT →

Instant setup, no code required.

All 79 Farmbot Agent tools

EXECUTE 12 tools
Execute farmbot_calibrate Calibrate an axis by finding its total length (motion calibration, NOT camera). Moves the axis to both endpoi Execute farmbot_emergency_stop EMERGENCY STOP — immediately halt all FarmBot movement and lock the device. Use when something is going wrong Execute farmbot_execute_script Run a farmware (on-device script) by label. This is the sole primitive for all setup/calibration/detection wor Execute farmbot_find_home Find the home position using encoders or endstops. Moves the specified axis (or all axes) until it hits an en Execute farmbot_home Move FarmBot to the home position (0, 0, 0) or home a specific axis. Homes using the device Execute farmbot_lua Execute Lua code directly on the FarmBot device. This is an escape hatch for advanced operations not covered Execute farmbot_move Move the FarmBot gantry to a position in the garden. Coordinates are in millimeters from the home position (0 Execute farmbot_reboot Reboot the FarmBot device. Restarts the FarmBot OS. The device will be offline for 1-2 minutes during reboot. Execute farmbot_run_sequence Execute a saved sequence on the FarmBot device via MQTT. Runs the sequence identified by ID. The sequence mus Execute farmbot_sync Sync the FarmBot device with the web application. Triggers the device to download the latest data from the Fa Execute farmbot_toggle_pin Toggle a GPIO pin between on (1) and off (0). Flips the current digital state of the pin. If the pin is on, i Execute farmbot_unlock Unlock the FarmBot device after an emergency stop. After calling farmbot_emergency_stop, the device is locked
WRITE 23 tools
Write farmbot_add_farm_event Create a new scheduled farm event. Schedules a sequence to run at a specific time, optionally repeating on an Write farmbot_add_peripheral Register a peripheral on a GPIO pin (e.g. solenoid valve on pin 8 = Write farmbot_add_plant Add a plant to the FarmBot garden. Coordinates in millimeters. Optionally pass an OpenFarm slug for crop info Write farmbot_add_point Add a Weed or GenericPointer point to the FarmBot. Use Weed for weeds detected by the camera/agent that you w Write farmbot_add_point_group Create a point group — a named collection of plant/weed/generic points. Use as a target in regimens and sequen Write farmbot_add_regimen Create a new regimen (recurring schedule). regimen_items is a list of {sequence_id, time_offset}. time_offset Write farmbot_add_sensor Register a sensor on a GPIO pin (e.g. soil moisture probe). Use farmbot_read_pin to read; readings are stored Write farmbot_add_sequence Create a new sequence (a named, reusable on-device script). Body is FarmBot Write farmbot_add_tool Register a new tool (Watering Nozzle, Seeder, Soil Sensor, Rotary Tool, etc). After creating, assign it to a s Write farmbot_patch_fbos_config Update FarmBot OS config values. Pass only the keys you want to change in Write farmbot_patch_firmware_config Update firmware config values. Pass only the keys you want to change in Write farmbot_patch_web_app_config Update web app config values. Pass only the keys you want to change in Write farmbot_set_farmware_env Set or update a farmware env var by key (upsert). Use this to override camera calibration values, weed detect Write farmbot_update_farm_event Update a scheduled farm event (move it, change repeat behavior, swap target). Use farmbot_list_farm_events to Write farmbot_update_peripheral Update a peripheral Write farmbot_update_plant Update an existing plant Write farmbot_update_point Update any point (Weed, GenericPointer) — for Plants prefer farmbot_update_plant which has a richer schema (pl Write farmbot_update_point_group Update a point group. Pass only the fields you want to change. Write farmbot_update_regimen Update a regimen Write farmbot_update_sensor Update a sensor Write farmbot_update_sequence Update a sequence. Pass only the fields you want to change. Tip: fetch with farmbot_get_sequence first if you Write farmbot_update_tool Update a tool Write farmbot_write_pin Write a value to a GPIO pin on the FarmBot. Sets a pin to a specific value. Use digital mode (0 or 1) for on/
READ 34 tools
Read farmbot_get_curve Get a single curve by ID. Read farmbot_get_device_config Get the device configuration from the FarmBot REST API. Returns the full device record including name, timezo Read farmbot_get_device_info Get device configuration and identification info. Returns the controller version, firmware version, uptime, a Read farmbot_get_fbos_config Get FarmBot OS config: photo settings, soil height fallback, auto-update flags, sequence cancellation behaviou Read farmbot_get_firmware_config Get firmware config: motor settings, axis lengths, accelerations, encoder behaviour, homing speeds, safe heigh Read farmbot_get_image Get a single image record by ID, including its public URL and capture metadata. Read farmbot_get_point_group Get a point group by ID, including its member point IDs. Read farmbot_get_position Get just the current X, Y, Z position of the FarmBot gantry in millimeters. Lighter than farmbot_status — use Read farmbot_get_regimen Get a single regimen by ID, including its regimen_items (the actual schedule). Read farmbot_get_sequence Get a single sequence by ID, including its full CeleryScript body. Use this before farmbot_update_sequence so Read farmbot_get_web_app_config Get web app config: image processing thresholds (HSV ranges) for camera calibration and weed detection, UI pre Read farmbot_list_alerts List active alerts (e.g. firmware out of date, no setup completed, no soil height yet). The web app uses these Read farmbot_list_curves List water/spread/height curves used by plants for adaptive watering. Each plant can reference a water_curve_ Read farmbot_list_diagnostic_dumps List diagnostic dumps generated by the FarmBot for support/troubleshooting. Note: this endpoint may 404 on so Read farmbot_list_farm_events List all scheduled farm events. Returns event configurations including the executable (sequence/regimen), sch Read farmbot_list_farmware_envs List farmware env vars. Camera calibration values (CAMERA_CALIBRATION_coord_scale, CAMERA_CALIBRATION_camera_z Read farmbot_list_farmwares List installed farmwares (on-device plugins like camera-calibration, plant-detection, measure-soil-height). Us Read farmbot_list_images List photos taken by the FarmBot camera. Returns image records with URLs, capture coordinates, and metadata. Read farmbot_list_logs List FarmBot device logs. Logs include status messages, toast notifications from Lua scripts, errors, and life Read farmbot_list_peripherals List all peripherals configured on the FarmBot. Returns peripheral names, IDs, pin numbers, and modes. Periph Read farmbot_list_plant_templates List plant_templates — plants stored against saved gardens (not the live garden). Read farmbot_list_plants List all plants in the FarmBot garden. Returns an array of plant points with their names, positions, and Open Read farmbot_list_point_groups List all point groups (named collections of plants/weeds/points). Point groups are used as targets for sequen Read farmbot_list_points List points in the FarmBot. Points represent plants, weeds, generic markers, or tool slots. Pass pointer_type Read farmbot_list_regimens List all regimens — recurring schedules of sequences (e.g. daily watering, weekly fertilizing). A regimen is a Read farmbot_list_saved_gardens List saved garden layouts. A saved garden is a named snapshot of plant_templates that can be applied to the ac Read farmbot_list_sensor_readings List sensor readings recorded by the FarmBot. Includes soil moisture probe values, tool verification reads, an Read farmbot_list_sensors List all sensors configured on the FarmBot. Returns sensor names, IDs, pin numbers, and modes. Sensors includ Read farmbot_list_sequences List all saved sequences on the FarmBot. Returns sequence names, IDs, and metadata. Use the ID with farmbot_r Read farmbot_list_telemetry List telemetry samples (CPU usage, memory, MQTT round-trip times, etc.) recorded by FBOS. Read farmbot_list_tools List all tools configured on the FarmBot. Returns tool names, IDs, and slot assignments. Tools include items Read farmbot_read_pin Read the current value of a GPIO pin on the FarmBot. Returns the pin value. Digital mode returns 0 or 1, anal Read farmbot_status Get the current FarmBot device status: position, state, firmware version. Returns position (x, y, z in mm), b Read farmbot_take_photo Take a photo with the FarmBot camera. Triggers the onboard camera to capture an image. The photo is saved to

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Farmbot Agent

Can an AI agent delete data through the Farmbot Agent MCP server? +

Yes. The Farmbot Agent server exposes 10 destructive tools including farmbot_remove_farm_event, farmbot_remove_image, farmbot_remove_peripheral. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Farmbot Agent? +

The Farmbot Agent server has 23 write tools including farmbot_add_farm_event, farmbot_add_peripheral, farmbot_add_plant. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Farmbot Agent.

How many tools does the Farmbot Agent MCP server expose? +

79 tools across 4 categories: Destructive, Execute, Read, Write. 34 are read-only. 45 can modify, create, or delete data.

How do I enforce a policy on Farmbot Agent? +

Register the Farmbot Agent MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Farmbot Agent tool call.

Deterministic rules across all 79 Farmbot Agent tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

79 Farmbot Agent tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.