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.

Subjects are ':'. Kinds: document (document:LIC-D118, document:POL-7731), driver (driver:D-118), inspection (inspection:INS-4821-10), ticket (ticket:TK-3608), tire (tire:T-9001), unit (unit:MXK-4821), workshop (workshop:WS-02). Relations: assigned_to (driver->unit), covers_driver (document->driver), covers_unit (document->unit), found_in (ticket->inspection), has_inspection (unit->inspection), has_ticket (unit->ticket), in_workshop (unit->workshop), mounted_on (tire->unit). Rules (context's evaluation; search(rule=) lists where one holds; trust them):

  • document_critical (document): A document is critical when it expires within 15 days; expired when the date has passed.

  • fuel_anomaly (unit): A fuel load is anomalous when liters exceed the tank capacity or consumption per km deviates more than 30% from the unit's 30-day average.

  • ticket_stale (ticket): A ticket is stale when its status has not changed for 7 days.

  • tire_critical (tire): A tire is critical when tread depth is below 3 mm.

  • unit_grounded (unit): A unit is grounded when any tire mounted on it is critical. Lists of records come as tables: {"all": {fields every record shares}, "cols": [...], "rows": [[...]]}, a row holding a record's values in the order of cols, and a last object with its other fields when it has some; a.b is field b of a. Times are UTC.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
contextB

What is true about a subject (':' or a list) now or at as_of: facts with since, relations, rule evaluations. as_known_at: as Keel knew it then. depth=1 adds neighbours. detail: brief (default), concise, full (audit). task: its memory.

historyB

Facts over time of a subject, oldest first; no subject + since/until: every change in the tenant then (predicate: one field). was: the value replaced (null: unset; absent: a first value). as_known_at: as Keel knew it then; changed_since: recorded since a watermark. limit keeps the latest (0: all). detail: concise or full.

searchB

Find subjects. kind lists a kind; rule, where a rule holds; text matches keys and values; where={name: value or [any of]}: attribute, fact or neighbour ({relation or kind: key}); hits say since; related_to (+via): a subject's neighbours. as_of/as_known_at: at / as known at that instant. detail: key (a list) and count (how many) cost least; brief adds facts (no context call needed); entity (default); concise; full: an audit, costly. Page with limit/after; a cut list starts with {"more": ...}.

annotateC

Record what you learned (value: any JSON). scope tenant or global needs evidence; key: an idempotent retry; status="proposed": awaits review.

relatedB

Neighbours of a subject by relation, now or at as_of; depth 2-3 walks further. At most limit (0: all); a cut list starts with {"more": ...}.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3/5.0

Scored across 5 tools

Disambiguation3/5

The core split (context = current facts, history = facts over time, search = find subjects, annotate = write, related = neighbours) is mostly clear, but the boundaries blur: `search` with related_to/via and `context` with depth=1 both do what `related` does, and `context` vs `history` differ only by temporal framing. The descriptions do enough to steer an agent, but these are real overlaps rather than clean separations.

Naming Consistency3/5

All names are single lowercase tokens, which is tidy, but the grammatical convention is mixed: `search` and `annotate` are verbs while `context`, `history`, and `related` are nouns/adjectives. `context` in particular is a vague name for a read operation, so the set is readable but not predictable from a pattern.

Tool Count5/5

Five tools is well within the healthy range and each maps to a distinct capability of a temporal fact store: point-in-time read, timeline read, discovery, neighbourhood traversal, and write. Nothing feels padded or missing at the count level.

Completeness3/5

Read coverage is strong (current, historical, search, relations) and `annotate` covers ingestion, but there is no way to retract, correct, or supersede a fact, and no tool for managing the rules that `context` and `search` evaluate against. Agents hitting bad data or needing rule definitions will dead-end.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues