mcp-resilland
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RESILLAND_API_KEY | Yes | Your RESILAND API key (get from https://resilland.com/settings/api-keys) | |
| RESILLAND_BASE_URL | No | Base URL for self-hosted backend (default: http://localhost:8000) | http://localhost:8000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_balanceA | Return the current API key's quota state, totals, and scopes. |
| list_modelsA | List available LLM + embedding models and supported locales/countries. |
| list_parcelsC | List cadastral forest parcels. |
| get_parcelA | Fetch full detail for a single parcel by integer id: cadastral attributes, geometry, centroid, nearest nurseries, and cached OSM infrastructure proximity (nearest road / settlement / water body). |
| list_nurseriesA | List forestry nurseries across the RESILAND region. |
| get_nurseryA | Fetch full detail for a single nursery by UUID. |
| analyze_areaA | Build a structured spatial context for this area. Returns a JSON payload containing:
Exactly one of Locales: |
| generate_feasibility_reportA | Generate a full Phase 4-style feasibility report with Opus 4.7. Returns markdown body, source citations (with pgvector similarity), token usage, and cost in USD. Typical output is 1,800-2,500 words across 10 standard sections (Executive Summary, Site Context, Ecological Assessment, Species Plan, Nursery Linkages, Risks, Monitoring Plan, Timeline, Budget indication, Sources). Exactly one area-reference parameter is required. |
| translate_briefB | Translate forestry / policy text across the four supported languages (Sonnet 4.6, markdown-preserving). |
| get_stats_overviewA | Live platform KPIs straight from the production DB. Returns 8 counters (documents, pgvector chunks, avg chunk tokens, NDVI rasters, Sentinel scenes, active data sources, total area hectares, cadastral parcels, nurseries, finalised reports), plus a data-sources panel, per-country coverage (UZB/KAZ/KGZ/TJK/TKM/ TUR), and a recent ingestion activity feed. Same payload the resilland.com /stats dashboard renders. |
| get_stats_summaryA | Viewport-scoped stats — counts parcels, total area, distinct viloyats (provinces) and nurseries inside a bbox. Pass all 4 bbox params together for a filtered read; pass none to get global totals. Tuple order: [west, south, east, north] in EPSG:4326. |
| list_reportsA | List feasibility reports owned by this API key's user. |
| get_reportA | Full report detail by UUID:
|
| translate_reportA | Translate an existing report to another language — creates a
SIBLING in the same analysis_group. Runs as a background task
so this tool returns in <1 s with the sibling as Poll |
| create_report_share_linkA | Mint a 7-day public share link for a report. The returned URL is readable without authentication — safe to paste into Slack, e-mail, or a chat. Returns {id, token, share_url, expires_at, download_count, is_expired}. |
| get_report_pdf_urlA | Generate a 7-day public URL that downloads the report as PDF. Equivalent to create_report_share_link + the public PDF route, but packaged into one call. MCP-friendly: returns a plain URL that Claude or any HTTP client can fetch — no binary streaming. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| restoration_brief | Produce a structured restoration recommendation for a given area. |
| report_center_workflow | End-to-end Report Center workflow — generate, translate and share a Phase 4-style feasibility report for an area in one go. |
| species_matchmaker | Recommend tree / shrub species for a given set of site conditions, grounded in the RESILAND curated species catalog. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| info | Server capabilities, version, and runtime config. Useful as a first call to confirm connectivity. |
| nurseries_resource | Full nurseries collection across the RESILAND region as GeoJSON-like. |
| stats_overview_resource | Live platform KPIs: documents, chunks, NDVI rasters, parcels, area, sources. |
| reports_list_resource | Reports owned by the API-key user (final status, newest first, 50 rows). |
TDQS
Scored across 16 tools
Most tools have distinct purposes (get vs list, overview vs summary, brief vs report translation). Minor overlap exists between analyze_area and get_parcel, both returning parcel and nursery proximity data, but descriptions clarify scope.
All tool names follow a consistent verb_noun snake_case pattern (get_*, list_*, analyze_*, generate_*, translate_*, create_*). No mixed conventions or vague verbs.
16 tools is slightly above the typical 3–15 well-scoped range, but the server covers multiple subdomains (parcels, nurseries, reports, stats, translation, AI analysis), so each tool earns its place.
The surface provides solid coverage for the forestry analysis workflow: list/detail for parcels and nurseries, report lifecycle (list, get, generate, translate, share, PDF), and stats. Minor gaps like no update/delete for reports or parcels are not critical for the domain.