npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

placeroot

v0.10.0

Published

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.

Readme

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.

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
claude mcp add placeroot -- npx placeroot

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "placeroot": {
      "command": "npx",
      "args": ["placeroot"]
    }
  }
}

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.

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

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

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

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.

Documentation

Full docs, the complete tool reference, and setup guides: placeroot.dev

License

MIT