San Diego Regional GIS MCP

San Diego Regional GIS MCP

Enables natural language interaction with SANDAG's regional GIS datasets for San Diego County, supporting discovery, querying, and spatial analysis of layers like parcels, floodplains, and transit.

Category
访问服务器

README

OpenContext

<p align="center"> <img src="docs/opencontext_logo.png" alt="OpenContext Logo" width="400"> </p>

License: MIT Python 3.11+ MCP Compatible


ESRI Living Atlas MCP — an OpenContext fork that gives AI agents a discovery + query surface over ArcGIS Living Atlas of the World, Esri's curated catalog of authoritative geographic content: feature layers, imagery, boundaries, demographics, environment, live feeds (wildfires, earthquakes, weather), and 100+ pretrained GeoAI models.

Provenance & scope

Living Atlas is a curated catalog, not a single data producer: items are published by Esri teams, federal agencies (FEMA, USDA Forest Service, Census), national mapping agencies, and NGOs, and curated into the Living Atlas by Esri. Membership in the catalog is an ArcGIS Online group membership; this server scopes every query to that group — the same filter the official browse app uses (verified empirically; see docs/CATALOG_NOTES.md).

This server is an unofficial community on-ramp built by Code for Anchorage using ArcGIS Online's public sharing REST API. It is not affiliated with or endorsed by Esri. It is read-only and fully anonymous: it holds no ArcGIS credentials, and premium/subscriber content is intentionally out of scope — subscriber items are flagged honestly in search results, and query attempts against them return a clear one-line explanation rather than a raw error. Every tool response passes through the item's credits (accessInformation); cite those providers — not "Esri" generically — when reporting the data.

Unlike the static-snapshot fleet servers, the catalog here is live and enormous (~10,800 items, updated continuously), so the server queries ArcGIS Online at runtime with light caching (search ~10 min, metadata ~1 h), a single polite retry, and honest "upstream unavailable" errors instead of silently empty results.

Tools exposed

Tool Purpose
living_atlas__search_living_atlas Search the catalog by keyword, with optional item_type (e.g. Feature Layer, Imagery Layer, Deep Learning Package), category, and region filters. Compact rows with access flags (public / subscriber / premium).
living_atlas__get_item Full item metadata: description, credits, license, Living Atlas categories, service URL, layer list
living_atlas__list_categories The Living Atlas category taxonomy (thematic tree + region codes) — exact spellings for the search filters
living_atlas__get_layer_schema A layer's fields (name, type, alias, coded values), so WHERE clauses aren't guessed
living_atlas__get_distinct_values Distinct values in a field (with optional like / where) to confirm exact codes
living_atlas__query_data Query records from a Feature/Map Service layer: where, out_fields, order_by, WGS84 bbox, with a leading TOTAL MATCHING count and server-side result caps
living_atlas__spatial_query_point Point-in-polygon: which features contain a WGS84 lon/lat — flood zones, census tracts, land cover, etc.

All tool IDs are Living Atlas item IDs (32-char hex, from search). Arbitrary ArcGIS service URLs are deliberately not accepted — the server verifies group membership before resolving any service, so it cannot be used as a proxy for non-Living-Atlas content.

Coordinate contract: WGS84 in, WGS84 out (inSR=4326 declared, outSR=4326 requested), matching the rest of the fleet so results compose without reprojection.

Try asking

  • "Find authoritative current wildfire perimeter data — who maintains it and how often is it updated?"
  • "What pretrained GeoAI models exist for tree canopy or land cover?"
  • "What's the FEMA flood zone situation at 61.2176, -149.8936?"
  • "What Living Atlas demographics layers cover Alaska?" (category + region filters)
  • "List the Living Atlas category taxonomy." (list_categories)

Run locally

pip install -r requirements.txt        # or: uv sync
python scripts/local_server.py         # serves http://localhost:8000/mcp

config.yaml ships pre-configured (the living_atlas plugin is the only one enabled). Validate with:

python -c "from core.validators import load_and_validate_config; load_and_validate_config('config.yaml')"

Live smoke test against the real catalog (network required):

python scripts/smoke_living_atlas_live.py

Connect Claude Desktop/Code through stdio_bridge.py or the Go client in client/ — see docs/GETTING_STARTED.md.

Deploy

Same Lambda + API Gateway pattern as the rest of the fleet, with cost controls on by default (reserved concurrency 10, API quota + throttle, WAF per-IP rate limit, CloudWatch spike alarms, 14/30-day log retention):

./scripts/deploy.sh --environment staging
./scripts/deploy.sh --environment prod    # living-atlas.codeforanchorage.org

The prod endpoint is https://living-atlas.codeforanchorage.org/mcp. DNS for codeforanchorage.org is managed externally (DreamHost): after the first prod apply, create the ACM validation CNAME and the CNAME to the API Gateway regional domain shown in the Terraform outputs.

Catalog scoping (for maintainers)

The Living Atlas filter, query grammar, categories AND/OR semantics, category taxonomy, and premium markers are documented in docs/CATALOG_NOTES.md, with the raw captured requests in capture/raw_curl.txt. That file is the one future portal-catalog forks should read first.

Explicitly out of scope

  • Authenticated/premium content access (no tokens, ever)
  • Anything write-shaped — the server is read-only
  • Mirroring or bulk-downloading the catalog (search live, cache lightly)

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选