
PlaceRoot
io.github.chuofringerPublished by GitHub account chuofringerv0.12.0Updated Oct 24, 2026
Grounds AI agents in Overture Maps open data — compact answers, no API key.
Overview
A local MCP server that answers spatial questions — nearby places, area summaries, routing and reachability — from Overture Maps open data, with no API key.
- What you can do
- Search and identify places: find places, nearby search, geocoding and reverse geocoding, place details, category search, city warmup, with reachability filters by walk, cycle or drive time and administrative-boundary search. Analyze areas: summarize and compare neighborhoods, give a neighborhood verdict, summarize buildings, land use and transit stops. Route and measure: point-to-point routes, isochrones, route optimization, places along a route, distance and travel-time matrices, GPS trace map matching. Render results as interactive maps and simplify geometry. Ships workflow prompts and resources, plus a setting to load only selected tool profiles.
- When to use it
- Useful when an assistant needs grounded answers about what is near a location, what a neighborhood contains, or what is reachable within a given time, without signing up for a commercial maps API. Suited to site selection, neighborhood comparison, errand planning and travel-time questions.
- Requirements
- Runs as a local process over stdio, launched with uvx (PyPI) or npx (npm); an optional HTTP mode is available. No account, API key or signup. Network access to Overture Maps public data on AWS S3, or a configured mirror. Optional environment variable PLACEROOT_CACHE set to off disables the local tile cache.
Installation
In SourceWeft
- Open PlaceRoot in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Quick start · Tools · Reference · Benchmarks · Website
[CI] [PyPI] [npm] [Python versions] [License: MIT] [Listed on mcpservers.org] [Listed on awesome-mcp-servers] [Listed on Cursor Directory] [PlaceRoot Glama MCP score]
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 open data. No API key, no signup, no vendor platform.
An independent project by vibemapper.
- 🎯 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.
routeandisochronewalk 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.
Quick start
Run it straight from PyPI or npm — no install step:
Add to Claude Code
Add to Claude Desktop
Add to your claude_desktop_config.json:
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"].
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."
What it can do
48 tools, grouped into four families — every answer fits in a couple of thousand tokens:
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
[!NOTE] Open data has honest limits: no live traffic, no opening hours, no ratings or photos — what PlaceRoot deliberately doesn't do. For everything else about where things are and what's reachable from them, it answers without a key.
Why PlaceRoot
It's the only keyless MCP server doing real graph routing over global open map data — with every tool declaring proper MCP annotations so clients know which calls are read-only before prompting you. Stable GERS ids 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.
How it stacks up against Mapbox MCP and Google Maps MCP: head-to-head benchmarks · token-efficiency numbers.
Recreation places
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.5xes playground coverage (1,552 vs 674 across New York City, measured once on release 2026-07-22.0 — counts drift release to release — 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:
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.
Development
See CONTRIBUTING.md for dev setup, design rules, and how to propose a tool. Other docs: CHANGELOG · SECURITY · publishing · website · running a data mirror · the recreation layer
Contact
Developed by vibemapper.
Privacy Policy
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.
License and attribution
The code is MIT. 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.
mcp-name: io.github.chuofringer/placeroot
Source: README.md at commit 97624e5
Tools
0Version history
3- v0.12.0LatestOct 19, 2026
- v0.11.0Oct 10, 2026
- v0.10.0Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts