Skip to main content
Glama

gdal-mcp

MCP server exposing GDAL/Rasterio operations to AI agents, with a reflection middleware that requires structured justification before executing operations whose methodology matters (CRS choice, resampling method, query extent).

CI License: MIT Python 3.11+ FastMCP 2.0 PyPI Downloads

Install

uvx --from gdal-mcp gdal --transport stdio

Via Docker

docker build -t gdal-mcp .
docker run -i gdal-mcp gdal --transport stdio

Local development

git clone https://github.com/Wayfinder-Foundry/gdal-mcp.git
cd gdal-mcp
uv sync
uv run gdal --transport stdio

Related MCP server: OpenStreetMap MCP Server

Configure your MCP client

Claude Desktop

Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\, Linux: ~/.config/Claude/):

{
  "mcpServers": {
    "gdal-mcp": {
      "command": "uvx",
      "args": ["--from", "gdal-mcp", "gdal", "--transport", "stdio"],
      "env": {
        "GDAL_MCP_WORKSPACES": "/path/to/your/geospatial/data"
      }
    }
  }
}

Restart Claude Desktop. The MCP server indicator should appear, and the raster_* and vector_* tools become available.

Workspace scoping

GDAL_MCP_WORKSPACES is a colon-separated list of directories the server is allowed to touch. If unset, all paths are allowed and a warning is logged.

Optional tool-surface flags: RASTER=true, VECTOR=true. See docs/ENVIRONMENT_VARIABLES.md for the full set.

Tools

  • Raster: raster_info, raster_convert, raster_reproject, raster_stats, raster_query

  • Vector: vector_info, vector_convert, vector_reproject, vector_clip, vector_buffer, vector_simplify, vector_query

  • Resources: catalog (workspace://...), metadata (metadata://...), reference (reference://...), query results (query://result/{id})

  • Prompts: justify_crs_selection, justify_resampling_method, justify_query_extent (and more under src/prompts/)

See TOOLS.md for parameters, return shapes, and worked examples.

The reflection middleware

Tools whose methodology matters refuse to execute until the calling agent produces a structured justification. The flow is:

  1. Agent calls e.g. raster_reproject(dst_crs="EPSG:3857", resampling="cubic", ...).

  2. Middleware checks .preflight/justifications/{domain}/ for a matching hash.

  3. On miss, the call raises ToolError with a hint pointing at the relevant prompt (e.g. justify_crs_selection).

  4. Agent calls the prompt, fills out the Justification schema (intent, alternatives considered, choice, tradeoffs, confidence), and re-invokes the tool with a __reflection payload.

  5. The justification is cached domain-keyed, so a CRS rationale for EPSG:3857 satisfies both raster_reproject and vector_reproject on subsequent calls.

See docs/REFLECTION.md for the schema and cache layout, and docs/PHILOSOPHY.md for why this exists.

Documentation

Troubleshooting

Access denied: path outside allowed workspaces — set GDAL_MCP_WORKSPACES to include the directory in question (see "Workspace scoping").

MCP client doesn't see the server — verify uvx --from gdal-mcp gdal --help runs on its own, then restart the client after editing its config file.

License

MIT — see LICENSE.

Built on FastMCP, Rasterio, pyogrio, and Shapely.

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
3wRelease cycle
6Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    C
    maintenance
    A geospatial MCP server that provides tools for geocoding, routing, elevation profiles, and spatial analysis. It enables AI agents to process GIS file formats like GeoJSON and Shapefiles while performing complex coordinate transformations and distance calculations.
    Last updated
    4
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A comprehensive MCP server providing 30 tools for geocoding, routing, and OpenStreetMap data analysis. It enables AI assistants to search for locations, calculate travel routes, and perform quality assurance checks on map data.
    Last updated
    30
    2
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    An MCP server that enables AI assistants to directly control QGIS for tasks like layer management, feature editing, and map rendering. It provides a suite of 50 tools to execute processing algorithms and manage GIS projects through natural language commands.
    Last updated
    100
    209
    GPL 2.0
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides AI agents with geospatial analytics by querying Overture Maps data directly from S3, enabling place analytics, building composition, land use classification, and transportation analysis.
    Last updated
    13
    4
    MIT

View all related MCP servers

Related MCP Connectors

  • Autopilot MCP server for GEO analyses, reports, content, audits, memories and agents.

  • MCP server for Mireye Earth — federal-source-cited geospatial data for any MCP-aware agent.

  • MCP server connecting AI agents to non-custodial staking data across 130+ networks.

View all MCP Connectors

Latest Blog Posts

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/JordanGunn/gdal-mcp'

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