AI-Powered ArcGIS Enterprise - Natural language interaction with ArcGIS Enterprise using LangChain and MCP.
Extends docker-arcgis-enterprise with AI capabilities, enabling natural language queries to ArcGIS services through LangChain and MCP powered by FastAPI.
graph TB
A[LangChain Agent] --> B[Groq LLM]
A --> C[MCP Server]
C --> D[ArcGIS REST API]
C --> E[ArcGIS Portal Token]
D --> F[ArcGIS Enterprise Server]
- Natural Language Queries: Ask about ArcGIS services like a chatbot
- Service Discovery: Automatically list and find hosted services
- Service Details: Get published service information like layers and extents
- Query Layer: Query layer with parameters such as record counts
For docker ArcGIS Enterprise setup please refer to the References section below.
cd docker-arcgis-enterprise
cp sample.env .env
cp configurebasedeployment.properties.SAMPLE configurebasedeployment.properties
docker-compose up -dcurl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{"message": "What services are available in ArcGIS Server?"}'curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{"message": "Is there a service called TouristAttractions?"}'To enable tool discovery in Cursor, copy the contents of mcp/mcp.json.example to ~/.cursor/mcp.json.
- Frontend: http://localhost:3000
- AI Agent: http://localhost:8000/chat
- MCP Server: http://localhost:8001
- ArcGIS Portal: https://portal.local:7443
- ArcGIS Server: https://server.local:6443
- LLM Agent: LangChain + Groq Llama 3.1 8B
- MCP: FastAPI with Model Context Protocol
- ArcGIS: Enterprise 11.4 (Server, Portal, DataStore)
- Database: PostgreSQL with PostGIS extension
- Docker Issues: Refer to docs/README.md for detailed Docker setup, configuration and troubleshooting
- General Troubleshooting: See docs/README-original.md for Wildsong's comprehensive explainations
Ready to explore ArcGIS Enterprise with AI? 🚀


