An MCP server that indexes code, docs and infrastructure into a local knowledge graph so AI coding agents can query structure instead of re-reading files.
redhat-et/ripwire
A zero-dependency C++23 CLI and MCP server that gives coding agents a ranked map of a codebase and checks their edits for blast radius, tests to run and quality regressions.
- Stars
- 2,464
- Forks
- 158
- Open issues
- 70
- Last commit
- 5 hours ago
What is it?
ripwire is a command-line tool and MCP server for coding agents. Before an agent reads a repository, it can run ripwire to get a ranked, deterministic call graph: the main subsystems, entry points, the symbols that matter most, and their callers. Queries such as --for, --expand, --callers and --path return compact answers with a token budget, so an agent can avoid repeated grep and whole-file reads.
After an edit, the same tool reports what the change touches: blast radius, the tests that reach the changed code, quality deltas that only list regressions, forgotten co-change partners, and public-symbol contract changes. Unsure results are labelled, for example with a confidence value or dashed edges in the HTML map, and truncated output names the next command to recover the rest.
The project is written in C++23 with no runtime dependencies and supports a broad set of languages through tree-sitter, including Rust, Python, Go, TypeScript and Java. It installs with one shell line and can set up skills for agents such as Claude Code, Codex, Cursor and Gemini.
Key features
- 01Produces a ranked, deterministic map of a repository's subsystems, entry points and key symbols.
- 02Answers targeted queries such as where a concept is handled, who calls a function and what a function's body is.
- 03Reports blast radius, tests that reach changed code and quality regressions after an edit.
- 04Labels uncertain call edges and disclosed truncations instead of presenting guesses as fact.
- 05Ships as a single C++ binary with no runtime dependencies and can run as an MCP server.
Use cases
- Orienting a coding agent in a large unfamiliar repository before it starts editing.
- Checking which tests to run and what else a change might break before opening a pull request.
- Reviewing a diff for shotgun-surgery patterns and forgotten co-changed files.
- Visualizing a codebase's call graph with complexity or churn coloring in a standalone HTML file.
Quick start
- 1
Install ripwire with the one-line installer from the README
- 2
Add the install directory to your PATH
export PATH="$HOME/.local/bin:$PATH" - 3
Run ripwire on your repo with a description of the change
ripwire . --for="<the change you are about to make, in words>"
Things to know
- The quick install runs a remote script that is piped into bash, so review it first if that concerns you.
Topics
FAQ
- What is ripwire?
- A zero-dependency C++23 CLI and MCP server that gives coding agents a ranked map of a codebase and checks their edits for blast radius, tests to run and quality regressions. ripwire is a command-line tool and MCP server for coding agents. Before an agent reads a repository, it can run ripwire to get a ranked, deterministic call graph: the main subsystems, entry points, the symbols that matter most, and their callers. Queries such as --for, --expand, --callers and --path return compact answers with a token budget, so an agent can avoid repeated grep and whole-file reads.
- Is ripwire free to use? What license does it have?
- ripwire is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is ripwire still maintained?
- Actively maintained. The last commit to ripwire was on Oct 22, 2026.
- What can I use ripwire for?
- Orienting a coding agent in a large unfamiliar repository before it starts editing. Checking which tests to run and what else a change might break before opening a pull request. Reviewing a diff for shotgun-surgery patterns and forgotten co-changed files. Visualizing a codebase's call graph with complexity or churn coloring in a standalone HTML file.
- How do I install ripwire?
- Install ripwire with the one-line installer from the README Add the install directory to your PATH: export PATH="$HOME/.local/bin:$PATH" Run ripwire on your repo with a description of the change: ripwire . --for="<the change you are about to make, in words>"
- Where can I get ripwire?
- The source code and installation instructions are on GitHub: https://github.com/redhat-et/ripwire
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Turns a codebase, its docs, schemas and PDFs into a queryable knowledge graph for AI coding assistants, built locally with tree-sitter AST parsing.
Indexes a codebase into a knowledge graph of dependencies, call chains and execution flows, and serves it to AI coding agents via MCP tools.
Indexes multi-language codebases into a knowledge graph so you can query, search, and edit code in plain English via an AI agent or MCP server.
Ix parses a repository into a persistent graph of symbols, calls and imports so developers and AI coding agents can query its structure.
A Rust static analysis engine that builds compact program graphs from source code and generates 19 UML and compiler-IR diagrams from them.