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 geospatial operations and transformations.
claude mcp add --transport stdio mahdin75-gis-mcp uvx gis-mcp
How to use
GIS MCP Server exposes a geospatial function suite that connects LLMs to GIS operations. The server wraps libraries such as Shapely, PyProj, GeoPandas, Rasterio, and PySAL, enabling an AI agent to perform spatial calculations, transformations, spatial joins, reprojection, buffering, and analysis directly from natural language prompts. You can query the agent to extract geospatial insights, transform coordinates between CRS systems, manipulate vector and raster data, and run common GIS analyses through the MCP interface. Use cases include embedding geospatial reasoning into chatbots, automating map-based data processing, and enabling agents to reason about location data with built-in GIS tooling. To start exploring, launch the server and invoke its capabilities via the MCP client tools or your own agent integration that communicates with the MCP endpoint.
How to install
Prerequisites:
- Python 3.9+ installed on your system
- Optional: Docker if you prefer containerized deployment
- Optional: uvx CLI (installed via pipx or pip) to run Python MCP servers
Installation steps (via Python package):
-
Install the GIS MCP package from PyPI: pip install gis-mcp
-
Run the MCP server (uses uvx to start the package): uvx gis-mcp
Alternative (via pipx):
-
Install pipx if you don’t have it: python -m pip install --user pipx python -m pipx ensurepath
-
Install and runGIS MCP with pipx: pipx install gis-mcp pipx run gis-mcp
Docker alternative:
- Follow the Docker Installation guide in the README (not shown here). Typically this would involve pulling a GIS MCP image and running it with appropriate port mappings and volume mounts for data access.
Additional notes
Environment variables can customize data access and API usage:
- OPENAI_API_KEY: required if you’re using OpenAI-based agents
- GIS_DATA_DIR: path to a local data directory for GIS assets
- GIS_DATA_SOURCE: URL or identifier for remote data sources Common issues and tips:
- Ensure Python 3.9+ is installed and available in your PATH when using uvx
- If using Docker, confirm that data volumes are mounted with correct permissions
- When upgrading gis-mcp, review breaking changes in the changelog and test agent prompts that rely on specific GIS functions
- For large datasets, consider configuring memory limits for the container or Python process
- If the agent cannot access certain libraries, install optional GIS dependencies (e.g., GDAL, GEOS) per your OS guidelines
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP