mcp-resilland

mcp-resilland

AI-powered spatial intelligence for landscape restoration, enabling queries on cadastral parcels, species, climate data, and policy documents across Central Asia.

Category
访问服务器

README

<div align="center">

mcp-resilland

AI-powered spatial intelligence for landscape restoration — now in any MCP client.

Built for the World Bank's $256M RESILAND CA+ program covering Uzbekistan, Kazakhstan, Kyrgyzstan, Tajikistan, and Turkmenistan.

PyPI version Python versions License: Apache 2.0 MCP compatible

</div>


mcp-resilland is a Model Context Protocol server that makes the full power of the RESILAND Intelligence platform available to Claude Desktop, Cursor, Continue, Windsurf, Zed, and any other MCP-capable client.

Ask your AI assistant questions like:

"Analyze cadastral parcel 1248 in Samarqand for drought-tolerant restoration, cite the Phase 4 policy documents, and generate a feasibility report in Turkish."

…and the model will call the right sequence of tools — pulling cadastral geometry, 12-month Sentinel-2 NDVI, OSM infrastructure proximity, country climate indicators, curated species fit, and pgvector-backed policy RAG — then synthesize the answer with Opus 4.7 on the RESILAND backend.


Features

  • 🗺️ 3,563 cadastral forest parcels (Uzbekistan pilot) + all 5 RESILAND CA+ countries
  • 🌱 Curated species catalog — 64 Central Asia tree/shrub species with climate profile, tolerances, restoration priorities, nursery availability
  • 🛰️ Sentinel-2 NDVI history — 12-month median per parcel from local Cloud-Optimized GeoTIFFs
  • 🌡️ Country climate indicators — ERA5 temperature, CHIRPS precipitation, GWIS FWI fire danger, SPI-3 drought, WRI water stress, Hansen tree-cover loss, MODIS dust
  • 🛣️ OSM infrastructure proximity — nearest road / settlement / water body across ~370K features for all 5 countries
  • 📄 Phase 4 policy RAG — pgvector semantic search across World Bank Phase 4 feasibility and nursery handbooks
  • 🤖 Opus 4.7 feasibility reports — 10-section Phase 4-style markdown with citations and token/cost accounting
  • 🌐 Four-language output — English · Türkçe · Русский · Oʻzbekcha

Install

pip install mcp-resilland

Or, if your MCP client supports it (recommended for Claude Desktop):

uvx mcp-resilland

Configure

Create an API key on the RESILAND dashboard: https://resilland.com/settings/api-keys

(Keys are free with soft daily/weekly/monthly quotas — no credit card.)

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "resilland": {
      "command": "uvx",
      "args": ["mcp-resilland"],
      "env": {
        "RESILLAND_API_KEY": "rsi_live_..."
      }
    }
  }
}

Cursor / Continue / Windsurf / Zed

Any MCP-capable client. Point the stdio transport at the mcp-resilland binary with the same environment variable.

Self-hosted backend

If you run your own RESILAND Intelligence instance, override the upstream:

export RESILLAND_BASE_URL=http://localhost:8000
export RESILLAND_API_KEY=rsi_live_...
mcp-resilland

Capabilities

Tools (16)

Tool What it does
get_balance Current API key quota state + totals
list_models Available models + supported locales/countries
list_parcels Cadastral parcel search (country / viloyat / tuman / bbox)
get_parcel Parcel detail + nearest OSM + nearest nurseries
list_nurseries Nurseries across the RESILAND region
get_nursery Single nursery detail
analyze_area Full spatial context: NDVI · climate · species · infrastructure · RAG
generate_feasibility_report Opus 4.7 Phase 4-style markdown report with citations
translate_brief EN ↔ TR ↔ RU ↔ UZ translation, markdown-preserving
get_stats_overview Platform-wide KPIs (docs, chunks, NDVI, parcels, area, reports) ⭐ v0.2
get_stats_summary Viewport-scoped counts (bbox filter) ⭐ v0.2
list_reports List owned feasibility reports (language / scope / status filter) ⭐ v0.2
get_report Full report detail — sections, siblings, shares, extra_metadata ⭐ v0.2
translate_report Translate a report to another language (background task) ⭐ v0.2
create_report_share_link Mint a 7-day public share URL ⭐ v0.2
get_report_pdf_url Signed PDF URL (no binary streaming, MCP-friendly) ⭐ v0.2

Resources (8)

Resources are URI-addressable, read-only views the host can surface as "attach to chat" items, sidebar references, or autocomplete targets.

URI Returns
resiland://info Server version + runtime config
resiland://parcels/{parcel_id} Parcel detail (same shape as get_parcel)
resiland://nurseries Full nursery collection
resiland://species/{species_id} Curated species record (climate profile, tolerances, restoration use-cases)
resiland://climate/{country} Country-level climate indicators
resiland://reports List of reports owned by the API-key user ⭐ v0.2
resiland://reports/{report_id} Full report detail (sections, siblings, shares, extra_metadata) ⭐ v0.2
resiland://stats/overview Live platform KPIs (same shape as the /stats dashboard) ⭐ v0.2

Prompts (3)

Pre-canned conversation starters the user can pick from their client's prompt picker.

Prompt Purpose
restoration_brief Produce a structured restoration recommendation for an area
species_matchmaker Pick tree species matching given site conditions
report_center_workflow Generate → translate → share → summarise a full Phase 4 report in one conversation ⭐ v0.2

Example conversations

You:   List all RESILAND-9 nurseries in Kazakhstan.
Claude: [calls list_nurseries(country="KAZ", category="RESILAND-9")]
        Here are the 9 RESILAND program nurseries in Kazakhstan…

You:   For parcel 1248, what are the top three drought-tolerant species?
Claude: [calls analyze_area(parcel_id=1248, query="drought tolerant")]
        Based on the curated species fit and Phase 4 RAG citations,
        the top three are Haloxylon ammodendron, Elaeagnus angustifolia,
        and Ulmus pumila…

You:   Generate a full feasibility report for the Dargom nursery in Turkish.
Claude: [calls generate_feasibility_report(nursery_id="…", locale="tr")]
        I've prepared a 2,300-word Turkish feasibility report.
        Estimated cost: $0.08. Sources cited: 7 Phase 4 chunks…

Architecture

    MCP Client (Claude Desktop / Cursor / Continue / Windsurf / Zed)
                          │  stdio (JSON-RPC)
                          ▼
                    mcp-resilland
              (FastMCP 3.x · Python 3.10+)
                          │  httpx async
                          ▼
              RESILAND Intelligence backend
                  https://resilland.com/v1/public/*
                          │
          ┌───────────────┼────────────────┐
          ▼               ▼                ▼
       PostGIS         pgvector         Opus 4.7
   (parcels · OSM)   (Phase 4 RAG)    Sonnet 4.6
                                       Haiku 4.5

The MCP server is a stateless proxy. It does not compute, store, or cache — all state lives on the RESILAND backend (PostGIS for geometry, pgvector for RAG, MinIO for tiles, Redis for the Anthropic response cache).


Development

git clone https://github.com/ilhankilic/mcp-resilland
cd mcp-resilland
pip install -e ".[dev]"

# Run against a local RESILAND backend:
RESILLAND_BASE_URL=http://localhost:8000 RESILLAND_API_KEY=rsi_live_... \
    python -m mcp_resilland

# Run tests:
pytest

Project layout

mcp-resilland/
├── pyproject.toml           # hatchling · Apache-2.0 · Python 3.10+
├── README.md                # this file
├── LICENSE                  # Apache 2.0
├── src/mcp_resilland/
│   ├── __init__.py          # package metadata
│   ├── __main__.py          # mcp-resilland console script entrypoint
│   ├── server.py            # FastMCP instance + module wiring
│   ├── client.py            # httpx async client (bearer auth)
│   ├── tools.py             # 9 MCP tools
│   ├── resources.py         # 4 MCP resources (URIs)
│   └── prompts.py           # 2 MCP prompts
└── tests/                   # pytest + respx

Authors

  • İlhan Kılıç — lead engineer, architect
  • Enis Kaan Keskin — spatial data, biodiversity modeling

Acknowledgments

We are grateful for the invaluable advisory support of:

  • İsmail Belen — President, United Nations Forum on Forests (UNFF)
  • Doç. Dr. Hülya Hernandez — FAO Türkiye Office (Food and Agriculture Organization of the United Nations, Türkiye Office)

Their guidance on international forest policy frameworks, landscape restoration standards, and Central Asia ecological context was instrumental in shaping this work.

We also thank the World Bank for the RESILAND CA+ Phase 4 feasibility documentation that forms the semantic-search corpus of this platform.


Links


License

Licensed under the Apache License, Version 2.0. See LICENSE.

Copyright © 2026 İlhan Kılıç and Enis Kaan Keskin.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选