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
structureA

Deterministic structure (files + symbols) of an enrolled repo's current code. Use to ground claims about what functions/types/exports exist. Scope with paths globs and pick a detail level to keep responses small.

diffA

Structural drift for an enrolled repo: files and symbols added, removed, or whose body hash changed. With a+b (snapshot ids) diffs those snapshots; with since=label diffs that snapshot vs live code; default diffs the latest snapshot vs live code. Errors if the repo is not enrolled.

hashA

Deterministic root hash + file count of an enrolled repo's current code. Same code → identical hash across machines. Use to confirm two machines/checkouts hold identical code, or that code changed since a stored hash (compare with status's latest stored hash). Errors if the repo is not enrolled.

statusA

Per-repo index health: last indexed, staleness, parse errors, coverage %, snapshot count, latest stored hash, file cap. Use to judge the stored index that diff's default baseline and the guard read from (a stale index means a stale baseline), and to check coverage before trusting a structure/locate miss: those parse live code on every call, so staleness does not affect them, but the file cap does, and coverage below 100% means files they never see. For the store as a whole use health. Errors if the repo is not enrolled.

healthA

Store-wide health: schema version, integrity check, enrolled repo names and count, db path. Use once to check the store itself is sound (integrity, schema) or to list what is enrolled; for one repo's freshness use status. Takes no arguments.

locateA

Deterministically locate symbols in an enrolled repo: name → file:line (+ short body hash). Pass symbol to find a specific definition without grepping (a named lookup searches every kind); omit it to list all (capped, paginate with offset) — the unfiltered list defaults to functions+classes. Use this to verify a symbol exists before claiming it does: a zero-match result is definitive (parsed from the live AST), unlike grep, which can miss real symbols (formatting/whitespace variance, multi-line signatures) or hit false positives (comments, strings).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 6 tools

Disambiguation4/5

Most tools are cleanly separated and the descriptions explicitly cross-reference each other (status vs health, diff vs structure). The only real overlap is between structure and locate, both of which surface files/symbols, but the descriptions differentiate full-structure listing from targeted symbol lookup well enough.

Naming Consistency4/5

All six names are single lowercase words with a uniform style, which is easy to predict. The only slight inconsistency is that some are nouns (structure, hash, status, health) and others are verbs (diff, locate), so the semantic pattern shifts even though the form is consistent.

Tool Count5/5

Six focused tools is well-scoped for a deterministic code-structure/index server, and none appears redundant. Each tool earns its place in the read/inspection workflow.

Completeness3/5

The surface is read-only and coherent, but every tool repeatedly says it 'errors if the repo is not enrolled,' yet there is no enroll tool, and diff references snapshot ids/labels with no snapshot-creation tool. These are notable missing lifecycle operations that create dead ends for a fresh agent.

Maintenance

ActivityActive
ResponsivenessResponsive