Alethea
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ADM_ROOT | No | Legacy alias for ALETHEA_ROOT; also works to pin the repo root. | |
| ALETHEA_ROOT | No | Pin the repo root for the server (the server otherwise uses the current directory to find the nearest ancestor that has .decisions/ or .git/). Can also be passed as the --root command line option. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| record_decisionB | Record an ADR-style decision (or a constraint with type="constraint") into .decisions/. Call after making a non-obvious choice. |
| search_decisionsA | BM25 search across decisions and constraints. Active (accepted/proposed) only unless include_inactive or status is set. |
| get_context_for_taskA | Call BEFORE starting work. Returns active constraints in scope and the most relevant decisions for a task description and/or file paths. |
| supersede_decisionB | Replace an existing decision/constraint with a new one. The old record is marked superseded and both are cross-linked. |
| list_constraintsC | List active constraints, optionally only those whose scope covers a path. |
| check_conflictsA | Check a proposed change (diff, plan or description, plus touched files) against active constraint rules. ok=false means an accepted constraint is violated. |
| link_requirementC | Link a decision to SpecGate requirement ids (capability/requirement[#scenario]), test files and/or commits. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| active-constraints | All accepted/proposed constraints for this repo, as markdown. |
TDQS
Scored across 7 tools
Each tool has a distinct operation: record (write), supersede (replace), link (associate), check_conflicts (validate), plus several read paths. The read tools (search_decisions, list_constraints, get_context_for_task) overlap somewhat in retrieval purpose, but descriptions clarify their distinct scopes (BM25 search vs. constraint listing vs. task-oriented context assembly).
Every tool follows a consistent snake_case verb_noun pattern (record_decision, search_decisions, get_context_for_task, list_constraints, check_conflicts, supersede_decision, link_requirement). No mixing of conventions or vague verbless names.
Seven tools is well-scoped for an ADR/constraint management server, with each tool covering a genuine part of the decision lifecycle (capture, retrieve, validate, supersede, link). No redundant or filler tools.
Core lifecycle is well covered: record, search, list, supersede, conflict-check, and requirement linking. Minor gaps exist — there is no tool to change a decision's status (accept/reject/deprecate) without superseding it, and no delete/archive path — but supersede and record largely cover practical workflows.