MCP · Model Context Protocol

An orchard your AI can run,
inside the rules.

Our MCP server lets an AI assistant read the soil, run the irrigation and keep the books, under the same safety rules as every other caller. Try it on a demo farm: connect your own Claude, ChatGPT or other MCP client to a simulated orchard that runs our real controller code.

Demo serverhttps://demo.sankhyafarms.com/mcp
Connect your AIPlay the orchard yourself

Two servers, one codebase

The demo is public.
Our orchard isn’t.

Both servers run the same tool code against the same irrigation hub. One drives a real orchard and stays private; the other gives anyone a simulated farm to try it on.

Public · any MCP client

The demo server

Every sign-in gets a farm of its own. Inside it, the production code of our irrigation hub — schedules, the run log, the pump interlock — talks to a virtual controller board, around a simulation of weather, soil and trees.

  • Pick a tree crop and a climate: fruit, berries, nuts or timber.
  • The player watches the same farm in the browser and approves what the AI proposes.
  • It runs on its own servers with no connection to our orchard’s hub, databases or files. Nothing it does can touch a real valve.

Private · by invitation

Our orchard’s server

The server that runs our own orchard. Only Claude can connect to it, and every connection needs the orchard operator’s approval on a sign-in page that shows which app is asking and where the access will go.

  • Sign-ins lapse after 30 days unused and 90 days at most.
  • It is not open to the public, and it isn’t listed anywhere.
  • The same four rules apply to it as to the demo — below.

The safe cyber-physical pattern

Four rules beneath every caller.

An AI that can switch a pump is only as safe as the layers under it. Ours are enforced in the hub and the firmware, beneath the dashboard, the schedules and the AI alike — and the demo runs the same code.

Runs, not switches

A tool asks for an output to run for a set time; there is no “turn it on and forget”. A pump run that no person asked for is capped at four minutes, in code.

An interlock for everyone

The pump won’t start unless a zone valve is open, whoever asks. If the last open valve closes, the pump stops with it, and the run log says so — so a mistake shows up instead of hiding.

Deadlines on the board

The controller keeps its own timer for every output. If the connection, the cloud or the AI goes away mid-run, the run still ends on time.

Proposals wait for a person

No tool changes a schedule. An AI proposes a change with its reasoning, and it reaches the controller only when a person clicks Approve — the same function as the dashboard’s, so nothing can be queued that the button couldn’t apply.

And chemistry, in the demo. The tank won’t take calcium nitrate with sulphates or phosphates: mixed together they settle out and block the emitters. Every demo tool carries a title and read-only or destructive hints, so your client can ask before anything changes.


What the demo exposes

25 tools.

Thirteen are the production tools, registered by the very code our orchard’s server runs production. The other twelve are the game: weather, the store, the fertigation tank, the farmhand, harvest and time. File uploads and hand-typed stock entries are left out — in the demo, the store keeps the books.

Reads (8) · change nothing
ToolWhat it does
get_farm_statusEverything at a glance: the date on the farm, weather, the crop’s stage, money, the controller, the tank, the store, deliveries, the farmhand, zones, sensors, alerts and the advisors’ notes. Start here.
get_forecastTemperatures, chance of rain and evapotranspiration for the days ahead.
list_devicesproductionThe controller, its five zone valves and pump, and the daily schedules.
get_runsproductionThe irrigation run log: planned and actual times, and how each run ended.
get_readingsproductionSoil moisture, temperature, EC and pH from the sensor nodes, hourly.
get_orchard_logproductionThe orchard journal.
get_recommendationsproductionProposals waiting for the player’s approval, and recent decisions.
get_inventoryproductionStock by product and nutrient, deliveries and invoices.
Changes (12) · act on the farm
ToolWhat it does
run_outputproductionRun a valve or the pump for a set time, through the interlock and the four-minute cap.
stop_outputproductionSwitch an output off.
propose_recommendationproductionPropose a schedule change; it waits for the player’s Approve.
add_orchard_log_entryproductionWrite in the orchard journal.
order_suppliesOrder fertiliser, soil products, sensor nodes or host seedlings; the truck comes in one to three days.
mix_tankHave the farmhand mix a batch in the fertigation tank. Refused if the products would settle out together.
set_tank_tapOpen or shut the tap between the tank and the venturi.
place_sensor_nodeHave the farmhand move a sensor node to another plant.
spread_by_handSpread fertiliser, sulphur, gypsum or compost on a zone.
flush_zoneAcid-flush a zone’s drip lines to clear blocked emitters.
plant_host_treesSandalwood only: plant the host seedlings it needs beside it.
advance_timeMove the farm’s clock on — up to a week, or whole years for a new planting or timber — and report what happened.
Destructive (5) · can’t be undone
ToolWhat it does
update_orchard_log_entryproductionCorrect a journal entry.
delete_orchard_log_entryproductionDelete a journal entry.
update_invoiceproductionCheck and confirm a delivery’s draft invoice.
drain_tankDrain and rinse the fertigation tank, discarding what’s in it.
harvestCall the picking crew in the harvest window, or thin or fell a timber stand.

Connect

Bring your own AI.

One address for every client. When you connect, the demo’s connect page lets you start a new farm, pick the farm you last played in this browser, or enter a farm’s code — then Allow. There’s no account to make.

Claude

  1. In Claude on the web or the desktop app, open Customize → Connectors and click Add custom connector.
  2. Paste https://demo.sankhyafarms.com/mcp as the server address and add it.
  3. Click Connect. On the demo’s connect page, choose a farm and click Allow.
  4. In a chat, turn the connector on from the + menu, then ask Claude to look after the orchard.

On a Team or Enterprise plan, an owner adds the connector first (Organization settings → Connectors, then Add → Custom); members then connect it from Customize → Connectors.

Claude Code

claude mcp add --transport http sankhya-demo https://demo.sankhyafarms.com/mcp

Then run /mcp in Claude Code and choose sankhya-demo to sign in. The connect page opens in your browser.

ChatGPT

On a paid plan, on the web: turn on Developer mode under Settings → Apps → Advanced settings, create an app with the server address, and sign in when asked. Then pick it from the + menu in a chat.

Cursor and other clients

Any client that speaks MCP over Streamable HTTP with OAuth can connect. In Cursor, add the server to ~/.cursor/mcp.json and sign in when it asks:

{
  "mcpServers": {
    "sankhya-demo": { "url": "https://demo.sankhyafarms.com/mcp" }
  }
}

Things to ask

“Look over my demo orchard and tell me what needs doing this week.”

“Mix a week’s feed for the trees, open the tank’s tap and tell me when it runs.”

“The forecast is hot. Propose a morning schedule for the next ten days.”

“Move the clock on a week and give me the report.”

For developers

Transport
MCP over Streamable HTTP, stateless: POST https://demo.sankhyafarms.com/mcp
Authorization
OAuth 2.1 with PKCE. Dynamic client registration or a Client ID Metadata Document; https callbacks, loopback callbacks on any port, or an app’s own scheme. Metadata at /.well-known/oauth-protected-resource/mcp.
Sign-ins
One farm per sign-in. Access tokens last an hour and refresh for up to 90 days, or 14 days unused, and end when the farm is deleted.
Farms
Deleted 14 days after the last visit. Prices are demo prices in rupees. Each farm keeps its own clock, which runs only while someone is playing or calling.

Privacy

What the demo keeps.

This notice covers the demo orchard: the game at sankhyafarms.com/play and the demo server at demo.sankhyafarms.com. The rest of our site and the Sankhya dashboard are covered by our privacy policy.

No account

The demo asks for no name, email or sign-up. Nothing in it identifies you unless you type it in.

Your farm

  • Each farm is kept on our servers (Cloudflare) under a random code: its simulated weather, plants, store, run log and journal, and what you or your AI type into it, such as its name and journal notes.
  • Anyone with a farm’s code can open it, so don’t write anything private in one.
  • A farm is deleted 14 days after its last visit. To delete one sooner, email us its code.

Connecting an AI

  • When an app connects, the demo server keeps its registration — the name it gives and where to send you back — and its tokens, so it knows which farm each sign-in plays. Tokens expire on their own and are revoked when the farm is deleted.
  • The demo sees only the tool calls your assistant makes, which it records in the farm’s activity feed. Your conversation stays with your AI provider, under its terms.

Your browser

  • The game remembers your farm’s code in this browser’s storage, and the demo server sets one cookie on demo.sankhyafarms.com (sf_demo_farm, for 14 days) so its connect page can offer “Your farm”.
  • The code sits in the page’s address after the #, so it isn’t sent to our servers’ logs or to analytics.
  • Pages on sankhyafarms.com use Google Analytics, as our privacy policy describes.

Network addresses

To keep one visitor from starting too many farms in a day, the demo server uses a salted, daily hash of your IP address. It is held in memory only and never stored.

Contact

Questions, or a farm to delete: [email protected]. Sankhya Ventures LLC.

Updated 10 October 2026

Support

Questions, ideas, a bug?

Write to [email protected]. The story of how our own IoT made this server possible is on the Updates page.