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.
Arcgis Portal Mcp is an MCP project maintained in the asem-d/arcgis-portal-mcp repository. The maintainer describes its purpose as “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”. Read the project documentation for the complete scope.
The project provides a local client configuration using python. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.
Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| connect_portal | Authenticate with the portal (auto, token, username/password, client_credentials, or OAuth2) |
| search_content | Search items by keyword, type, and owner |
| get_item_details | Get detailed metadata for a specific item |
| list_layers | List layers in a feature/map service with geometry types and counts |
| describe_layer | Get full layer schema: fields, types, domains, subtypes, relationships, extent, renderer |
| query_features | Query features with attribute/spatial filters, pagination, and distinct values |
| list_users | List portal users with roles and status |
| list_groups | List portal groups with access levels |
| portal_health | Check portal health and system status |
| server_status | Check MCP server connection state |
| search_users | Search portal users by name, email, or username |
| check_service_health | Ping a service endpoint and return status, latency, version, and capabilities |
| get_item_thumbnail | Download an item's thumbnail image to a local file |
| add_features | Add new features to a hosted feature layer |
| update_features | Update existing features (by OBJECTID) |
| delete_features | Delete features by OBJECTIDs or WHERE clause |
| apply_edits_batch | Apply adds, updates, and deletes in one atomic transaction |
| get_user_details | Get detailed user profile (role, privileges, storage, last login) |
| create_group | Create a new group with access control |
| update_group | Update group properties (title, description, visibility) |
| delete_group | Delete a group from the portal |
| list_group_users | List users in a specific group |
| invite_to_group | Invite users to a group with a role assignment |
| remove_from_group | Remove users from a group |
| update_item | Update item properties (title, description, tags, access, accessInformation, licenseInfo) |
| delete_item | Delete an item from the portal |
| share_item | Share/unshare an item with everyone, org, or specific groups |
| get_item_data | Read item data (web map JSON, app config, feature collections) |
| create_folder | Create a content folder for organizing items |
| list_folders | List content folders for a user |
| delete_folder | Delete a content folder (and all items it contains) |
| clone_item | Clone an item within the same portal |
| move_items | Reassign item ownership between portal users |
| upload_item | Upload a local file (CSV, Shapefile, etc.) to portal content |
| publish_from_item | Publish an uploaded item as a hosted feature service (CSV layerInfo auto-generated when omitted) |
| create_service | Create an empty hosted feature service with schema |
| get_gp_task_info | Inspect GP tool schemas: list tasks or view parameter definitions before execution |
| execute_gp_task | Run a synchronous geoprocessing task |
| submit_gp_job | Submit an async GP job and get a job ID for polling |
| get_gp_job_status | Check status of a running async geoprocessing job |
| export_map_image | Export a MapServer/FeatureServer layer as JPG/PNG/GIF/PDF/SVG |
| portal_system_info | Get portal version, platform, and system info (admin) |
| list_licenses | Get license information and assignments (admin) |
| portal_usage | Get portal usage statistics: users, API calls, storage (admin) |
| get_org_settings | Get organization settings (admin) |
| update_org_settings | Update organization settings (admin) |
| batch_delete_items | Delete multiple items at once |
| batch_share_items | Share/unshare multiple items with the same audiences |
| batch_update_items | Update properties of multiple items at once |
| explore_item_relationships | Explore item relationships: services, web maps, layers, apps |
| audit_group_members | Audit group membership: who's in which groups, inactive users |
| scan_service_dependencies | Scan feature service dependencies: broken links, missing sources |
| analyze_item_impact | Analyze item impact: what breaks if an item is deleted |
| get_usage_analytics | Get portal usage analytics: API calls, active users, storage trends |
| portal_inventory | Scan portal content: item counts by type, owner, age, and storage |
| bulk_reassign_ownership | Bulk transfer content ownership between users |
| offboard_user | Offboard a user: transfer content, remove from groups |
| list_webhooks | List all organization webhooks |
| create_webhook | Create a new organization webhook with event triggers |
| update_webhook | Update webhook properties (name, URL, triggers, active state) |
| delete_webhook | Delete a webhook by ID |
| test_webhook | Send a test payload to verify webhook connectivity |
| query_logs | Query portal logs with level, source, and time filters |
| clean_logs | Delete portal logs older than a specified time |
| list_collaborations | List all collaborations the portal participates in |
| get_collaboration | Get details of a specific collaboration |
| sync_collaboration | Trigger sync for a collaboration workspace |
| list_roles | List all organization roles with their privileges |
| get_role_privileges | Get privileges for a specific role |
| list_scheduled_tasks | List all scheduled tasks in the organization (admin) |
| get_user_scheduled_tasks | List scheduled tasks for a specific user |
| scan_broken_references | Scan web maps/apps for unreachable service URLs (item or group-level) |
| find_stale_items | Find items not modified in N days with governance violation detection |
| export_group_content | Export group items to an .epk package for content migration (Enterprise only) |
| import_group_content | Import items from an .epk package into a target group (Enterprise only) |
| list_server_services | List services on the hosting server with statuses, per folder |
| get_service_details | Get full admin configuration of a service (status, instances, capabilities) |
| start_service | Start a stopped service on the hosting server |
| stop_service | Stop a service (destructive, requires confirm=true) |
| list_server_machines | List machines in the hosting server site with roles and statuses |
| list_data_stores | List registered data stores (databases, folders, cloud stores) |
{
"mcpServers": {
"arcgis-portal": {
"command": "python",
"args": [
"-m",
"arcgis_portal_mcp.server"
],
"cwd": "/path/to/arcgis-portal-mcp"
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Facilitates interaction with the PyTorch HUD API, providing access to CI/CD data, job logs, and analytics.
MCP server for 1C:Enterprise (1С) over OData. Ask your accounting database in natural language — debtors, sales, taxes, cash flow — from any MCP
Your AI marketing analyst, connected to live data. 75 MCP tools across Google Ads, Meta Ads, GA4, Search Console, Shopify, Stripe and WordPress — read, analyze, manage, and monitor.
Draft, schedule and publish LinkedIn posts, reply to comments and read analytics via 2pr.io.
Read Accredible credentials, groups, designs, analytics, skills; issue one credential as a draft.