PlaceRoot – keyless map tools for AI agents (places, geocode, routing) PlaceRoot, an independent project by vibemapper, released an MCP server that grounds AI agents in open map data from Overture Maps, offering 42 tools for spatial questions such as nearby places, geocoding, and routing without requiring an API key or signup. The server reads Overture's public data directly, supports real street-graph routing and isochrones, and can be run via PyPI or npm, with integrations for Claude Code, Claude Desktop, and Cursor. Quick start quick-start · Tools what-it-can-do · Reference https://github.com/chuofringer/placeroot/blob/main/docs/REFERENCE.md · Benchmarks https://github.com/chuofringer/placeroot/blob/main/docs/benchmarks.md · Website https://placeroot.dev PlaceRoot grounds AI agents in open map data. It's an MCP server that answers spatial questions — what's nearby, what's in this neighborhood, how do I get there — from Overture Maps https://overturemaps.org open data. No API key, no signup, no vendor platform. An independent project by vibemapper https://vibemapper.dev . - 🎯 Answers, not data dumps. Every tool returns compact, ranked results sized for an agent's context window — never a raw GeoJSON dump. - 🗺️ Real routing, zero keys. route and isochrone walk an actual street graph built from Overture's transportation segments — not a straight-line guess — anywhere on Earth. - 🚶 Reachability-filtered search. find places ..., within={"minutes": 15, "mode": "walk"} keeps only results truly inside the street-graph walk/cycle/driveshed — not a radius that guesses at it, and not a second call to intersect a polygon yourself. - 🏙️ Rich, filterable place data. Category, brand, confidence, operating status, contactability — sourced from Overture's open dataset contributed by Meta, Uber, TomTom, and others . - 📐 Boundary-accurate. Search inside a named place's real administrative polygon, not a guessed radius circle. - ⚡ Zero setup. Reads Overture's public data directly — no key, no database, nothing to install beyond the server itself. Run it straight from PyPI or npm — no install step: uvx placeroot stdio MCP server uvx placeroot --http HTTP endpoint at http://127.0.0.1:8321/mcp Add to Claude Code claude mcp add placeroot -- uvx placeroot Add to Claude Desktop Add to your claude desktop config.json : { "mcpServers": { "placeroot": { "command": "uvx", "args": "placeroot" } } } Add to Cursor / other MCP clients Same config as above wherever your client keeps its MCP server list. Prefer npm? Use "command": "npx", "args": "placeroot" . { "mcpServers": { "placeroot": { "command": "npx", "args": "placeroot" } } } Then ask your agent something spatial: "What's around downtown Palo Alto?" · "Compare these two neighborhoods for a bike shop." · "Plan my errands: pharmacy, hardware store, post office." 42 tools , grouped into four families — every answer fits in a couple of thousand tokens: | Family | Tools | Answers questions like | |---|---|---| 🔍 Search & identify | find places , find near , geocode , reverse geocode , place details , search categories , warmup city , … | What cafés are near this point? Coffee near the Eiffel Tower? | 📊 Area analysis | summarize area , compare areas , neighborhood verdict , summarize buildings , land use at , … | What's in this neighborhood, should I live here, and how does it differ from that one? | 🚴 Routing | route , from to , isochrone , optimize route , places along route , distance matrix , travel time matrix | How far to walk from A to B? What's reachable in 15 minutes? Best order for 6 stops? | 🗺️ Geometry & maps | render map , simplify geometry | Show me this result as an interactive map | It also ships seven workflow prompts site selection, neighborhood comparison, errand planning, should I live here, get to know my city, verify listing claims, plan area visit and three attachable resources — and a PLACEROOT TOOLS setting to load only the tool profiles you need, cutting schema overhead by up to 95%. 📚 Full tool catalog, prompts, resources & configuration → docs/REFERENCE.md /chuofringer/placeroot/blob/main/docs/REFERENCE.md Note Open data has honest limits: no live traffic, no opening hours, no ratings or photos — what PlaceRoot deliberately doesn't do /chuofringer/placeroot/blob/main/docs/REFERENCE.md what-it-deliberately-does-not-do . For everything else about where things are and what's reachable from them, it answers without a key. It's the only keyless MCP server doing real graph routing over global open map data — with every tool declaring proper MCP annotations /chuofringer/placeroot/blob/main/docs/REFERENCE.md tool-annotations-and-listing-cache-hints so clients know which calls are read-only before prompting you. Stable GERS ids https://docs.overturemaps.org/gers/ let agents hold onto places across turns; local caching makes repeat queries answer in milliseconds and keeps working offline; and the whole thing is self-hostable end to end /chuofringer/placeroot/blob/main/docs/MIRROR.md . How it stacks up against Mapbox MCP and Google Maps MCP: head-to-head benchmarks /chuofringer/placeroot/blob/main/docs/benchmarks-vs.md · token-efficiency numbers /chuofringer/placeroot/blob/main/docs/benchmarks.md . Overture's places theme is derived from business listings, which makes it strong on businesses and thin on the places a family goes on a Saturday — playgrounds, neighbourhood parks, dog parks, beaches. Those features aren't missing from Overture, though; they're in a different theme. Overture's base theme is a direct conflation of OpenStreetMap, and PlaceRoot already queries it for land use at and infrastructure at . The places tools read it too, by default. Nothing is downloaded, built, or hosted — it's one more live scan of the same public Overture release, and it roughly 2.5x es playground coverage 1,552 vs 674 across New York City in release 2026-07-22.0 , with 1,013 of them more than 150 m from any places-theme playground . Every places tool answers from both at once, with no other change: same tools, same response shape, same category filters. The cost is a second dataset scan per places query cached like everything else , and these rows carry no confidence or operating status and are often unnamed — an unnamed playground comes back with name: null rather than being dropped. If you'd rather have the latency than the coverage: export PLACEROOT RECREATION LAYER=0 data version reports the layer whenever it's active. Full details, including why live Overpass queries and raw OSM Parquet were measured and rejected: docs/RECREATION.md /chuofringer/placeroot/blob/main/docs/RECREATION.md . uv sync install dev dependencies uv run pytest offline test suite uv run ruff check . See CONTRIBUTING.md /chuofringer/placeroot/blob/main/CONTRIBUTING.md for dev setup, design rules, and how to propose a tool. Other docs: CHANGELOG /chuofringer/placeroot/blob/main/CHANGELOG.md · SECURITY /chuofringer/placeroot/blob/main/SECURITY.md · publishing /chuofringer/placeroot/blob/main/docs/PUBLISHING.md · website /chuofringer/placeroot/blob/main/docs/WEBSITE.md · running a data mirror /chuofringer/placeroot/blob/main/docs/MIRROR.md · the recreation layer /chuofringer/placeroot/blob/main/docs/RECREATION.md hello@placeroot.dev Developed by vibemapper https://vibemapper.dev . PlaceRoot runs on your machine — no account, no API key, no sign-up. It has no telemetry and sends nothing to us; the only network traffic is your own queries going straight to Overture Maps' public data on AWS S3 or a mirror you configure . Full details: placeroot.dev/privacy.html https://placeroot.dev/privacy.html . The code is MIT /chuofringer/placeroot/blob/main/LICENSE . The data it queries is the Overture Maps public release, licensed per theme — places under CDLA-Permissive-2.0; the OSM-derived themes divisions, transportation, base under ODbL, which asks for attribution on anything user-facing you build from them: © Overture Maps Foundation · © OpenStreetMap contributors ODbL Per-theme obligations: docs/DATA-LICENSE.md /chuofringer/placeroot/blob/main/docs/DATA-LICENSE.md . mcp-name: io.github.chuofringer/placeroot