
ripwire MCP Server: Setup for Claude, Cursor and Other Apps
Lets your coding assistant find the right code, see what a change would break and pick the tests to run without reading the whole repo.
ripwire is a command-line tool that builds a ranked map of your source code, and ripwire --mcp runs it as a local server for your assistant. It lets the assistant look up symbols, callers, impact and tests to run, and fetch a function's source only when it needs it. Three of its tools can edit files.
You install a prebuilt binary, then register the server with your client. The project says the command line is the cheaper way in and the server is optional, because the tool descriptions use context in every session. It runs on your computer and needs no account or key.
Good for
- Developers who use coding agents on large repositories
- Reviewers who want a blast radius and test list for each diff
- Teams who share a warm code index between agents
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install ripwire MCP
Claude Code
- 1
Copy this prompt.
Add the ripwire MCP server to Claude Code. Run this command: claude mcp add ripwire -- ripwire --mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires ripwire binary on your PATH (prebuilt installer).
Install the ripwire binary first, as the install guide shows. To hide the three edit tools, add --mcp-tools=core (8 read tools) or a comma list of tool names to the arguments; the v0.6.9 release has no no-edit profile. Use the full path in the command if ripwire is not on your PATH.
From the project README. Source.
Tools
Gives you a task briefing in one call
Takes a task in plain words and returns the relevant symbols, their source, their callers, notes and tests to run, within a size budget. It replaces several search and read calls.
Try: “Brief me on how request parsing works before I change it.”
Files ·
exploreLists building blocks that fit a task
Returns a ranked list of existing functions and classes that match a task, shown as signatures only. Give an exact symbol name for an exact match.
Try: “What helpers exist for parsing HTTP headers?”
Files ·
forShows who calls a symbol and what it calls
Finds one symbol and returns its callers and callees together. Each result carries a handle you can use to fetch its source.
Try: “Find parseConfig and show its callers.”
Files ·
find_symbolLists the direct callers of a symbol
Returns only the code that calls or references a symbol, one hop out.
Try: “Who calls parseConfig?”
Files ·
find_referencing_symbolsFetches the full source of one symbol
Returns the source of a symbol using a handle from an earlier call. It refuses if that file changed since.
Try: “Show me the body of that function.”
Files ·
fetch_bodySearches for text and names the enclosing symbol
Runs a literal text search across the repo and labels each hit with the function or class it sits in.
Try: “Search for 'retry_limit' in the repo.”
Files ·
grepDraws a ranked map of a codebase
Returns a map of a directory: the symbols that matter most, with signatures and the call graph.
Try: “Map the architecture of this repository.”
Files ·
analyzeRanks the map a different way
Returns the same map ranked by authority, hub score or a blend instead of plain PageRank.
Try: “Rank the code by which functions are hubs.”
Files ·
rank_byShows how far a change would reach
Returns every symbol that depends on a symbol, directly or through others, so you can judge whether a change is safe.
Try: “How far does changing parseConfig reach?”
Files ·
impactLists where a symbol is used
Returns the places that call, read, write, import or extend a symbol, not just the calls.
Try: “Where is MAX_RETRIES used?”
Files ·
usesNames the tests to run
Lists the tests that reach changed files or symbols, directly or through other code.
Try: “Which tests should I run for my changes?”
Runs code ·
affectedSummarises a diff's blast radius
Reads your uncommitted diff and returns the blast radius, tests to run, files that usually change together with it and hotspots.
Try: “What does my current diff touch?”
Runs code ·
situational_awarenessShows only what your edit made worse
Compares your working tree with the last commit or a saved baseline and lists new complexity, duplication, dead code, new public API and similar regressions.
Try: “Did my change make the code worse anywhere?”
Runs code ·
quality_deltaSaves a quality baseline
Pins the current quality floor by writing a baseline file into the repo.
Try: “Pin the quality baseline now.”
Runs code ·
quality_baselineChecks whether an edit broke callers
After you edit a symbol, checks against the last commit whether its parameters or visibility changed and which direct callers no longer fit.
Try: “Did my edit to parseConfig break any callers?”
Runs code ·
edit_checkMaps a stack trace onto the code
Takes a pasted stack trace or compiler error, finds the matching symbols, ranks them innermost first and returns the innermost body in full.
Try: “Here is the crash trace. Where did it fail?”
Files ·
from_traceFinds the best example to imitate
Returns the repo's best instance of a kind of function or class, chosen by how often it is used and how well it is tested.
Try: “Show me the best example of a handler to copy.”
Files ·
exemplarFinds how one symbol reaches another
Returns the shortest call path from one symbol to another, if there is one.
Try: “Does the API handler reach the database layer?”
Files ·
path_betweenFinds how several symbols relate
Returns the smallest set of code that joins three or more symbols together.
Try: “How do these three functions connect?”
Files ·
connectShows an interface and all its implementors
Returns an interface's methods and every class that implements it.
Try: “What implements the Storage interface?”
Files ·
legoLists files that change together
Uses git history to find files that usually change in the same commit as one file.
Try: “Which files change together with server.c?”
Runs code ·
cochangeShows who owns the code
Reads git history to show who has recently written a file or symbol, a bus-factor check.
Try: “Who owns the auth module?”
Runs code ·
ownersPulls up relevant notes and docs
Returns the full text of the few memory notes and docs that best match a task, within a token ceiling.
Try: “Recall our notes on the retry design.”
Files ·
memory_recallFinds docs that mention a symbol
Lists markdown docs that name a code symbol in backticks.
Try: “Which docs discuss parseConfig?”
Files ·
mentionsAnswers up to 16 questions in one call
Runs several read queries at once and returns the merged, deduplicated answers. A failing sub-query shows inline and does not fail the rest.
Try: “Search, find callers and check impact for this symbol in one go.”
Files ·
batchTraces one variable through a function
Shows each line that defines or uses a variable inside one function, and where it flows.
Try: “Where does 'timeout' flow inside this function?”
Files ·
sliceFinds which branch defines a symbol
Checks every branch for a symbol and says whether the live branch has it.
Try: “Which branches define parseConfig?”
Runs code ·
whereisFinds work that never reached HEAD
Lists, per branch, content that the branch wrote and HEAD lacks, split into unmerged and replaced.
Try: “What unmerged work is sitting on other branches?”
Runs code ·
stray_contentLists code that is built but switched off
Finds compile, CMake and environment-variable gates and the size of the code behind each.
Try: “What features are compiled in but off?”
Files ·
flagsFinds docs that are now wrong
Flags markdown claims that point to missing files, gone symbols or stale numbers.
Try: “Which doc claims are out of date?”
Files ·
doc_driftReplaces a function or class in place
Swaps a symbol's whole definition for the text you give. Bytes outside the definition are untouched, and it refuses if the file changed since it was indexed or the name is ambiguous.
Try: “Replace parseConfig with this version.”
Write ·
replace_symbol_bodyAdds text just before a definition
Inserts the text you give right before a symbol's definition, with the same refusal checks and an atomic write.
Try: “Add this helper before parseConfig.”
Write ·
insert_before_symbolAdds text just after a definition
Inserts the text you give right after a symbol's definition, with the same refusal checks and an atomic write.
Try: “Add this test after parseConfig.”
Write ·
insert_after_symbol
Read from the source code
Permissions
medium risk · 5 things to watch
Medium risk
Most tools only read your repo, but three can edit source files and one writes a baseline file. Keep the edit tools off if you want read-only use, and only open the socket mode on your own machine.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
Three tools edit your source files
replace_symbol_body, insert_before_symbol and insert_after_symbol replace or insert code at a symbol and write the file in place. They refuse when the file changed or the name is ambiguous. Leave them out with --mcp-tools=core, or approve each call. github.com
Socket mode serves other processes
The listen option opens an HTTP port. It binds to loopback by default, a non-loopback address needs a token, and it has no TLS. Leave it off unless you need to share one index. github.com
One tool writes a baseline file into your repo
quality_baseline writes .ripwire_quality_baseline in the repository. It is in the full tool list, not in core. On the main branch a no-edit profile exists that still keeps this tool, so it is not a fully read-only mode. github.com
A git URL makes it clone from the network
Passing a git URL instead of a folder shallow-clones that repo into a cache. Use local folders if you do not want network access. github.com
It keeps an index cache in a temp folder
ripwire writes index files, and any repo it cloned from a git URL, under /var/folders/sc/hh85hdwx68q2kgnllct_ct4w0000gn/T//ripwire, /ripwire or /tmp/ripwire-<uid>. The folder is capped at 2 GiB and blobs untouched for 30 days are deleted. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | On v0.6.9, add --mcp-tools=core (8 tools: explore, batch, from_trace, impact, uses, fetch_body, edit_check, quality_delta) to the server arguments. That drops the edit tools and quality_baseline. The README says the list is not access control: batch sub-queries still reach hidden read verbs. A no-edit profile is on the main branch only. |
|---|---|
| Talks to | None unless you give it a git URL (it clones the repo) or start the socket mode |
| Sign-in and keys | No credentials are used. Socket mode can be protected with a bearer token. |
| Scopes |
|
Questions
Is ripwire official?
It is the ripwire project's own server, from the redhat-et repository. It is not a vendor server for another app, because ripwire connects to your local code.
Should I use the CLI or the MCP server?
The README recommends the command line first. The server is for clients with no shell, for fetching source by handle, and for edits against an already-warm index.
Do I need an API key or account?
No. It has no key, no embeddings and no index server. Some history-based tools need git installed and a git repository.
Can I turn off the edit tools?
Yes. Add --mcp-tools=core to the server arguments to list 8 read tools and no edit tools. You can also give a comma list of tool names. The v0.6.9 release has no named no-edit profile, and the quality_baseline tool, which writes a file into your repo, stays in the full list.
Can I load fewer tools to save context?
Yes. A core option lists 8 tools instead of 33. The README measures the tool list at 13,834 bytes against 46,368 bytes.
Does it send my code anywhere?
The README says only two things reach the network: a git URL in place of a folder, and the optional socket mode.
Which systems does it run on?
The install guide lists prebuilt binaries for Linux and macOS on Apple silicon, and a Windows zip. The last Intel Mac build is 0.6.1.
How do I add it to Claude Code or Cursor?
Install the binary as the install guide shows, then use your client's tab in the install box above. The ripwire wrap command also prints a recipe for each agent.
Information
updated Nov 2, 2026
- Publisher
- Community
- Transport
- stdio
- Auth
- None
- License
- Apache-2.0
- Last commit
- Oct 31, 2026
- Open issues
- 58
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- github.com · github.com
- github.com · github.com
- github.com · github.com
- github.com · github.com