Roots docs

MCP server

The Roots MCP server lets any MCP client read and run your farm: Claude, ChatGPT, Cursor, VS Code, Windsurf, OpenClaw, Hermes or your own agent. It speaks Streamable HTTP at:

https://mcp.roots.sh/mcp

It acts with the access of the key you give it, and nothing more. Give it a test key to try it on the sample farm.

Connect

Claude Code

claude mcp add --transport http roots https://mcp.roots.sh/mcp --header "Authorization: Bearer rk_test_…"

Cursor, VS Code, Windsurf (mcp.json)

{ "mcpServers": { "roots": { "url": "https://mcp.roots.sh/mcp", "headers": { "Authorization": "Bearer rk_test_…" } } } }

roots mcp prints these with your own key filled in.

Tools

Tool What
list_farms List the farms on this account.
farm_brief What needs attention on the farm right now, ranked: open alerts, tasks due, each Roost’s feed, water, climate and doors, and devices that have gone quiet. Start here.
list_alerts Alerts on the farm, most urgent first.
update_alert Acknowledge an alert (someone is on it) or resolve it.
find_animals Search animals by tag, EID, name or breed, or filter by species, group or paddock.
get_animal One animal’s record with its recent history (treatments, weights, moves) and trackers.
add_animal Add an animal to the farm.
log_event Log something that happened: a treatment, weight, birth, move, sale, note or anything else. Attach it to an animal, group, paddock or device.
list_groups Herds, flocks, pens and litters.
list_paddocks Paddocks with acres, rest targets and when each was last grazed.
list_devices Roost houses, trackers (bolus, tag, band, guardian), water and weather sensors, with battery and last report.
get_readings Time series from a device: temperature, ammonia, feed and water levels, battery and more.
roost_status Every Roost on the farm: feed, water, climate, power, doors, move, floor and recent commands.
roost_command Send a command to a Roost: doors.open, doors.close, move.start, move.stop, move.to_paddock, feed.dispense, spines.set_height, climate.set_mode, climate.set_target, awnings.set, fans.set, heaters.set, floor.deploy, floor.retract, lights.set. Confirm with the farmer before moving the house or opening doors at night.
list_tasks Open tasks for the crew.
add_task Give the crew a task.
complete_task Mark a task done.
get_catalog Every metric devices report, every Roost and tracker command with its parameters, and the default alert rules.

Tools that change things (roost_command, add_animal, log_event, add_task, complete_task, update_alert) are marked as not read-only, so clients ask before running them.

Try it with curl

curl https://mcp.roots.sh/mcp \
  -H "Authorization: Bearer $ROOTS_API_KEY" -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"farm_brief","arguments":{}}}'