Skip to main content
Glama
mark-burg

reference-mcp

by mark-burg

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
REFERENCE_MCP_REPONoAbsolute path to the codebase to analyze. Defaults to current working directory.
REFERENCE_MCP_CACHE_DIRNoWhere the SQLite index is stored (never inside your repo).~/.cache/reference-mcp
REFERENCE_MCP_EMBED_MODELNoOverride the embedding model for semantic search (default: BAAI/bge-small-en-v1.5).BAAI/bge-small-en-v1.5
REFERENCE_MCP_TOKEN_BUDGETNoSoft per-response token cap.25000

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
repo_overviewA

Summarize the entire repository in one call — run this FIRST on an unfamiliar codebase.

Returns: project name, file/LOC/symbol counts, detected package manager,
config files, entry points, test setup, notable frameworks, and a per-top-level
-package size map (files/LOC/classes/functions).

Do NOT use for finding a specific symbol or file — use find_symbol or
get_file_outline for that.
get_file_outlineA

List the symbol skeleton of a file or directory WITHOUT reading bodies — the cheapest way to understand what a file contains.

Returns a nested outline (classes, methods, functions, module vars) with line numbers. Prefer this over reading a whole file when you only need its shape.

find_symbolA

Locate where a function/class/method/variable is DEFINED.

Returns each definition's kind, qualified name, and 'path:line'. With
include_body=True, also returns the full source of each match. If nothing
matches you get 'did you mean' suggestions.

Do NOT use to find usages/call sites — use find_references. Do NOT use for
free-text search — use search_code.
find_referencesA

Find every USE-SITE of a symbol (calls, attribute access, imports) across the repo, each with file:line and the source line.

Resolution is scope/import-aware name matching, not full type inference — very
accurate for module-level functions/classes; methods may include same-named
calls on unrelated types. Use find_symbol to see where it is defined instead.
trace_call_graphA

Trace the call graph from a function — callers or callees — to N levels, in one call (instead of chaining find_references by hand).

Returns an indented tree of qualified names with 'path:line'. Recursion and the
depth limit are marked inline. Shares the name-resolution precision tradeoff of
find_references.
get_type_hierarchyA

Show a class's type hierarchy: superclasses upward and subclasses / Protocol-ABC implementations downward.

Returns two indented trees with 'path:line'. External bases (e.g. pydantic
BaseModel) appear as leaves marked external/unresolved.
search_codeA

Search the repo, filtered and paginated. mode='lexical' does exact/regex text matching; mode='semantic' ranks symbols by natural-language meaning ("where is auth handled?").

Returns file:line plus the matching line (lexical) or matched symbol (semantic).
Use this when you do NOT know the exact symbol name. Prefer find_symbol /
find_references when you DO — they are structural and far more precise.
get_dependenciesA

Show what a file imports (internal vs external) and which files import IT (reverse dependencies / blast radius).

Use to gauge the impact of changing a module. Returns import edges with line numbers and the list of dependent files.

code_historyA

Explain WHY code looks the way it does using git: recent commits touching a file, churn stats (commit count, authors, age), and optional line-range blame.

Provide start_line/end_line to get blame for a specific region. Requires the
repo to be a git checkout.
find_testsA

Map a symbol to the tests that exercise it — or a test file to the symbols it exercises.

If 'target' is a test file path, returns the modules/symbols it pulls in.
Otherwise treats it as a symbol name and returns the test files + test_*
functions that reference it. Use before changing code to know what to run.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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