Back to MCP Servers

Gis

A Model Context Protocol (MCP) server implementation that connects Large Language Models (LLMs) to GIS operations using GIS libraries, enabling AI assistants to perform accurate geospatial operations and transformations.

location-servicesaillm
By mahdin75
16444Updated 6 months agoPythonMIT

Installation

npx -y gis-mcp

Configuration

{
  "mcpServers": {
    "gis-mcp": {
      "command": "npx",
      "args": ["-y", "gis-mcp"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes

GIS MCP Server

<div align="center">
CategoryBadges
PackagePyPI version PyPI downloads Tests
Installation & TransportDocker Installation Transport Storage
Data SourcesClimate Biodiversity LandCover Movement Satellite Administrative
Agentic AILangChain Agent Example OpenAI Agent Example
CommunityDiscord YouTube DeepWiki
</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

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:

  1. Build the Docker image:
docker build -t gis-mcp .
  1. Run the container (HTTP mode is enabled by default):
docker run -p 9010:9010 gis-mcp

Using Dockerfile.local

The Dockerfile.local installs the package from local source files (useful for development or custom builds):

  1. Build the Docker image:
docker build -f Dockerfile.local -t gis-mcp:local .
  1. Run the container (HTTP mode is enabled by default):
docker run -p 9010:9010 gis-mcp:local

The 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:

  1. Install uv package manager:
pip ins

…
View source on GitHub