reference-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@reference-mcpwhat is this project about?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
reference-mcp
An MCP server whose tools help an AI agent comprehend a codebase — get oriented, navigate by meaning rather than text, trace relationships, and understand why code is shaped the way it is.
It builds its own tree-sitter index of a Python project (no language servers required) and exposes a small set of consolidated, high-leverage tools designed around current agent tool-design best practices: human-readable returns, built-in token budgeting and pagination, and actionable errors.
Tools
Tool | What it answers |
| "What is this project?" — languages, layout, entry points, tests, configs. |
| "What's in this file?" — symbol skeleton without reading bodies. |
| "Where is X defined?" — locate a function/class/method/var, optionally with body. |
| "Where is X used?" — call sites and usages with context. |
| "Where is the code that …?" — lexical/regex search, or natural-language semantic search (optional). |
| "What does this import / what depends on it?" — forward and reverse deps. |
| "Why is this code here?" — git blame/log/churn for a symbol or region. |
| "What tests cover this?" — symbol ⇄ test mapping. |
| "What calls this / what does it call?" — callers/callees to N levels. |
| "What's the class tree?" — subclasses, superclasses, implementations. |
Related MCP server: Axon.MCP.Server
Quickstart
uv sync --extra dev
# Point the server at a codebase and run it over stdio:
REFERENCE_MCP_REPO=/path/to/your/project uv run reference-mcp
# Or inspect interactively:
npx @modelcontextprotocol/inspector uv run reference-mcpSemantic search (optional)
Lexical search works out of the box. To also enable natural-language search ("where is auth handled?"), install the local-embeddings extra — no API key, no network at query time once the model is cached:
uv sync --extra semanticThen call search_code with mode="semantic". It embeds each symbol
(name + signature + docstring) with fastembed
(ONNX, model BAAI/bge-small-en-v1.5 by default, override via
REFERENCE_MCP_EMBED_MODEL), caches the vectors in the index cache dir, and ranks
by cosine similarity. Without the extra, mode="semantic" returns install guidance
instead of failing.
Register with an MCP client
{
"mcpServers": {
"reference": {
"command": "uv",
"args": ["run", "reference-mcp"],
"env": { "REFERENCE_MCP_REPO": "/path/to/your/project" }
}
}
}Configuration
Env var | Default | Purpose |
| cwd | Absolute path to the codebase to analyze. |
|
| Where the SQLite index is stored (never inside your repo). |
|
| Soft per-response token cap. |
Design notes
Read-only. The server never edits your code; it only reads and indexes it.
Incremental index. Files are re-parsed only when their content hash changes.
Precision tradeoff. Reference/call-graph resolution is scope- and import-aware name matching, not full type inference. Accurate for most Python; a future LSP backend can slot in behind the same tool surface for dynamic-dispatch-heavy code.
Development
uv run ruff check . # lint
uv run ruff format . # format
uv run mypy # type-check (src/)
uv run pytest # unit + integration tests
uv run python evals/run_evals.py # eval harness (must be 100%)CI runs all of the above on every push and PR (see .github/workflows/ci.yml).
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mark-burg/reference-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server