Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
get_answerA

Answer a how, where, or why question in one evidence-grounded call.

High confidence may be used directly; medium and low lead with the
evidence to verify. ``candidate_files`` ranks files worth opening that
the citations do not name.

Args:
    question: One question about one subject. Split "where is X and
        when does Y run" into two calls; do not paste a whole
        multi-part task.
    scope: repository-relative path prefix.
    repo: usually omitted.
    include: ``["evidence"]`` expanded evidence; ``["diagnostics"]``
        adds ``retrieval_quality``.
get_change_riskA

Review a commit, base..head range, or uncommitted work.

Leads with ``directive`` (verdict in ``status``) and ``health_delta``
(what this change newly made worse). ``risk_percentile`` and
``diff_shape`` measure diff size, not danger. ``impacted_tests`` names
the tests to run.

Args:
    revspec: commit or ``base..head``. Omit for uncommitted work, or
        ``HEAD`` when the tree is clean.
    per_commit: with a range, one compact row per commit (up to 30).
    include: ``"findings"``, ``"diagnostics"``, ``"scales"``,
        ``"evidence"``, ``"tests"`` (why each runs).
    finding_id: expand one ``health_delta`` finding.
    extensions: file suffixes to count, e.g. ``[".py"]``.
    exclude_patterns, include_paths: gitignore-style paths to omit, keep
    (include_paths also takes one comma-separated string).
    baseline: commits sampled for the percentile; 0 disables it.
    repo: usually omitted.
get_contextA

Triage card for files / modules / symbols — relationships, not source bytes.

Returns summary, signatures with lines, hotspot, fix_history and
decision titles; either risk cue means get_risk. Batch targets in one
call. Whole file, body-elided and line-verified: include=["skeleton"]
in ONE call, or Read it; do not call get_symbol per signature. Rename:
include=["references"] is the whole edit set when ``complete``. Which
files in a directory lack tests: include=["files"] on it.

Args:
    targets: paths, "path::Symbol", "component:<name>",
        "change:<id>" (pr-123 or a sha), "package:<name>".
    include: callers | callees | references | skeleton | skeleton+
        | files | symbols (all, not top 15) | decisions | full_doc
        | ownership | last_change | metrics | community | health
        | doc_drift | changes | provenance | suspects.
    compact: False adds structure, imports, docstrings.
    symptom: issue text or stack trace to rank ``suspects`` on.
    repo: usually omitted.
get_dead_codeA

Unused exports, unreachable files, zombie packages — tiered by confidence.

For a cleanup sweep, not a targeted fix.

Args:
    kind: unreachable_file | unused_export | unused_internal | zombie_package.
    min_confidence: default 0.4 (0.7 = cleanup-ready), or a tier name.
    tier: "high" | "medium" | "low".
    safe_only: deletion-ready findings only.
    limit: max findings per tier (up to 25).
    directory, owner: path-prefix or primary-owner filter.
    group_by: "directory" | "owner".
    include_internals: also scan private symbols.
    include_zombie_packages, no_unreachable, no_unused_exports,
        include_unverified: switch finding kinds on or off.
    finding_id: one finding by its ``id``.
    repo: usually omitted.
get_healthA

Code-health scores and findings from stored analysis.

No ``targets``: a dashboard led by ``fix_first``. Never recomputes:
commit, then run ``repowise update``. Every block and accepted value:
docs/agent/MCP_TOOLS.md.

Args:
    targets: file paths or ``module:<name>``.
    include: ``biomarkers``|``refactoring``|``trend``|``coverage``|
        ``accuracy``|``signals``|``churn_complexity``|``doc_drift``|
        ``semantics``|``recipe``|``what_if``, or a dimension.
    only: keys to keep. ``biomarkers``/``accuracy``/``refactoring``
        alias their block; ``performance``/``defect``/``maintainability``
        do not.
    limit: rows per ranked list (default 20, 0 for none); cursor: offset.
    fix_id/finding_id/plan_id/opportunity_id: expand one item by ``id``.
    refactoring_*/performance_*: queue filters.
    scope: ``production`` drops non-production code.
    counts: ``code_shape`` drops the git-derived half of the score.
    repo: usually omitted.
get_overviewA

Orientation for an unfamiliar repo: packages, entry points, riskiest files, top actions.

Once per session; then use ``get_context`` or ``get_answer``. Compact by
default; other blocks ship on request, named in ``more``.

Args:
    repo: alias, path or ID; ``"all"`` for cross-repo links.
    include: ``content`` (full essay), ``outline``, ``tour``,
        ``decisions``, ``graph``, ``ownership``, ``components``,
        ``changes``, ``tools``, ``actions``, ``scope``.
get_riskA

What history says about touching these files — bug fixes, churn, owners.

Fuses git signals (``hotspot_score``/``owner_pct`` 0-1, trend, bus
factor) with graph reach. ``dependents`` and ``co_change_partners`` are
a floor and correlation, not proof of runtime breakage. Pass
``changed_files`` for PR mode: the response leads with ``directive``
(may_break, missing_cochanges, missing_tests, tests_to_run); read it
first. ``directive.reach`` is never a breakage probability. For a
commit or range use ``get_change_risk``.

Args:
    targets: file paths; defaults to changed_files.
    changed_files: PR-changed files for PR mode.
    include: "graph", "churn", "owners", "scales" (units, calibration),
        "changes"; with changed_files only: "tests" (typed test rows), "blast".
    repo: usually omitted.
get_symbolA

Follow-up read of one symbol whose id another response already gave you.

**Not an entry point.** ``get_answer`` ships ``symbol_bodies``; for a
whole file ``get_context(include=["skeleton"])`` or a Read is one call.
Never walk a file symbol by symbol. Returns verified, line-numbered
source; a truncated result carries the ``continuation`` to pass back.

Args:
    symbol_id: "path/to/file.py::Name", "path/to/file.py:140-180" for a
        live range, or an omission ref. A bare file path is not an id.
    depth: 1 (default) is this symbol alone; 2-3 also returns the bodies
        it calls, transitively, in ``callee_bodies``.
    context_lines: extra lines before/after (0-50).
    query: regex/substring filter on an omission ref's lines.
    id, reference: aliases for ``symbol_id``.
    repo: usually omitted.
get_whyA

Why this code is shaped this way — decision records + evidence commits.

Call before a refactor or pattern divergence. Query: a question, a file
path, a question with ``targets``, or nothing (decision dashboard).
Falls back to git archaeology, never empty. ``authority: accepted``
means somebody signed the decision; ``answer_basis`` names the strongest
evidence lane, and only ``decision`` is a ruling.

Args:
    query: question, file/module path, or omit for the dashboard.
    targets: file paths to anchor the search.
    id: decision or ``ev_...`` evidence id from any tool.
    reference: structured evidence reference.
    repo: usually omitted.
search_codebaseA

Find code by concept, symbol, or path — hybrid codebase search.

For a how/where/why question call get_answer. Use this to enumerate
matches, resolve an identifier to a symbol_id, or find files for
get_context. Identifier or literal queries return `lines` (path, line,
kind, text; definitions first) read from live files; when `complete` is
true they are every match, so no grep is needed. `candidates` lists
distinct files to Read, best first.

Args:
    query: identifier, path, or natural language.
    limit: max results (default 5).
    mode: auto (by query shape) | symbol | path | concept | hybrid.
    kind: implementation | test | config | doc.
    symbol_kind: function | class | method | ...
    page_type: file_page | module_page.
    repo: alias, or "all" for workspace-wide.
    pattern: alias for query.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but there are a few subtle overlaps: get_answer also handles why questions that get_why specializes in, and get_context can return symbol-level information while get_symbol is the dedicated symbol reader. The descriptions explicitly clarify these boundaries, so misselection is possible but not likely.

Naming Consistency4/5

Nine of ten tools follow the get_<noun> pattern in snake_case, which is highly predictable. search_codebase is the only deviation, but it remains readable and clearly action-oriented.

Tool Count5/5

Ten tools is well-scoped for a repository intelligence server. Each tool covers a distinct analysis need, and there is no obvious padding or missing core capability.

Completeness4/5

The surface covers orientation, search, Q&A, context, symbol reading, risk, change risk, health, dead code, and decision archaeology, which is a strong lifecycle for codebase understanding. Minor gaps remain around explicit repository listing or analysis refresh, but agents can work around these via existing parameters and external commands.

Maintenance

ActivityActive
ResponsivenessResponsive