Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Search rangefind static indexes: full-text, geo, autocomplete, facets - no server, just files.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"rangefind": {
"command": "npx",
"args": [
"-y",
"rangefind-mcp"
]
}
}
}Run this in your terminal
claude mcp add rangefind -- npx -y rangefind-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"rangefind": {
"command": "npx",
"args": [
"-y",
"rangefind-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"rangefind": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"rangefind-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account xjodoin, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.3.2) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Rangefind is a static search engine for large sites that cannot or should not run a search server.
It builds a sparse inverted index into static files, then lets the browser query that index with HTTP Range requests. The core idea is simple: keep the logical search shards small, but pack them into a small number of static files so deploys and cold starts stay practical.
This repository is the standalone extraction of a production prototype built for a large thesis corpus.
The list below is the compact overview. The [complete feature guide](docs/features.md) explains every supported search lane, build mode, runtime, integration, feature combination, fallback, and deliberate boundary with runnable examples.
rangefind build ./dist indexes built HTML directly, with data-rangefind-* attributes for body scoping, metadata, facets, and sorts.terms/packs/*.bin.gz.dist/runtime.browser.js.rangefind/node) for MCP servers, CLIs, and SSR: same query engine over local index directories (positional file reads) or remote HTTP(S) indexes, with browser-equivalent caching — immutable content-addressed objects cached on disk and in a memory LRU, manifests revalidated with ETags.rangefind/mobile) for React Native/Hermes and other embedded JS hosts: fully offline search over a bundled or downloaded index via positional file reads, or remote HTTP(S) indexes with memory + persistent caching — see docs/mobile.md (covers WebView, Flutter, and native apps too).terms/directory-root. .bin.gz and terms/directory-pages/*.bin.gz.Range coalescing and bounded overfetch.rangefind/route): a CRP/MLD route graph built from OSM road networks into range-addressed cell and overlay objects — point-to-point driving routes with geometry and named steps, travel-time matrices, and multi-stop itinerary optimization, all exact versus a full-graph Dijkstra and served from static files with a bounded fetch set per query; sharded builds share one top overlay and route identically to monolithic ones — see docs/route-graph.md.analysis config): per-document language detection or an explicit language field, per-language light stemmers and stopwords for 20+ languages, script-aware Unicode folding (Latin, Greek, Cyrillic, Arabic, Hebrew, Devanagari), dictionary-free CJK bigram tokenization that is deterministic across Node and every browser, cross-language query expansion with index-evidence base-plan selection, and the whole profile frozen into the manifest so query analysis always matches the index.rangefind build --update adds small delta generations over an existing index — unchanged pack bytes keep their content-addressed names (and CDN cache entries), replaced documents tombstone their old version, and the runtime merges every lane (text, sorted browse, geo, vector, hybrid, suggest, facets) across generations with scores that stay exactly comparable. rangefind build --compact folds generations back into a single index when they pile up.addr:interpolation ranges, structured forward and reverse geocoding, bounded multi-provider civic/postal augmentation (including the Québec RQA adapter), reusable rangefind/osm and rangefind/osm/node integration APIs, and exhaustive geo oracles.opening_hours evaluation; route-aware place search; compact place details; and simplified encoded area geometry for real polygon/line map rendering.scoringStats config + rangefind/scoring-stats), a tiny sharded root manifest (rangefind/shards), lazy shard engines with bbox geo routing and expanding nearest-first search, and merged lanes whose rankings match a monolithic build of the same corpus exactly — see docs/sharded-osm.md.linkRank): the static-site crawler resolves internal links into a document graph and folds a build-time PageRank prior into a sortable numeric doc-value. Well-linked pages win near-ties in ranking (an opt-out multiplicative boost, score *= 1 + boost*linkRank, applied as a bounded window rerank with no change to the scoring hot loop), you can sort by authority, and there is zero query-time graph traversal. Any corpus that knows its own edges can opt in with the turnkey examples/link-graph-enrich.mjs enricher (or the exported rangefind/link-graph helper); see docs/link-graph.md.Most browser search libraries assume the browser downloads a whole index, or they optimize for smaller sites. Rangefind is for the case where you want:
Demos: https://rangefind.dev/ — an OpenStreetMap map search backed by the rolling public sharded index (autocomplete, viewport geo queries, and nearest-neighbor) and the minimal example, both served as pure static files.
The already-generated planet-scale OSM index is free to query directly from browsers or Node—no account or API key required:
import { createSearch } from "rangefind";
const engine = await createSearch({ baseUrl: "https://osm.rangefind.dev/" });
See its live coverage and freshness at https://osm.rangefind.dev/. It is a best-effort public service; self-host the index when you need guaranteed capacity, version pinning, custom fields, or an operational SLA. OSM result UIs must display © OpenStreetMap contributors.
npm install
npm run build:example npm run test:smoke npm run serve:example
Open http://localhost:5178/.
Start with the guide that matches the job:
| Guide | Use it for |
|---|---|
| [Feature guide](docs/features.md) | Complete capability catalog, examples, supported combinations, compatibility, and boundaries. |
| [Reference](docs/reference.md) | Configuration properties, builder/runtime APIs, tuning knobs, UI component, and deployment requirements. |
| [Architecture](docs/architecture.md) | Static file layout, range directories, posting retrieval, geo, authority, and vector internals. |
| [Autocomplete guide](docs/autocomplete.md) | Search-as-you-type patterns, measured per-keystroke costs, hydrated previews, instant selection, and the anti-patterns. |
| [OSM example](examples/osm-geo/README.md) | Map search, autocomplete, geocoding, constraints, route corridors, geometry, extraction, and RQA. |
| [Replace Google Maps APIs](https://rangefind.dev/google-maps-api-alternative/) | Free public OSM index, migration adapter, API mapping, complete use cases, production checklist, attribution, and parity boundaries. |
| [Node](docs/node-runtime.md) / [mobile](docs/mobile.md) | Local, remote, cached, embedded, and offline runtimes. |
| [Sharded OSM](docs/sharded-osm.md) | Planet-scale regional builds, root routing, and exact score comparability. |
| [Route graph](docs/route-graph.md) | Static routing, travel-time matrices, and itinerary planning over range-addressed road-network cells and overlays. |
| [Production maps benchmark](docs/osm-maps-benchmark.md) | Google Maps-style workload coverage, quality assertions, and phone budgets. |
If you already have a built static site (from any generator), point Rangefind at the output directory and it indexes the HTML directly — no JSONL to author:
npx rangefind build ./dist
This crawls every .html/.htm file under ./dist, extracts the title, headings, and main body text, and writes the index to ./dist/rangefind (change it with --output). Result URLs default to site-root paths (--base-url sets a prefix or origin, e.g. --base-url https://example.com/). Deploy the site and
Only the beginning is shown; read the rest in the repo