1. Conduid
  2. Developer Tools
  3. GDAL
MCP server · Developer Tools

GDAL

Model Context Protocol server that packages GDAL-style geospatial workflows through Python-native libraries (Rasterio, GeoPandas, PyProj, etc.) to give AI agents catalog discovery, metadata intelligence, and raster/vector processing with built-in reasoning guidance and reference resources.

71Good

Scored 5 hours ago · breakdown

About GDAL

GDAL is an MCP server published by JordanGunn in the Developer Tools category: model Context Protocol server that packages GDAL-style geospatial workflows through Python-native libraries (Rasterio, GeoPandas, PyProj, etc.) to give AI agents catalog discovery, metadata intelligence, and raster/vector processing with built-in reasoning guidance and reference resources.

The repository has 82 stars and 7 forks, with the last commit 4 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/JordanGunn/gdal-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about GDAL

Powered by Claude · Grounded in docs

I know everything about GDAL. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 5 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.1.3[v1.1.3] Hotfix: Annotation Evaluation and CLI Smoke Tests · 1 Feb 2026v1.1.3 Fixed Prevented NameError during tool/resource registration by eagerly evaluating type annotations. Updated raster band statistics to use stats() with safe fallback handling. Added Regression tests ensuring resource/tool annotations…
v1.0.1v1.1.1 - Domain Transcendence · 27 Oct 2025v1.0.1 - "Conversational Guidance" Release Date:** October 26, 2025 Type:** Patch Release Overview A focused refinement of the reflection system's tone and posture, shifting from prescriptive blocking to conversational advisory guidance.…
v1.0.0v1.0.0 - Geospatial reasoning through epistemic prompting. · 25 Oct 2025[1.0.0] - 2025-10-24 🎉 Major Release - First MCP Server with Epistemic Governance The first geospatial AI substrate with epistemic reasoning.** This release introduces a reflection middleware system that requires AI agents to justify…
v0.2.1[v0.2.1] Resource and reasoning upgrades · 11 Oct 2025GDAL MCP v0.2.1 Release Notes Release Date**: October 11, 2025 Codename**: "Directional Awareness" Overview Version 0.2.1 is a hotfix that sharpens the Phase 2B experience delivered in v0.2.0. It refines raster statistics helpers,…
v0.2.0[v0.2.0] Resource taxonomy, catalog system, and workspace scoping · 10 Oct 2025GDAL MCP v0.2.0 Release Notes Release Date**: October 10, 2025 Codename**: "Knowledge Infrastructure" Overview Version 0.2.0 introduces a comprehensive knowledge infrastructure that enables AI agents to reason about geospatial problems…

README

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 FastMCP 2.0 PyPI Downloads

Install

Via uvx (recommended)

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

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.

README fetched from the repository 5 hours ago. The original is authoritative.

Questions

About GDAL

How do I install GDAL?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is GDAL safe to use with an AI agent?

Its trust score is 71 out of 100 (good). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is GDAL still maintained?

Yes — the last commit was 4 months ago. The repository has 82 stars and 7 forks.