PageRank-curated code intelligence for coding agents over an indexed source repository.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
oxcode indexes source code into a graph and serves it to coding agents. It is
built on oxgraph β a storage-agnostic,
zero-copy-friendly graph/hypergraph topology substrate for Rust β and stores the
index in a native oxgraph database under .oxcode/index.oxgdb/.
The CLI keeps raw OxQL available, but agent navigation should usually start
with context, symbols, files, and the call graph commands because they
expand graph IDs back into function names, definition ranges, signatures,
docstrings, source previews, and call-site source context.
Prebuilt binary (recommended β no Rust toolchain, grammars are statically linked so it runs offline):
Or download an archive from the Releases page. With Cargo instead:
This installs one oxcode binary β the CLI plus the MCP server (oxcode mcp).
(The crate is oxcode-cli because the bare oxcode name is taken on crates.io;
the command is still oxcode.) Re-run the installer (or cargo install --force oxcode-cli) to replace an existing install; oxcode mcp also self-updates on
startup once you are on v0.1.2+.
Add the server to your agent. For Claude Code (~/.claude.json):
Once wired, have the agent call oxcode_watch once: it builds the index and
keeps it current as files change. When path is omitted, the project root comes
from OXCODE_ROOT, CLAUDE_PROJECT_DIR, or
WORKSPACE_FOLDER_PATHS β not from the MCP process cwd (hosts often start servers in
$HOME). Across multiple agents on one repo a file lock elects a single writer
(the one watcher/re-indexer) while the rest serve reads, so you can run as many
as you like. Then ask questions with oxcode_explore.
Optionally auto-allow the tools in ~/.claude/settings.json (the query tools are
read-only; oxcode_watch only builds/maintains the local index):
mcp__oxcode__oxcode_watch, _explore, _search, _callers, _callees,
_symbol, _files, _status.
Instead of hand-editing the config above, install the bundled plugin from the oxgraph marketplace β it wires up the MCP server for you:
The plugin still needs the oxcode binary on your PATH and an indexed project
(steps 1β2). See claude-plugin/README.md.
oxcode is listed in the official MCP Registry
as io.github.snowmead/oxcode, so registry-aware clients can discover it. For
clients that prefer an npx launch command there's also an npm package:
@snowmead/oxcode-mcp is a thin wrapper that runs oxcode mcp, so it still needs
the oxcode binary on your PATH (step 1) β if you have it, command: "oxcode"
above is the simpler config.
contains, calls,
imports, references, implements). Qualified names are normalized to a
::-joined internal form regardless of the language's own separator, so the
resolver and graph are language-neutral.O(change), not O(repo).
Personalized PageRank over the graph powers the context command's bounded,
relevance-ranked output.Run oxcode languages to list the registered extractors. Coverage is tiered:
| Language | Extensions | Tier |
|---|---|---|
| Rust | .rs | High-fidelity |
| Go | .go | High-fidelity |
| TypeScript | .ts .tsx .mts .cts | High-fidelity |
| JavaScript | .js .jsx .mjs .cjs | High-fidelity |
| Python | .py .pyi | Generic |
| Java | .java | Generic |
| C | .c .h | Generic |
| C++ | .cpp .cc .cxx .hpp .hh .hxx | Generic |
| C# | .cs | Generic |
| PHP | .php | Generic |
| Ruby | .rb | Generic |
| Swift | .swift | Generic |
| Kotlin | .kt .kts | Generic |
| Scala | .scala .sc | Generic |
| Dart | .dart | Generic |
| Lua | .lua | Generic |
| Luau | .luau | Generic |
| Objective-C | .m .mm | Generic |
| Pascal/Delphi | .pas .dpr .dpk .lpr | Generic |
| Svelte | .svelte | Embedded script |
| Vue | .vue | Embedded script |
| Liquid | .liquid | Recognized |
self/this/Go receivers), precise qualified names, and imports
(including TypeScript path-based ESM imports).crates/oxcode-core/src/extract/profiles.rs); containment comes from byte-span
nesting. It yields symbols and approximate call edges that resolve at the
scoped/simple tiers (no receiver typing), so some edges are marked ambiguous.<script> blocks are extracted as TypeScript
at offsets accurate to the original component file.Adding a language is a tree-sitter query + a profile entry; promoting one to
high fidelity is a hand-written extractor that reuses the shared
extract/walker.rs scaffolding.
The generated .oxcode/ directory writes its own .gitignore, so the index is
never committed by accident.
Useful selectors for navigation commands:
element:<id> for a concrete OxGraph element IDmy_crate::auth::tenant_middleware
(qualified names are anchored at the crate, so the first segment is the
package name with - normalized to _)name:<name> for a simple function namefile:<path>:<line> for the innermost symbol covering a source linesymbols accepts repeatable --kind <kind> filters. Valid kinds are:
file, module, namespace, package, class, struct, enum,
trait, interface, impl_block, function, method, field,
variable, constant, type_alias, macrocontext is deterministic and graph-derived. It ranks entry-point symbols for
the task text, then expands nearby calls, contains, references, and
implements relationships.
query and explain execute raw OxQL/Cypher. For keyword discovery, use
symbols; do not pass plain English phrases to query.
Accepted OxQL profile:
CATALOGMATCH ELEMENTSMATCH ELEMENTS HAS LABEL <label>MATCH ELEMENTS WHERE <property> = '<value>'MATCH RELATIONS TYPE <type>GRAPH calls WALK FROM <element-id> DEPTH <n> [DIRECTION outgoing|incoming|both] [LIMIT n]Agent-task benchmark on the Tokio codebase: an agent answers "How does tokio schedule and run async tasks?" with and without each tool, measuring efficiency and blind-judged answer quality. oxcode and codegraph were measured on different agent harnesses, so the comparable unit is each tool's improvement vs its own no-tool baseline, not absolute numbers.
| arm | answer quality | tokens | cost | tool calls | wall time |
|---|---|---|---|---|---|
| baseline (no tool) | 0.98 | β | β | β | β |
| oxcode β codex/gpt-5.5, CLI, n=6 | 0.96 (tied) | +15% | +4% | β4% | +14% |
| oxcode β codex/gpt-5.5, MCP, n=6 | 0.93 | β74% | β57% | β84% | β60% |
| codegraph β Opus 4.8, MCP, published | not measured | β38% | even | β57% | β18% |
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/oxcode)<a href="https://allmcps.com/mcp/oxcode"><img src="https://allmcps.com/api/badge/oxcode?style=directory" alt="Oxcode on AllMCPs" /></a>