Overview
arcgis-portal-mcp is an MCP server that gives an AI assistant direct, natural-language access to ArcGIS Enterprise Portal and ArcGIS Online content. It exposes 81 tools for searching, inspecting, editing, publishing, and administering portal items without the Esri Python SDK, talking to the ArcGIS REST API directly. It works with any MCP-compatible client.
Tools
- Search and inspect items, layers, and full layer schemas (fields, domains, subtypes, relationships, renderer)
- Query features with attribute and spatial filters, pagination, and distinct values
- Add, update, and delete features, including atomic batch edits
- Manage users, groups, folders, and item sharing
- Publish services: upload files and publish hosted feature services (CSV schema auto-generated)
- Inspect and run geoprocessing tasks, synchronous and async
- Export map images and read web map and app definitions
- Portal admin: system info, licenses, usage analytics, org settings, webhooks, logs, roles, scheduled tasks
- Governance helpers: broken-reference scanner, stale-content finder, item-impact analysis, bulk ownership transfer, group content export/import
How it works
The server speaks stdio and auto-connects on startup by reading portal credentials from a .env file. It supports token, username/password, client_credentials, and OAuth2 auth, and works with Enterprise portals that require 2FA or use self-signed certificates. Hardening includes read-only mode, tool allowlisting, scoped allowlists, and sanitized audit logging.
Installation
Install from source, then register the stdio server with your MCP client, pointing cwd at the checkout. The server reads credentials from a .env file (package dir, current directory, or ~/.arcgis-portal-mcp/).
{
"command": "python",
"args": [
"-m",
"arcgis_portal_mcp.server"
]
}




