aion
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AION_DB | No | Path to the SQLite database file | ~/.aion/aion.db |
| AION_SOURCE | Yes | Distinct source identifier for the client (e.g., cursor, claude-code, claude-desktop); routes inbox | |
| AION_SEGMENT | Yes | Default project segment (e.g., myproject) | |
| AION_DELIVERY | No | Set to '1' to enable doorbell for handoff to Cursor |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| context_pullA | Pull the current shared working state for a project segment (and its sub-segments). Call this FIRST, before doing anything on the project: it returns the open tasks, open questions, recent decisions/changes/notes, and your inbox of handoffs. Treat it as the current truth about where the work stands.
|
| context_logA | Append an entry to the shared working state so other tools see it:
type = decision | change | question | task | note. Store WHAT/WHY (facts, decisions, intent), not HOW (procedure). A |
| context_resolveC | Mark an open question or task resolved so it stops surfacing in context_pull. |
| context_searchA | Full-text search the project's history (decisions/changes/questions/notes) to recover past context. FTS5 does not stem — add a prefix wildcard (auth*) if a bare term seems too narrow. |
| context_verifyA | Completion integrity: list 'change' entries and classify each against GIT (the ground truth) — 'merged', 'present-unmerged', 'missing', or a bare 'CLAIM (no git ref)'. A tool logging "fixed" is NOT done; done = merged in git. Checks commits in the repo the server runs in. |
| context_handoffA | Post a handoff to another tool's inbox (to = cursor | claude-code | claude-desktop). It lands in the target's inbox and stays PENDING until the receiver resolves it. If AION_DELIVERY is enabled and the target has a verified deeplink (today: cursor), a doorbell also summons that tool with a fixed nudge — the URL never carries your content. Returns the entry id and delivery outcome. |
| roadmap_add_nodeA | Add a node to the roadmap tree. kind = project | segment | phase | epic | task. parent_id nests under another node (0 = top-level); a child inherits its parent's segment unless set. priority is 1..5 (1 = highest; 0 = none). Returns the id. |
| roadmap_updateA | Update a roadmap node: set priority (1..5), reparent (parent_id), or set status ('open'/'resolved'). Pass only what you want to change (0/empty = leave as is). Resolving a task/epic is what makes progress roll up. |
| roadmap_blockA | Record a DEPENDENCY edge: node |
| roadmap_viewA | Show the hierarchical roadmap (project > segment > phase > epic > task) with done/total rollup per node, sorted by priority. Optionally scope to a segment. |
| roadmap_progressA | Progress summary: per top-level segment and overall, how many leaf work nodes are done vs total, with percentages. |
| constraints_for_taskA | Before implementing a task, get every decision and open question that may CONSTRAIN it — from the task's segment, its ancestors, and its descendants (not recency-limited). Surface any conflict with your plan BEFORE coding. |
| project_lookupA | Reuse an approach from ANOTHER project: search that project's history for a topic and adapt the matching decisions/notes instead of starting from scratch. FTS5 does not stem — add a prefix wildcard (auth*) if a bare term is too narrow. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| pull | Pull current aion working state for a segment (default: whole project). |
| log | Log a decision/change/question/task/note to aion. |
| resolve | Close an open aion question or task by id. |
| search | Full-text search aion history. |
| handoff | Post a handoff to another tool's inbox (and optional doorbell). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Tools are grouped into context management and roadmap management, each with distinct purposes. Minor overlap between context_search and project_lookup (both search but in different scopes) prevents a perfect score.
All 13 tools follow a consistent verb_noun snake_case pattern (e.g., constraints_for_task, context_log, roadmap_view), making tool purposes predictable.
With 13 tools covering two sub-domains (context and roadmap), the count is well-scoped. Each tool has a clear role without unnecessary redundancy.
The surface covers core CRUD operations for roadmap (add, update, view, block, progress) but lacks explicit delete for nodes. Context tools are comprehensive, including search, verify, and cross-project lookup. Minor gap in deletion.