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.

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated 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.
Before you install
Read-only spatial queries; no live traffic, opening hours, ratings or photos. Queries go directly to Overture Maps public data on AWS S3 (or a mirror you configure); the project states it has no telemetry. Recreation-layer results from Overture's base theme carry no confidence or operating status and are often unnamed. Local caching is on by default and writes to disk.

Installation

In SourceWeft

  1. Open PlaceRoot in the dashboard and add it to a workspace.
  2. 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

[PlaceRoot — Ask about anywhere. Get a real answer. Open map data for your AI — free, no account, no API key.]

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. 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.

Quick start

Run it straight from PyPI or npm — no install step:

bash
uvx placeroot             # stdio MCP serveruvx placeroot --http      # HTTP endpoint at http://127.0.0.1:8321/mcp
Add to Claude Code
bash
claude mcp add placeroot -- uvx placeroot
Add to Claude Desktop

Add to your claude_desktop_config.json:

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"].

json
{  "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."

What it can do

48 tools, grouped into four families — every answer fits in a couple of thousand tokens:

FamilyToolsAnswers questions like
🔍 Search & identifyfind_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 analysissummarize_area, compare_areas, neighborhood_verdict, summarize_buildings, land_use_at, transit_stops_near, …What's in this neighborhood, should I live here, and how does it differ from that one?
🚴 Routingroute, from_to, isochrone, optimize_route, places_along_route, distance_matrix, travel_time_matrix, map_matchHow far to walk from A to B? What's reachable in 15 minutes? Best order for 6 stops? Which streets did this GPS trace actually take?
🗺️ Geometry & mapsrender_map, simplify_geometryShow 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

[!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:

bash
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.

Development

bash
uv sync           # install dev dependenciesuv run pytest     # offline test suiteuv run ruff check .

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

[email protected]

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.

[PlaceRoot logo mark]

mcp-name: io.github.chuofringer/placeroot

Source: README.md at commit 97624e5

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

3
  1. v0.12.0LatestOct 19, 2026
  2. v0.11.0Oct 10, 2026
  3. 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