Skip to main content
Glama

GIS MCP Server

GIS MCP Server

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

Alpha

Version 0.2.0 (Alpha) is under active development. We welcome contributions and developers to join us in building this project.

🎥 Demo

📋 Table of Contents

🚀 Features

  • 🔍 Comprehensive geometric operations (intersection, union, buffer, etc.)

  • 🌐 Advanced coordinate transformations and projections

  • 📏 Precise distance and area calculations

  • 🗺️ Spatial analysis and validation

  • 🛠️ Easy integration with MCP-compatible clients

📋 Prerequisites

  • Python 3.10 or higher

  • MCP-compatible client (like Claude Desktop or Cursor)

  • Internet connection for package installation

🛠️ Installation

Choose the installation method that best suits your needs:

📦 pip Installation

The pip installation is recommended for most users:

  1. Install uv package manager:

pip install uv
  1. Create the Virtual Environment (Python 3.10+):

uv venv --python=3.10
  1. Install the package:

uv pip install gis-mcp
  1. Start the server:

gis-mcp

pip Configuration

To use the pip installation with Claude or Cursor, add the following configuration:

Claude Desktop:

Windows:

{ "mcpServers": { "gis-mcp": { "command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp", "args": [] } } }

Linux/Mac:

{ "mcpServers": { "gis-mcp": { "command": "/home/YourUsername/.venv/bin/gis-mcp", "args": [] } } }

Cursor IDE (create .cursor/mcp.json):

Windows:

{ "mcpServers": { "gis-mcp": { "command": "C:\\Users\\YourUsername\\.venv\\Scripts\\gis-mcp", "args": [] } } }

Linux/Mac:

{ "mcpServers": { "gis-mcp": { "command": "/home/YourUsername/.venv/bin/gis-mcp", "args": [] } } }

After configuration:

  1. Make sure to replace YourUsername with your actual username

  2. For development installation, replace /path/to/gis-mcp with the actual path to your project

  3. Restart your IDE to apply the changes

  4. You can now use all GIS operations through Claude or Cursor!

🛠️ Development Installation

For contributors and developers:

  1. Install uv package manager:

pip install uv
  1. Create the Virtual Environment:

uv venv --python=3.10
  1. Install the package in development mode:

uv pip install -e .
  1. Start the server:

python -m gis_mcp

Development Configuration

To use the development installation with Claude or Cursor, add the following configuration:

Claude Desktop:

Windows:

{ "mcpServers": { "gis-mcp": { "command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python", "args": ["-m", "gis_mcp"] } } }

Linux/Mac:

{ "mcpServers": { "gis-mcp": { "command": "/path/to/gis-mcp/.venv/bin/python", "args": ["-m", "gis_mcp"] } } }

Cursor IDE (create .cursor/mcp.json):

Windows:

{ "mcpServers": { "gis-mcp": { "command": "C:\\path\\to\\gis-mcp\\.venv\\Scripts\\python", "args": ["-m", "gis_mcp"] } } }

Linux/Mac:

{ "mcpServers": { "gis-mcp": { "command": "/path/to/gis-mcp/.venv/bin/python", "args": ["-m", "gis_mcp"] } } }

After configuration:

  1. Make sure to replace YourUsername with your actual username

  2. For development installation, replace /path/to/gis-mcp with the actual path to your project

  3. Restart your IDE to apply the changes

  4. You can now use all GIS operations through Claude or Cursor!

🛠️ Available Tools

Shapely Operations

Basic Operations

Tool

Description

buffer

Create a buffer around geometries with customizable parameters

intersection

Find intersection of two geometries

union

Combine two geometries

difference

Find difference between geometries

symmetric_difference

Find symmetric difference between geometries

Geometric Properties

Tool

Description

convex_hull

Calculate convex hull of a geometry

envelope

Get bounding box of a geometry

minimum_rotated_rectangle

Get minimum rotated rectangle of a geometry

get_centroid

Get the centroid of a geometry

get_bounds

Get the bounds of a geometry

get_coordinates

Get the coordinates of a geometry

get_geometry_type

Get the type of a geometry

Transformations

Tool

Description

rotate_geometry

Rotate a geometry with specified angle and origin

scale_geometry

Scale a geometry with x and y factors

translate_geometry

Translate a geometry with x, y, and z offsets

Advanced Operations

Tool

Description

triangulate_geometry

Create a triangulation of a geometry

voronoi

Create a Voronoi diagram from points

unary_union_geometries

Create a union of multiple geometries

Measurements

Tool

Description

get_length

Get the length of a geometry

get_area

Get the area of a geometry

Validation and Simplification

Tool

Description

is_valid

Check if a geometry is valid

make_valid

Make a geometry valid

simplify

Simplify a geometry with specified tolerance

PyProj Operations

Coordinate Transformations

Tool

Description

transform_coordinates

Transform coordinates between CRS

project_geometry

Project a geometry between CRS

CRS Information

Tool

Description

get_crs_info

Get detailed information about a CRS

get_available_crs

Get list of all available CRS

get_utm_zone

Get UTM zone for given coordinates

get_utm_crs

Get UTM CRS for given coordinates

get_geocentric_crs

Get geocentric CRS for given coordinates

Geodetic Calculations

Tool

Description

get_geod_info

Get information about a geodetic calculation

calculate_geodetic_distance

Calculate geodetic distance between points

calculate_geodetic_point

Calculate point at given distance and azimuth

calculate_geodetic_area

Calculate area of a polygon using geodetic calculations

🛠️ Client Development

Example usage of the tools:

Buffer Operation

Tool: buffer Parameters: { "geometry": "POINT(0 0)", "distance": 10, "resolution": 16, "join_style": 1, "mitre_limit": 5.0, "single_sided": false }

Coordinate Transformation

Tool: transform_coordinates Parameters: { "coordinates": [0, 0], "source_crs": "EPSG:4326", "target_crs": "EPSG:3857" }

Geodetic Distance

Tool: calculate_geodetic_distance Parameters: { "point1": [0, 0], "point2": [10, 10], "ellps": "WGS84" }

🔮 Planned Features

  • Add support for more GIS libraries - GDAL/OGR

  • Implement advanced spatial indexing

  • Add support for raster operations

  • Implement network analysis capabilities

  • Add support for 3D geometries

  • Implement performance optimizations

🤝 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/AmazingFeature)

  3. Commit your changes (git commit -m 'Add some AmazingFeature')

  4. Push to the branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

Please ensure your PR description clearly describes the problem and solution. Include the relevant issue number if applicable.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🔗 Related Projects

📞 Support

For support, please open an issue in the GitHub repository.

🏆 Badges

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

A Model Context Protocol server that connects LLMs to GIS operations, enabling AI assistants to perform accurate geospatial analysis including geometric operations, coordinate transformations, and spatial measurements.

  1. 🎥 Demo
    1. 📋 Table of Contents
      1. 🚀 Features
        1. 📋 Prerequisites
          1. 🛠️ Installation
            1. 📦 pip Installation
            2. 🛠️ Development Installation
          2. 🛠️ Available Tools
            1. Shapely Operations
            2. PyProj Operations
          3. 🛠️ Client Development
            1. Buffer Operation
            2. Coordinate Transformation
            3. Geodetic Distance
          4. 🔮 Planned Features
            1. 🤝 Contributing
              1. 📄 License
                1. 🔗 Related Projects
                  1. 📞 Support
                    1. 🏆 Badges

                      Related MCP Servers

                      • A
                        security
                        A
                        license
                        A
                        quality
                        A Model Context Protocol server that provides LLM Agents with a comprehensive toolset for IP geolocation, network diagnostics, system monitoring, cryptographic operations, and QR code generation.
                        Last updated -
                        16
                        28
                        13
                        Apache 2.0
                      • A
                        security
                        A
                        license
                        A
                        quality
                        A Model Context Protocol server that provides basic mathematical and statistical functions to LLMs, enabling them to perform accurate numerical calculations through a simple API.
                        Last updated -
                        13
                        11
                        39
                        MIT License
                      • A
                        security
                        A
                        license
                        A
                        quality
                        A Model Context Protocol server that provides Google Maps API integration, allowing users to search locations, get place details, geocode addresses, calculate distances, obtain directions, and retrieve elevation data through LLM processing capabilities.
                        Last updated -
                        7
                        163
                        113
                        MIT License
                      • A
                        security
                        A
                        license
                        A
                        quality
                        A Model Context Protocol server that connects Large Language Models to the GeoServer REST API, enabling AI assistants to query and manipulate geospatial data through natural language.
                        Last updated -
                        9
                        38
                        MIT License
                        • Linux
                        • Apple

                      View all related MCP servers

                      MCP directory API

                      We provide all the information about MCP servers via our MCP API.

                      curl -X GET 'https://glama.ai/api/mcp/v1/servers/mahdin75/gis-mcp'

                      If you have feedback or need assistance with the MCP directory API, please join our Discord server