Skip to main content
Glama

geo-mcp

OSM-backed multimodal (walk + transit) navigation MCP server. Gives LLM apps a structured graph of the city so they can geocode, route, explore POIs, and reason about urban layout without proprietary map APIs.

Features

  • Clean Architecture / DDD (Python 3.14): domain pathfinding stays free of OSM/NetworkX details

  • Multimodal graph: OSMnx walking network + OSM transit stops/routes + transfer edges

  • Disk cache: bbox-keyed local graph cache under ~/.cache/geo-mcp/

  • MCP tools compatible with Cursor, Claude Desktop, Codex, etc. (stdio)

Related MCP server: OpenStreetMap MCP Server

Tools

Tool

Purpose

load_area

Fetch/cache walk+transit graph for a place or bbox

geocode

Place / address → coordinates

reverse_geocode

Coordinates → place

plan_route

Multimodal A* path with legs + narrative

find_nearby

Nearby OSM POIs

list_transit_options

Nearby stops and lines

describe_area

Major roads, neighborhoods, landmarks, connectivity notes

snap_to_network

Nearest graph node to a coordinate

Requirements

  • Python 3.14+

  • uv

Install

cd /path/to/geo-mcp
uv sync

Run (stdio MCP)

uv run geo-mcp

Cursor config

Project example: .cursor/mcp.json

Or add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "geo-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/geo-mcp",
        "run",
        "geo-mcp"
      ]
    }
  }
}

Suggested agent flow

  1. geocode the destination (and origin if needed)

  2. load_area for the neighborhood / place

  3. describe_area for spatial context

  4. plan_route with coordinates

  5. Optionally find_nearby / list_transit_options

Tests

uv run pytest

Live OSM smoke (needs network):

uv run python scripts/smoke_route.py

Configuration

Environment variables use the GEO_MCP_ prefix:

  • GEO_MCP_USER_AGENT — Nominatim/Overpass User-Agent

  • GEO_MCP_CACHE_DIR — graph cache directory

  • GEO_MCP_NOMINATIM_URL / GEO_MCP_OVERPASS_URL

Attribution & policy

Architecture

src/geo_mcp/
  domain/           # entities + pure pathfinding
  application/      # use cases + DTOs
  infrastructure/   # OSM adapters + cache
  interfaces/mcp/   # FastMCP tools

MVP limits

  • Transit uses OSM topology / heuristic speeds (not GTFS schedules)

  • Large city-wide bboxes are automatically shrunk around the geocoded center

  • First load_area for a bbox can take a while while Overpass/OSMnx respond

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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
    F
    maintenance
    An experimental MCP server providing spatial context for LLMs by interfacing with French Geoplateforme services. It enables tasks such as geocoding, altitude lookups, and querying administrative, cadastral, or urban planning data.
    10
    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.
    30
    3
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Free geospatial MCP server for AI agents, providing geocoding, reverse geocoding, POI search, and route planning using OpenStreetMap data via Nominatim, Overpass, and OSRM.
    1
    GPL 3.0

View all related MCP servers

Related MCP Connectors

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

  • OpenStreetMap Overpass MCP — programmatic queries against the OSM database

  • Nominatim MCP — wraps OpenStreetMap Nominatim geocoding API (free, no auth)

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/FaresKi/geo-mcp'

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