Command Palette

Search for a command to run...

Home / Servers

ripwire

by redhat-et

ripwire — the ripgrep of AI context

CI Licence Standard Runtime dependencies

ripwire

The ripgrep of AI context. Point it at a repository and it answers structural questions in tens of milliseconds from a warm index — and labels every count it cannot prove is a total.

Quickstart · What it answers · Real runs · Measured · Tokens saved · Lineage · Honesty contract · Agent setup · Prompt loops · Docs · Slides


Ten seconds. No index server, no embeddings, no API key — a parse and a call graph, built on the spot:

$ ripwire . --callers=rankGraphTeleport
<callers of="rankGraphTeleport" defs="1" count="6" counts_floor="1">
<s t="fn" n="runEval" p="./src/eval.h:133"/>
<s t="fn" n="rankGraph" p="./src/graph.h:1303"/>
<s t="fn" n="anchoredLexicalRank" p="./src/graph.h:1552"/>
<s t="fn" n="churnRankedGraph" p="./src/main.cpp:7246"/>
<s t="fn" n="runDefaultMap" p="./src/main.cpp:7276"/>
<s t="fn" n="getIndex" p="./src/mcpindex.h:734"/>
</callers>

counts_floor="1" is the point. Call edges are extracted from source text by name, so dynamic dispatch, callbacks and macro-generated call sites contribute no edge: count="6" is a floor, and the element says so before you read a single row. (Real output, wrapped for reading — it ships as one minified line, preceded by a legend comment that spells this out in full.)

The name is the design. ripgrep for the retrieval half: a zero-runtime-dependency C++23 binary that crawls a tree, extracts symbols with tree-sitter, resolves references into a call graph, ranks that graph with Personalized PageRank, and streams a deterministic minified XML map to stdout. Tripwire for the honesty half: every count it cannot prove is a total ships labelled a floor, every truncation is disclosed in the header, and a zero means none found, never none exists.

Two runs over the same tree are byte-identical, and a warm run equals a cold one. That is a contract, gated on every pull request and every push to main, not a tendency.

On the latest 60-instance head-to-head against other context tools — same instances, same gold, same metric code — it puts all gold files in the top 10 on 58.3% of them, against 33.3% for the best competitor (repowise), at a 0.114 s median (warm, with a pre-built index). An earlier round measured it against graphify, Aider's repo-map and codebase-memory-mcp; a third round measured it against headroom, the context-compression layer: on real coding questions headroom's default config passed code through untouched while ripwire answered at 7.3% of a grep-and-read baseline's tokens — upstream selection beat downstream compression on every measure the two tools share (and the round's losses to the naive baseline are published first, with fix dispositions). It has won every round run so far. The full tables, and the caveats that belong with them →


Quickstart

Requirements: CMake 3.24+ and a C++23 compiler. Nothing else — tree-sitter's core, all 15 grammars and the test framework are vendored under third_party/deps, so there is no download step and no package manager to satisfy. Prove that with the network off: add -DFETCHCONTENT_FULLY_DISCONNECTED=ON and the build still completes.

Related servers

n8n

Updated today

by n8n-io

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

199,260

mcp-server-git

OfficialUpdated today

by modelcontextprotocol

A Model Context Protocol server providing tools to read, search, and manipulate Git repositories programmatically via LLMs

89,176

mcp-server-fetch

OfficialUpdated today

by modelcontextprotocol

A Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs

89,176

@modelcontextprotocol/server-everything

OfficialUpdated today

by modelcontextprotocol

MCP server that exercises all the features of the MCP protocol

89,176