Ctxo MCP
Ctxo builds a repository dependency graph and gives an agent the blast radius of a change, commit history and code health over MCP
- 74 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Installs git hooks and a PreToolUse hook in `.claude/settings.json` and edits `CLAUDE.md` and client settings
- Reads the whole repository and git history, and the index lives in the `.ctxo/` directory
Install
- Works in
Manual install
npm install -g @ctxo/cliProvides the ctxo command. Then run ctxo init and ctxo index at the repository root.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Installs git hooks and a PreToolUse hook in `.claude/settings.json` and edits `CLAUDE.md` and client settings
- Reads the whole repository and git history, and the index lives in the `.ctxo/` directory
This is third-party code. Review the repository files before installing.
What it does
Ctxo indexes a repository once and keeps the index fresh with file watchers and git hooks. The deterministic graph holds symbols, import, call, extends and implements edges, data reads, writes and executes, and commits with classified intent. The agent gets all of it through 14 semantic MCP tools, and the `@ctxo/domain` package adds four more. One call replaces a chain of text searches. `get_blast_radius` shows what breaks when a symbol changes, `get_pr_impact` replaces a review pass of asking what calls this, and `get_why_context` explains from commit history why code looks the way it does. The server ranks context for a task with `get_context_for_task` and `get_ranked_context`. `ctxo init` detects languages, installs plugins, wires Ctxo into the AI client, installs git hooks and builds the first index. In Claude Code it registers a PreToolUse hook that blocks the first edit to a high-impact symbol until the agent has called `get_blast_radius`, and installs the skills `ctxo-understand`, `ctxo-safe-edit` and `ctxo-review-pr`. TypeScript and JavaScript, Go, C#, Java and T-SQL are supported.
Who it is for. Developers who hand an agent a large repository and want it to see dependencies and history before an edit, so the build never breaks first.
Good fit when
- Before renaming a function you need every importer and subclass that text search misses
- The agent edits a symbol with many dependents and must be stopped until it has checked the blast radius
- You need to understand why code looks as it does and avoid reintroducing a bug reverted three weeks ago
- Before reviewing a pull request you need the diff's impact on the rest of the code in one call
Not a fit when
- The repository uses a language outside the list: TypeScript and JavaScript, Go, C#, Java and T-SQL are supported now
- The project is tiny and reading a few files is enough for the agent
- You only need a string search across code: `grep` is enough
Example request
Install Ctxo, index the repository and show the blast radius of buildGraph before changing itMCP
- Transport
- stdio
- Authentication
- not required
Limitations
- The blocking edit hook exists only in Claude Code. Cursor gets skills and rules without blocking, and other clients get rules only.
- Not every language has a full analysis tier: Java needs JRE 11 or newer and C# needs the .NET SDK 8 or newer, otherwise the tree-sitter syntax tier runs.
- The index is refreshed by a git hook after a commit, and edits outside commits show up after a manual `ctxo index`.
- `ctxo init` edits `CLAUDE.md` and client config files, and a rerun replaces its own block in place.
How to disable. To turn the blocking off run `ctxo init --no-guard` or set `gate.enabled: false` in `.ctxo/config.yaml`. `ctxo doctor --fix` repairs the block, skills and hook if they drift. The CLI is removed with npm uninstall -g @ctxo/cli, and the `.ctxo/` directory and the git hook are deleted by hand.
FAQ
How do I install Ctxo for Claude Code?
Run `npm install -g @ctxo/cli`, then `ctxo init` and `ctxo index` at the repository root. The first command detects languages, wires MCP and installs hooks and skills.
What is the blast radius?
It is the list of symbols and files a change to the chosen symbol will touch: direct and indirect dependents and those that often change together with it. The `get_blast_radius` tool returns it.
Does Ctxo block agent edits?
In Claude Code yes: a PreToolUse hook stops the first edit to a high-impact symbol until the agent calls `get_blast_radius`. It fires once per symbol per session, and `gate.sensitivity` sets how strict it is.
Which languages are supported?
TypeScript and JavaScript, Go, C#, Java and T-SQL. Languages install with a command like `ctxo install typescript go csharp`, and Java gets the full tier when JRE 11 is present.
Is there a visual interface?
Yes. `ctxo visualize` generates a self-contained HTML dependency graph, and a separate dashboard shows the file tree, heatmap, co-changes, timeline and architecture.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server in one binary: AI reads and edits files across several projects and runs your commands
Resolves which files import each other and what an edit will touch, and serves it to agents through hooks, MCP and a CLI
A local MCP server that indexes your code so the agent pulls the functions it needs instead of rereading whole files
A CLI that scaffolds and validates governance docs for coding agents, such as PATTERNS.md and CLAUDE.md, and flags staleness.
Codex MCP Tool (cexll)
Codex MCP Tool
An MCP server that sends tasks to Codex CLI from Claude Code and Cursor: code review via @ refs, a sandbox, patch edits, ideas
A Claude Code plugin that runs a task through stages with review and gates, with a local board of decisions and execution.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Ctxo (this card) | no | not required | 74 | |
| CodeGraph | no | not required | 77,481 | a code graph without an edit-blocking hook or commit history analysis |
| Serena | no | not required | 31,335 | symbol navigation through language servers with no git history graph |
| code-review-graph | no | not required | 32,733 | a graph for reviewing changes with no blocking of agent edits |
README in short
The README starts with install commands and the problem of blind coding: an agent searches for a symbol, reads files, misses subclasses and ignores history. It then covers the graph index, 14 MCP tools, an eight-view dashboard, a dependency graph and the safe-edit guard with its hook and three skills. Separate sections explain per-commit index refresh, the supported languages and the guard sensitivity setting.