← Blog

Generate feasibility reports directly from Claude Desktop

Skip the web UI. With pip install mcp-resilland, your Claude Desktop / Cursor / Windsurf can analyse parcels and draft full nine-section reports without ever opening a browser.

İlhan Kılıç· 26 Apr 2026

Most spatial-intelligence platforms are an island. You go to their domain, you log into their dashboard, you do the work where they decided you'd do it. The MCP server flips that: RESILAND becomes a tool your editor already has, alongside file-write and shell-exec.

Three commands to install

pip install mcp-resilland
claude mcp add mcp-resilland --command "mcp-resilland --base-url https://resilland.com --api-key $RESILAND_KEY"
# done — restart Claude Desktop and the 16 tools appear

(Cursor and Windsurf accept the same install — see the MCP usage guide for editor-specific config blocks.)

Sixteen tools, two of them generative

Most of the surface is read-only — what you'd expect from a spatial platform:

  • list_parcels(viloyat?, tuman?, limit?) — paginated cadastral query.
  • get_parcel(parcel_id) — full attribute dump.
  • list_nurseries(near_lat?, near_lng?, radius_km?) — RESILAND-9 priority sites included.
  • get_nursery(nursery_id) — name, capacity, species, contact metadata.
  • get_stats_overview() + get_stats_summary(window?) — KPI snapshot.
  • list_reports() + get_report(report_id) — your previously-generated reports.
  • get_balance() + list_models() — provisioned cascade tier info.

Two are generative — and that's where the ergonomics shift:

  • analyze_area(geojson_polygon, language?) — pass a polygon, get a verdict + the nine sections back as a streamed response.
  • generate_feasibility_report(parcel_id, language?, hints?) — pass a cadastral parcel id, get a full Phase-4-style report.

And the report-management trio:

  • translate_report(report_id, target_language)
  • create_report_share_link(report_id)
  • get_report_pdf_url(report_id)

What an end-to-end conversation looks like

In Claude Desktop, you might type:

I have a 412-ha parcel near Namangan oblast, GeoJSON in clipboard. Draft me a feasibility report in Russian and share a public link.

Claude Desktop sees three tools that match: analyze_area (with the GeoJSON), translate_report (target_language="ru"), and create_report_share_link. It calls them in sequence — no hand-holding from you — and replies with the share URL. The whole exchange takes 3-4 minutes for a fresh report or about 20 seconds if the parcel was already cached.

Why this is different from a REST API

Two reasons:

  1. The model picks the tools. You describe the goal in natural language; Claude figures out which tools to call and in what order. No more reading API docs to chain endpoints.
  2. The output is conversational. The report comes back inline, not as a JSON blob you parse. The model summarises what changed, suggests the next move, and handles errors gracefully ("Sentinel Hub didn't have imagery for that bounding box; want me to try the wider area?").

Where it goes from here

The next MCP release adds watch_parcel (subscribe to NDVI alerts), compare_reports (semantic diff between two feasibility runs), and a streaming variant of generate_feasibility_report that emits each section as a separate notification — so you can render progress in your editor's sidebar instead of waiting for the full reply.

Apache-2.0, source on GitHub, releases on PyPI. pip install mcp-resilland and you're a pull request away from contributing the next tool yourself.