
ArcGIS Portal 和 ArcGIS Online 的开源 MCP 服务器
概览
81个ArcGIS Enterprise Portal和ArcGIS Online工具。 一个模型上下文协议(MCP)服务器,允许AI助手直接访问您的ArcGIS内容。通过自然语言进行搜索、检查、编辑、发布和管理。 可兼容 Claude Desktop、Cursor、VS Code Copilot 以及任何兼容 MCP 的客户端。 这是一个独立的开源项目。与Esri无关联、不认可或赞助。“ArcGIS”是Esri注册商标。 - : upload_item 现在使用正确的 /addItem 端点,publish_from_item发送 ArcGIS 预期的完全相同的线格式(fileType、小写 itemid、发布 URL 中的用户 GUID)。在 Enterprise 12.x 中,旧代码返回了“成功”,但托管服务从未在 ArcGIS Server 上创建。- : 发布一个没有 layerInfo 的 CSV,字段模式会从你的头部和第一行数据自动生成,包括纬度/经度坐标检测。没有 Stratify,ArcGIS 无声地通过 CSV 发布失败。
概述(AI 翻译)
v1.15.0. 81 个适用于 ArcGIS Enterprise Portal 和 ArcGIS Online 的工具。
一个模型上下文协议(MCP)服务器,允许AI助手直接访问您的ArcGIS内容。通过自然语言进行搜索、检查、编辑、发布和管理。
可兼容 Claude Desktop、Cursor、VS Code Copilot 以及任何兼容 MCP 的客户端。
免责声明: 这是一个独立的开源项目。与 Esri 无关联、不认可或赞助。“ArcGIS” 是 Esri 的注册商标。
v1.14.0 有什么新内容
- **ArcGIS Enterprise 12.x 发布修复:
upload_item现在使用正确的/addItem端点,publish_from_item发送 ArcGIS 预期的线格式(fileType,小写itemid,发布 URL 中的用户 GUID)。在 Enterprise 12.x 中,旧代码返回“成功”,但托管服务从未在 ArcGIS Server 上创建。 - CSV 发布就是正常的:发布一个没有
layerInfo的 CSV,字段模式会从你的头部和第一行数据自动生成,包括纬度/经度坐标检测。没有 CSV,ArcGIS 会默默地通过 CSV 发布失败。
v1.13.0 有什么新内容
- Enterprise 搜索修复:
search_items("*")现已在企业门户上运行。
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
arcgis-portal-mcp
v1.15.0. 81 tools for ArcGIS Enterprise Portal and ArcGIS Online.
A Model Context Protocol (MCP) server that gives AI assistants direct access to your ArcGIS content. Search, inspect, edit, publish, and admin through natural language.
Works with Claude Desktop, Cursor, VS Code Copilot, and any MCP-compatible client.
Disclaimer: This is an independent open-source project. Not affiliated with, endorsed by, or sponsored by Esri. “ArcGIS” is a registered trademark of Esri.
What’s new in v1.14.0
- Publishing fixed for ArcGIS Enterprise 12.x:
upload_itemnow uses the correct/addItemendpoint, andpublish_from_itemsends the exact wire format ArcGIS expects (fileType, lowercaseitemid, user GUID in the publish URL). On Enterprise 12.x the old code returned “success” but the hosted service was never created on ArcGIS Server. - CSV publish just works: publish a CSV without a
layerInfoand the field schema is auto-generated from your headers and first data row, including lat/lon coordinate detection. ArcGIS silently fails CSV publish without it.
What’s new in v1.13.0
- Enterprise search fix:
search_items("*")now works on Enterprise portals. Automatically falls back to an access-based query when the literal*returns 0 items. - System content filtering:
portal_inventorynow excludes Esri system accounts (esri_*,portaladmin) by default, giving you accurate counts of your organization’s actual content. Passexclude_system_content=falseto include system content.
What’s new in v1.12.0
portal_inventory: scan portal content with item counts by type, owner, age, and storage. Get a bird’s-eye view of your organization’s content.bulk_reassign_ownership: transfer content ownership between users in bulk. Essential for offboarding and team changes.- `offboard_user: offboard a user by transferring their content and removing them from groups.
- AGOL fix:
portal_inventorynow correctly queries ArcGIS Online organizations (was returning 0 items). - Reliable auto-connect: credentials are always read fresh from
.env, fixing stale-auth issues after gateway restarts.
What’s new in v1.11.1
- Enterprise search fix:
search_items("*")now works on Enterprise portals that requirecontentStatus=all - Auto-reconnect: token expiry during long operations (stale scan, broken refs) triggers automatic re-auth
- Faster broken-ref scanning: HEAD requests instead of GET, falls back on 405
- Better error diagnostics:
admin_requesterrors includehttp_statuscode;server_statusshows auth method and token expiry find_stale_itemsoptimization: only fetches full item details for governance checks on items already classified stale- Consistent field naming:
full_nameeverywhere (wasfullnameinget_user_details) portal_healthnow showsportal_urlandconnected_as
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"arcgis-portal": {
"command": "python",
"args": ["-m", "arcgis_portal_mcp.server"],
"cwd": "/path/to/arcgis-portal-mcp"
}
}
}