Skip to content

MCP server · public beta

Give your agent satellite data.

Connect Claude, ChatGPT, Cursor or any MCP client. Your agent can generate a field report, read the indices and set a threshold alert, with the same scene and provenance as the app.

ClaudeChatGPTCursorCodexAny MCP client
Terminal
claude mcp add agroreports \
  --transport http https://mcp.agroreports.org/mcp
Transcript
> Pull the vineyard report for the Champagne parcel.

  → generate_report({
      geometry: "fld_champagne_07",
      reportType: "vineyard-performance",
      lang: "en"
    })
  → get_report({ id: "rep_champagne_07" })

  Report ready: Vineyard Performance for Champagne,
  Côte des Blancs. NDMI 0.18 is below the 0.20 trigger;
  irrigate the south rows. NDVI 0.68, NDRE 0.41.

  PDF and CSV ready · Sentinel-2 L2A · 2026-09-12

Reports first

Reports, alerts and the data underneath.

Twelve tools. The agent can generate the report, set the threshold that watches it, and read the field data underneath.

Reports

ToolWhat it answersInput
list_report_types The eight report types No input
generate_report Start the report Polygon, type
get_report Poll it and read the result Report id

Alerts

ToolWhat it answersInput
create_alert Set a threshold on a field Field, index, condition, window
list_alerts List rules and status No input
update_alert Change threshold, window or channels Alert id, fields
get_alert_events Read triggered events Alert id or field

Field data underneath

ToolWhat it answersInput
list_indices What the eight indices mean No input
get_indices Current values for a field Polygon, indices
get_index_timeseries History over 1–10 years Polygon, date range
compute_burn_severity dNBR and USGS class Polygon, fire date
find_location Place name to bounding box Query or lat/lon

Reports are async: generate_report → get_report. Alerts: create_alert → get_alert_events. The same rules on the app, API and MCP.

The transcript

Ask. Read. Forward.

No prompt engineering. The agent asks for the report, generates it, polls it and returns the written report with its source.

Claude · #agronomy

connected
Pull the vineyard performance report for the Champagne parcel.

Report ready: Vineyard Performance for Champagne, France. NDMI 0.18 is below the 0.20 trigger; irrigate the south rows. NDVI 0.68, NDRE 0.41.

PDF and CSV ready · Sentinel-2 L2A · 2026-09-12 · 99% valid px

generate_report() 8.4s

Auth and limits

OAuth, with one shared quota.

MCP is a transport, not a separate product. It authenticates with OAuth 2.1, and the grant shares the same quota as REST.

Transport
Streamable HTTP, stateless
Auth
OAuth 2.1 + PKCE
Quota
Shared with the API
Area
200 ha per query
Reports
Async; poll with get_report
Email
No third-party delivery

The MCP server holds no upstream-processing or model credentials. It calls the same API, so formulas, caching and limits stay in one place.

MCP questions

Before you connect.

How does MCP authenticate?

OAuth 2.1 with PKCE. Authorise the client once, and the grant shares the same quota as REST.

Does it work in ChatGPT?

Yes, through a connector that supports streamable HTTP. Claude, Cursor and Codex work directly with the setup above.

Can it generate a report?

Yes. The agent calls generate_report, polls it with get_report, and gets the written report with PDF and CSV links. All eight report types are available.

Can it email a report?

No. The MCP server deliberately has no email path, so a public agent cannot email third parties. It returns a link you can share.

What data can it see?

The same report and field data as the API: the eight report types, indices, history, burn severity and weather. No raw imagery and no arbitrary geospatial code.

Is it free?

It is included with API access. The app is free; the API has a free tier and usage pricing after.

Start here

Your field has a report. Read it.

One field report for the grower, the builder and the agent. The report comes first; the API and MCP are how it travels.

Free report · 5 languages · API and MCP in public beta