GIS MCP Server
<div align="center"> </div> <div align="center"> <h3>✨ Want to perform accurate geospatial analysis in your chatbot? ✨</h3> <p><strong>Install GIS-MCP and transform your AI's spatial capabilities!</strong></p> <br/> <img src="docs/Logo.png" alt="GIS MCP Server Logo" width="300"/> <br/> </div>A Model Context Protocol (MCP) server implementation that connects Large Language Models (LLMs) to GIS operations using GIS libraries, enabling AI assistants to perform geospatial operations and transformations.
🌐 Website: gis-mcp.com
Current version is 0.14.0 (Beta):
We welcome contributions and developers to join us in building this project.
🎥 Demo
<div align="center"> <img src="docs/demo.gif" alt="GIS MCP Server Demo" width="800"/> </div>📋 Table of Contents
- Features
- Prerequisites
- Vibe Coding
- Installation
- Build Your First GIS AI Agent
- Available Functions
- Client Development
- Planned Features
- Contributing
- License
- Related Projects
- Support
- Badges
🚀 Features
GIS MCP Server empowers AI assistants with advanced geospatial intelligence. Key features include:
- 🔹 Comprehensive Geometry Operations – Perform intersection, union, buffer, difference, and other geometric transformations with ease.
- 🔹 Advanced Coordinate Transformations – Effortlessly reproject and transform geometries between coordinate reference systems.
- 🔹 Accurate Measurements – Compute distances, areas, lengths, and centroids precisely.
- 🔹 Spatial Analysis & Validation – Validate geometries, run proximity checks, and perform spatial overlays or joins.
- 🔹 Raster & Vector Support – Process raster layers, compute indices like NDVI, clip, resample, and merge with vector data.
- 🔹 Spatial Statistics & Modeling – Leverage PySAL for spatial autocorrelation, clustering, and neighborhood analysis.
- 🔹 Easy Integration – Connect seamlessly with MCP-compatible clients like Claude Desktop or Cursor IDE.
- 🔹 HTTP/SSE Transport – Run as HTTP service with RESTful storage endpoints for file upload/download operations.
- 🔹 Flexible & Extensible – Supports Python-based GIS libraries and is ready for custom tools or workflow extensions.
🌟 Tip: With GIS MCP Server, your AI can now “think spatially,” unlocking new capabilities for environmental analysis, mapping, and location intelligence.
📋 Prerequisites
- Python 3.10 or higher
- MCP-compatible client (like Claude Desktop or Cursor)
- Internet connection for package installation
Vibe Coding
If you’re building agents via vibe coding, use these context files in your editor so the LLM understands the GIS MCP server:
llms.txt: summarized context for smaller windows.llms-full.txt: full context when your model has a larger window.
🛠 Installation
Choose the installation method that best suits your needs:
🐳 Docker Installation
GIS MCP Server can be run using Docker, which provides an isolated environment with all dependencies pre-installed.
Important: Both Dockerfile and Dockerfile.local have HTTP transport mode enabled by default. The server runs on port 9010 and is accessible at http://localhost:9010/mcp.
Using Dockerfile
The main Dockerfile installs the package from PyPI:
- Build the Docker image:
docker build -t gis-mcp .- Run the container (HTTP mode is enabled by default):
docker run -p 9010:9010 gis-mcpUsing Dockerfile.local
The Dockerfile.local installs the package from local source files (useful for development or custom builds):
- Build the Docker image:
docker build -f Dockerfile.local -t gis-mcp:local .- Run the container (HTTP mode is enabled by default):
docker run -p 9010:9010 gis-mcp:localThe server will be available at http://localhost:9010/mcp in HTTP transport mode.
For more details on Docker configuration and environment variables, see the Docker installation guide.
📦 pip Installation
The pip installation is recommended for most users:
- Install uv package manager:
pip ins
…