On Board
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AGENT_PROJECT_DIR | Yes | Required. The project directory that owns .agent-mem/. | |
| AGENT_MEM_CONTEXT_DIRS | No | Optional. Additional directories for agents to read shared docs/specs outside the project folder. |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| memory_initA | Initialize .agent-mem/ in the project root. Call once per project. Safe to re-call. |
| memory_agent_joinA | Register as an active agent. Multiple active agents may share a platform. Use ticket claims and roles to prevent work collisions. Your agent_name is stamped on EVERY write for traceability. |
| memory_onboardB | Compact session entrypoint: join, collision-check, and show current working context. |
| memory_writeB | Write a memory entry stamped with your agent_name. |
| memory_unpinA | Unpin a memory without deleting it, preserving the audit record. |
| memory_readB | Read memories with filters. Filter by agent_name to trace who wrote what. |
| memory_searchB | Search across all memories with local relevance ranking. |
| memory_search_vectorC | Optional vector-style search. Disabled by default; JSON remains canonical. |
| memory_linksA | Show ticket, file, agent, and tag relationships across memory entries. |
| memory_checkpointA | Full state checkpoint. Do every 10-15 min or before risky ops. Saves both as memory entry AND standalone file; rejected outright if |
| memory_handoffB | Formal handoff. ALWAYS call before leaving. Next agent sees this first. |
| memory_get_briefingA | CALL THIS FIRST. Token-aware briefing with workflow modes. Loads: hot memories (full detail) + warm digests (compressed history). Use mode='brief' for handoff-first catchup, 'normal' for default onboarding, 'deep' for broad context, or 'handoff-only' for fast task transfer. |
| memory_statusC | Quick status dashboard. |
| memory_doctorA | Check project-local On Board setup without changing files. |
| memory_update_stateC | Update shared key-value state. Stamped with agent_name. |
| memory_compactA | Compact old memories into compressed digests to save tokens. How it works:
Token savings: typically 60-80% reduction on old entries. Config via env vars:
|
| memory_token_usageA | Show token usage breakdown and recommend compaction if needed. Returns token estimates for: hot memories, digests, archive, briefing output. |
| memory_prepare_compactionA | Returns cold entries grouped by agent session — ready for YOU to summarize. Read the returned entries, write your own digest with memory_write(memory_type='context'). Digests are read ONLY by agents: write them in compressed English (token-thrift) — facts, decisions, file paths; no prose. Code/paths/IDs stay verbatim. then run memory_compact() to archive the originals. Workflow:
Returns: str: Cold entries grouped by agent, with token counts. |
| memory_search_archiveA | Search the cold archive (compacted entries). Use when you need old details that were compressed out of the hot memory. |
| memory_bootstrapA | Bootstrap .agent-mem/ for an EXISTING project by auto-scanning the codebase. Reads: README, git log, directory structure, package configs. Seeds memory with: project context, tech stack, recent history, structure, warnings. Use this instead of memory_init when joining an existing project for the first time. After bootstrap, the next agent gets full context without you manually typing everything. Returns: str: Bootstrap summary with what was discovered and seeded. |
| memory_context_dirsA | List all configured external context/info directories and their files. Context dirs are set via AGENT_MEM_CONTEXT_DIRS env var (colon-separated paths). These folders contain reference docs, specs, shared info that agents should know about but live outside the project folder. Returns: str: List of context dirs and their contents. |
| memory_context_readA | Read a file from the external context directories. Searches all configured AGENT_MEM_CONTEXT_DIRS for the filename. Use memory_context_dirs to list available files first. Returns: str: File content (truncated to max_chars). |
| memory_create_ticketB | Create a ticket requesting help from another agent. Ticket is saved as .md file in tickets/ (open queue). Assign to a specific agent NAME or leave open for anyone. Examples:
|
| memory_claim_ticketB | Claim an open ticket (sets to claimed). Call again on a claimed ticket to advance to in_progress (e.g. when spawning a subagent). |
| memory_submit_ticketA | Submit completed work on a ticket for review. Creates a submission report in tickets/review/ and moves ticket to review status. Another agent (reviewer/PM) will approve or reject. |
| memory_review_ticketA | Review a submitted ticket. Approve → closed/ or Reject → rejected/. On approve: moves ticket + submission to closed/ On reject: archives THIS attempt to tickets/rejected/<ticket_id>/attempt-/ (ticket spec marked 'rejected', the submission, and <ticket_id>-rejected.md with the fix instructions), then reopens the canonical ticket + index as 'open'. Each attempt gets its own directory, so a later rejection never overwrites an earlier one. |
| memory_cancel_ticketC | Cancel a ticket. Allowed: creator, claimer, or an active main/lead/reviewer agent. |
| memory_terminate_ticketA | Forcefully terminate a ticket at any stage. Creator or active main/reviewer only. |
| memory_list_ticketsA | List tickets. Shows open/in_progress/in_review by default. Use include_closed for history. |
| memory_wait_for_eventA | Park until another agent acts, then return everything pending. The listening half of On Board. Instead of a human relaying messages, an agent blocks here until a peer creates a ticket, changes a status, or assigns work. Returns instantly if events piled up since your last call, so re-arming after a gap costs one call rather than an empty wake. One wake drains the whole queue. You never wake on your own actions. Re-arm by calling it again — the cursor is stored per agent, so you carry no bookkeeping. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| listen | Park and wait for another agent to act — the cheap re-arm loop. |
| on-board | Join the project and get compact current context — always run this first. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| project | Project identity: description and tech stack previews. |
| tickets | Board ticket counts and the bounded open queue. |
| memory_summary | Shared-memory counts and the newest entry metadata. |
TDQS
Scored across 30 tools
Most tools target distinct workflow steps, but there are genuine collision zones: memory_init vs memory_bootstrap (both seed .agent-mem/), memory_onboard ('compact session entrypoint') vs memory_get_briefing ('CALL THIS FIRST'), and three search tools (memory_search, memory_search_archive, memory_search_vector) that an agent may pick wrong. memory_cancel_ticket vs memory_terminate_ticket also overlap, distinguished only by 'forcefully' and role restrictions. Descriptions help, but conflicting entry-point guidance is a real misselection hazard.
All tools share a uniform memory_ prefix and snake_case, with mostly predictable verb_noun forms (memory_create_ticket, memory_claim_ticket, memory_search). Minor deviations are noun-only names like memory_doctor, memory_status, and memory_links. Very readable as a set.
30 tools exceeds the heavy threshold, and several could be consolidated (init/bootstrap, three search variants, prepare_compaction/compact/status/doctor/token_usage cluster). However the domain is genuinely broad — memory store, ticketing, compaction, handoff, external context — so most tools map to a distinct step rather than being padding.
Ticket lifecycle is well covered (create, claim, submit, review, cancel, terminate, list), but there are dead ends: memory_unpin exists with no memory_pin counterpart, and there is no memory_delete despite unpin referencing preservation 'without deleting'. The vector search is disabled by default, and ticket detail retrieval only comes indirectly via list.