Ground AI agents in open map data. MCP server for Overture Maps — compact answers, no API key. This launcher runs the Python server via `uvx placeroot` under the hood, so `npx placeroot` works out of the box.
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.
🎯 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.
🏙️ 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.
This npm package is the Node launcher. The server itself is Python, distributed on PyPI; npx placeroot spawns uvx placeroot under the hood and passes through arguments, stdio, and the exit code, so it behaves exactly like running uvx placeroot directly.
Quick start
Run it straight from PyPI or npm — no install step:
npx placeroot # stdio MCP server
npx placeroot --http # HTTP endpoint at http://127.0.0.1:8321/mcp
Same config as above wherever your client keeps its MCP server list. Prefer running the Python server directly? Use "command": "uvx", "args": ["placeroot"]. This package is a thin wrapper around exactly that.
"What's around downtown Palo Alto?" · "Compare these two neighborhoods for a bike shop." · "Plan my errands: pharmacy, hardware store, post office."
Requirements
Node 18+ for the launcher itself.
uv on your PATH — the launcher shells out to uvx. If it isn't installed, the command exits with install instructions rather than a stack trace. pip install uv works too.
If you already use Python tooling, uvx placeroot skips this launcher entirely and is equivalent.
What it can do
29 tools, grouped into four families — every answer fits in a couple of thousand tokens:
How far by bike? 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 three workflow prompts (site selection, neighborhood comparison, errand planning) and two attachable resources — and a PLACEROOT_TOOLS setting to load only the tool profiles you need, cutting schema overhead by up to 96%.
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.
Ground AI agents in open map data. MCP server for Overture Maps — compact answers, no API key. This launcher runs the Python server via `uvx placeroot` under the hood, so `npx placeroot` works out of the box.
We found that placeroot demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 1 open source maintainer collaborating on the project.
Cursor removed a malicious Claude Code 2.1.313 extension from its marketplace. Socket examines registry records and the initial claims about its distribution.