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
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
codetopo_indexC

Index a repository into a codetopo graph database.

codetopo_descendantsB

Nodes transitively reachable from a node over calls and imports edges.

codetopo_ancestorsA

Nodes from which a node is transitively reachable over calls and imports edges.

codetopo_blast_radiusB

Nodes that break if a node changes: dependents, overriders, and implementers.

codetopo_pathB

Shortest typed path between two nodes, or the reason there is none.

codetopo_statsA

Node and edge totals for an index, with per-kind breakdowns.

codetopo_verifyB

Verify the tamper-evident audit chain of an index.

codetopo_snapshotB

Export the whole graph as a portable snapshot, bound to the audit head.

codetopo_diagnosticsB

The diagnostics recorded when the index was built - dependency cycles, multi-definitions, unresolved calls, and the rest - as data, exactly as the CLI prints them.

codetopo_rankA

The top symbols by fan-in, fan-out, blast-radius size, cyclomatic complexity, or a centrality measure (pagerank, betweenness, closeness, eigenvector, katz) - measurements over the graph, with the measurement's method stated in the result. A measure that does not converge on the graph is reported as an absence with its reason, never a partial result. A ranking of measurements, never a score of code quality.

codetopo_diffA

Compare two indexes (or two snapshot files): added, removed, and changed nodes and edges, plus the blast-radius movement of every touched symbol. Give exactly one before source and one after source.

codetopo_metricsA

Coupling and cohesion measurements for every type and package (CODE_SCHEMA section 9): CBO, RFC, LCOM pair counts, TCC, ATFD, WMC per type; Ca, Ce, instability, and separately-named external coupling per package. Every metric's method is stated in the result. Measurements only - no thresholds, no verdicts.

codetopo_communitiesA

The Leiden partition of the dependency graph (Traag et al. 2019; modularity quality, resolution 1.0, fixed published seed) over the undirected CODE_SCHEMA section 9 projection weighted by edge multiplicity: community count, the partition's modularity Q (absent when the graph has no edges), per-community sizes and internal/cut edge counts, and node assignments (limit caps the assignment list; summaries are always full and truncation is stated). Measurements with a stated method - no thresholds, no verdicts.

codetopo_topo_sortA

The safe change order of the graph: topological order of the SCC-condensed CODE_SCHEMA section 9 dependency DAG (Kahn's algorithm over Tarjan components). Groups are emitted in dependency order - every dependency of a group appears in an earlier group - members sorted by id. A multi-node group is a dependency cycle and is flagged cyclic, never disguised as an order.

codetopo_renderB

The graph's layout specification: 'layered' (layout spec v1, the default) or 'force' (Fruchterman-Reingold, layout spec v2 - deterministic, fixed parameters recorded in the spec). Above the force ceilings the answer is a stated decline naming the ceiling, not a partial drawing. The same spec objects serve the CLI's render command and the HTTP render route.

codetopo_historyA

Hotspots (change frequency x complexity, both factors stated) and change coupling (support/confidence as pair counts) over a local working tree's git history. History is local-only: without repo_path the answer is the unmeasured report (measured: false with the reason), never invented numbers.

codetopo_neighborhoodB

The subgraph within a few hops of a node, in both directions (contains/defines excluded).

codetopo_get_symbolA

One node in full - kind, location, tier, defines and refs - plus its incident edges grouped by kind and direction, with counts (containment excluded). Errors when the id is unknown.

codetopo_search_symbolsA

Find symbols by name (case-insensitive substring of the label) - the discovery step before the exact-id queries.

codetopo_describe_schemaA

The schema this server speaks: node and edge kinds, tier rules, and the query vocabulary. Needs no database.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 20 tools

Disambiguation4/5

Most tools have distinct purposes: search vs get_symbol (discovery vs exact), metrics vs rank vs communities vs topo_sort each measure different things. There is mild overlap among the traversal tools—ancestors, descendants, neighborhood, blast_radius, and path all walk the graph from a node—but the descriptions differentiate directionality and semantics (blast_radius specifically covers dependents/overriders/implementers).

Naming Consistency4/5

All names are snake_case with a consistent codetopo_ prefix, giving a predictable, readable pattern. The only deviation is mixed verb-style vs noun-style names (get_symbol/search_symbols vs stats/metrics/communities), but this is coherent enough to navigate.

Tool Count4/5

20 tools is on the heavy side for the 3-15 sweet spot, but this is a rich code-graph analysis domain with indexing, traversal, metrics, ranking, partitioning, topology, rendering, diffing, and auditing—each tool earns a distinct place. Borderline but defensible rather than redundant.

Completeness5/5

The surface covers the full lifecycle: indexing, schema description, discovery, exact retrieval, multiple traversal modes, structural metrics, ranking, communities, topo-sort, rendering, diff, snapshot, verification, diagnostics, and stats. Read/analysis needs are comprehensively met with no obvious dead ends.

Maintenance

ActivityActive
ResponsivenessNo recent community issues