GDAL MCP
Provides AI agents with comprehensive geospatial analysis capabilities, enabling complex raster and vector operations, coordinate reference system (CRS) transformations, and format conversions through the GDAL library.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GDAL MCPReproject this DEM to UTM Zone 17N and justify your resampling choice."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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).
Install
Via uvx (recommended)
uvx --from gdal-mcp gdal --transport stdioVia Docker
docker build -t gdal-mcp .
docker run -i gdal-mcp gdal --transport stdioLocal development
git clone https://github.com/Wayfinder-Foundry/gdal-mcp.git
cd gdal-mcp
uv sync
uv run gdal --transport stdioRelated 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_queryVector:
vector_info,vector_convert,vector_reproject,vector_clip,vector_buffer,vector_simplify,vector_queryResources: catalog (
workspace://...), metadata (metadata://...), reference (reference://...), query results (query://result/{id})Prompts:
justify_crs_selection,justify_resampling_method,justify_query_extent(and more undersrc/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:
Agent calls e.g.
raster_reproject(dst_crs="EPSG:3857", resampling="cubic", ...).Middleware checks
.preflight/justifications/{domain}/for a matching hash.On miss, the call raises
ToolErrorwith a hint pointing at the relevant prompt (e.g.justify_crs_selection).Agent calls the prompt, fills out the
Justificationschema (intent, alternatives considered, choice, tradeoffs, confidence), and re-invokes the tool with a__reflectionpayload.The justification is cached domain-keyed, so a CRS rationale for EPSG:3857 satisfies both
raster_reprojectandvector_reprojecton subsequent calls.
See docs/REFLECTION.md for the schema and cache layout, and docs/PHILOSOPHY.md for why this exists.
Documentation
TOOLS.md — tool reference
docs/ENVIRONMENT_VARIABLES.md — runtime config
docs/REFLECTION.md — reflection middleware internals
docs/PHILOSOPHY.md — design philosophy and direction
docs/ROADMAP.md — release history and direction
CHANGELOG.md — versioned changelog
CONTRIBUTING.md — contribution guide
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.
This server cannot be installed
Maintenance
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
- Alicense-qualityCmaintenanceA 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 updated4MIT
- AlicenseBqualityDmaintenanceA 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 updated302MIT
- AlicenseBqualityAmaintenanceAn 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 updated100209GPL 2.0
- AlicenseAqualityDmaintenanceAn 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 updated134MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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