geo-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEO_MCP_CACHE_DIR | No | Graph cache directory | |
| GEO_MCP_USER_AGENT | No | Nominatim/Overpass User-Agent | |
| GEO_MCP_OVERPASS_URL | No | Custom Overpass URL | |
| GEO_MCP_NOMINATIM_URL | No | Custom Nominatim URL |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| load_areaA | Load and cache OSM walk+transit graph for a place name or bounding box. Prefer a place query (e.g. "Le Marais, Paris") or an explicit bbox. Must be called before plan_route, describe_area, or snap_to_network. |
| geocodeB | Resolve a place name or address to latitude/longitude and metadata. |
| reverse_geocodeB | Resolve coordinates to a human-readable place. |
| plan_routeA | Plan a multimodal route on the loaded area graph. modes defaults to walk+transit. Use ["walk"] for pedestrian-only. Requires a prior successful load_area call. |
| find_nearbyB | Find nearby points of interest (cafes, pharmacies, parks, etc.). |
| list_transit_optionsB | List nearby transit stops and the lines that serve them. |
| describe_areaA | Describe the loaded area's structure: axes, neighborhoods, landmarks. Useful for giving LLMs city-design context before narrating directions. |
| snap_to_networkB | Snap a coordinate to the nearest loaded graph node (intersection or stop). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct action: geocoding, routing, POI discovery, transit info, area description, and graph snapping. Even similarly named tools like load_area and describe_area are clearly differentiated by their roles (loading data vs. analyzing it).
Tool names follow a consistent lowercase underscore-separated verb_noun pattern (e.g., plan_route, list_transit_options). The exceptions geocode and reverse_geocode are single-word verbs that are standard and clearly related, maintaining consistency in style.
With 8 tools, the set is well-scoped for a geo/routing server. Each tool covers a necessary function without redundancy, and the count is comfortably within the ideal 3-15 range.
The tool surface covers the core geospatial workflow: geocoding, reverse geocoding, graph loading, route planning, POI lookup, transit listing, area description, and coordinate snapping. No obvious gaps exist for the server's stated purpose; the dependency on load_area is clearly documented.