mcp-arcgis
A read-only MCP server for searching ArcGIS Online content and querying hosted feature layers, allowing natural language interaction with AGOL items and feature services.
README
mcp-arcgis — ArcGIS Online (AGOL) MCP server
A FastMCP server for searching content and
querying hosted feature layers in ArcGIS Online. It talks to the AGOL Sharing
REST and Feature Service REST APIs directly with requests — no heavy arcgis
Python package required.
Read-only by design. It searches items and queries features; it never adds, updates, or deletes anything.
Tools
Connection / discovery
whoami— signed-in user + portal info (connectivity smoke test)search_items— search org/public content (query,item_type,sort_field)get_item— full portal metadata for an item idlist_layers— layers & tables of a feature service (ids, names, geometry types)describe_layer— fields, geometry type, extent, record count for one layer
Query
query_features— attribute/paged query →{count, exceededTransferLimit, features}count_features— count matching awhereclause (cheap sizing before a pull)
Identify a layer to describe/query by either a feature-service item_id
(+ layer_index, default 0) or a direct service_url (a .../FeatureServer
root plus layer_index, or a full .../FeatureServer/0 layer URL).
Example
search_items(query="parcels", item_type="Feature Service")
list_layers(item_id="abcd1234…")
describe_layer(item_id="abcd1234…", layer_index=0)
count_features(item_id="abcd1234…", where="STATUS = 'Active'")
query_features(item_id="abcd1234…", where="ACRES > 5",
out_fields="OBJECTID,NAME,ACRES", order_by="ACRES DESC", limit=50)
Auth
Set "auth" in config.json:
| value | how it signs in |
|---|---|
user (default) |
Named user: username + password from the env var named by password_env (in .env). A token is generated against the portal and cached. |
api-key |
API key from the env var named by api_key_env. |
anonymous |
No sign-in; only public content/layers are reachable. |
url is your organization's portal (e.g. https://yourorg.maps.arcgis.com) or
https://www.arcgis.com. max_records caps how many features a single
query_features call returns (default 2000); page with offset for more.
No secrets live in config.json — only the name of an environment variable.
Setup
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
copy config.example.json config.json # edit url + username
copy .env.example .env # set ARCGIS_PASSWORD
.\.venv\Scripts\python.exe server.py # smoke test (Ctrl+C to stop)
Register with an MCP client
See examples/mcp.json — point command at the venv's python.exe and args
at server.py, using absolute paths.
Use with Claude Desktop
Claude Desktop reads MCP servers from claude_desktop_config.json
(Settings → Developer → Edit Config). Add this server under mcpServers
with absolute paths to the venv Python and server.py, then fully quit and
reopen Claude Desktop.
License
MIT — see LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.