codexray
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
codexray π¦
X-ray vision for your codebase β a fast C++ symbol indexer exposed as an MCP server for AI coding agents.
Give your coding agent instant, whole-repo symbol awareness without running a language server:
$ codexray search conn --root ./myproject
950 method 42 onConnect src/net/server.cpp
870 function 18 connect_db src/db/pool.cppWhy
AI agents working in large repos waste tokens grepping blindly or re-deriving structure.
codexray answers the three questions agents ask most, in milliseconds:
"Where is this symbol?" β fuzzy
search_symbols"What's in this file?" β
file_outline"Where else is it used?" β
find_references
It speaks Model Context Protocol, so Claude Code, opencode, Cursor, Codex CLI, Windsurf and friends can use it as a tool β no plugins, no LSP server, no config soup.
Related MCP server: codebase-rag
Highlights
β‘ C++17 core, zero external dependencies β single translation unit, ~1100 LOC
π Python interface via
ctypes(no pybind11 build headaches)π MCP server out of the box (
codexray-mcp)π§ Fuzzy search:
gretβGreeter,onConnect; exact > prefix > substring > subsequence scoringπ 5 languages today: C/C++, Python, JavaScript/TypeScript, Go, Rust
π References index: every identifier occurrence, definitions flagged
πͺΆ No daemon, no database β an index is just memory; rebuild is cheap
Measured on a laptop (AMD Ryzen): 25,395 system headers Β· 6.5M lines Β· 364k symbols Β· 9.8M references indexed in ~29 s (~225k lines/s), fuzzy search over all symbols in <100 ms.
Quickstart
Requires: a C++ compiler (g++ or clang++) and Python β₯ 3.10.
git clone https://github.com/akashmark8-cloud/codexray && cd codexray
make # builds build/libcodexray.so
pip install -e ".[dev]" # python package + mcp sdkCLI
codexray stats --root path/to/repo # what got indexed
codexray search Widget --root path/to/repo # fuzzy symbol search
codexray outline src/main.rs # file outline
codexray refs main # references (defs flagged *)
codexray serve --root path/to/repo # run the MCP server (stdio)Use it from your AI agent
Point any MCP client at codexray-mcp:
claude mcp add codexray -- codexray-mcp --root /path/to/your/project{
"mcp": {
"codexray": {
"type": "local",
"command": ["codexray-mcp", "--root", "/path/to/your/project"]
}
}
}{
"mcpServers": {
"codexray": {
"command": "codexray-mcp",
"args": ["--root", "/path/to/your/project"]
}
}
}Tools exposed: index_repository, search_symbols, file_outline,
find_references, get_index_stats.
Python API
from codexray import CodeIndex
idx = CodeIndex()
idx.add_tree("./myproject")
for hit in idx.search("connect", limit=5):
print(hit["kind"], hit["name"], f'{hit["path"]}:{hit["line"]}')
print(idx.outline("src/server.cpp"))
print(idx.references("Server"))How it works
ββββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββ
β your repo β β AI agent (Claude Code, β
β .cpp .py .ts .go .rs ... β β opencode, Cursor, Codexβ¦) β
βββββββββββββββ¬βββββββββββββββ ββββββββββββββββ²ββββββββββββββββ
β os.walk + read β MCP (stdio)
βββββββββββββββΌβββββββββββββββ ββββββββββββββββ΄ββββββββββββββββ
β C++ core (libcodexray) ββββctypesβ Python layer β
β β’ tokenizer (comments, β β β’ tree walker + excludes β
β strings, raw strings) β β β’ CodeIndex high-level API β
β β’ heuristic def scanner β β β’ FastMCP-style tool server β
β β’ scope/end-line tracker β ββββββββββββββββββββββββββββββββ
β β’ fuzzy scorer β
β β’ JSON output β
ββββββββββββββββββββββββββββββOne pass per file builds two indexes: a symbol table (name, kind, span, signature) and a reference map (identifier β occurrences). Search scores candidates by exact / prefix / substring / word-boundary-subsequence match with gap penalties.
Project layout
src/cpp/codexray.h C API (usable from any FFI-capable language)
src/cpp/codexray.cpp the entire native core
src/codexray/_native.py ctypes bindings
src/codexray/index.py CodeIndex (tree walking, excludes, summaries)
src/codexray/server.py MCP server (5 tools)
src/codexray/cli.py command-line interface
tests/ pytest suite
examples/demo/ polyglot sample projectStatus & roadmap
This is a young project β the parser is intentionally heuristic (fast, dependency-free) rather than a full AST. It handles real-world code well but not everything. Known limitations:
Out-of-line C++ member definitions (
void Widget::set(...)) are taggedfunction, notmethodMacros can confuse brace matching; templates only partially understood
References are identifier-level, not resolved across scopes/overloads
No incremental re-index yet (
index_repositoryrebuilds)
Ideas welcome β tree-sitter backends, watch-mode incremental updates, more languages, persisted indexes. Open an issue!
Development
make test # build + pytest
python -m pytest tests/ -vLicense
MIT Β© 2026 akashmark8-cloud
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
This server cannot be deployed
Maintenance
Related MCP Connectors
Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.
Shared memory for coding agents. Stop re-explaining your codebase every session.
Codebase intelligence for AI agents β dead code, blast radius, ownership.
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides IDE-like code navigation and search for local repositories, enabling AI assistants to perform symbol search, trigram indexing, and semantic navigation.AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables LLM agents to efficiently understand and navigate a codebase by providing semantic search over symbols and a reference graph, replacing expensive grep/glob calls with structured tools like definition lookup, caller/callee queries, and change-impact analysis.4MIT
- AlicenseNot gradedqualityBmaintenanceIndexes a codebase into a symbol-level graph and exposes tools for finding symbols, querying relationships, and assessing impact, letting AI coding agents answer structural questions in a single call within a token budget.83 npm4Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to semantically navigate codebases via an AST index, supporting symbol search, usage lookup, module exploration, and dependency analysis.MIT