mcp-arcgis
Provides tools for searching ArcGIS Online content and querying hosted feature layers, including item search, metadata retrieval, layer description, and feature querying with pagination and filtering.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-arcgissearch for feature services related to water"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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)Related MCP server: ArcGIS MCP
Auth
Set "auth" in config.json:
value | how it signs in |
| Named user: |
| API key from the env var named by |
| 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.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rajivdatta/mcp-arcgis'
If you have feedback or need assistance with the MCP directory API, please join our Discord server