Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AGENT_PROJECT_DIRYesRequired. The project directory that owns .agent-mem/.
AGENT_MEM_CONTEXT_DIRSNoOptional. 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

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

Tools

Functions exposed to the LLM to take actions

NameDescription
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 .agent-mem/checkpoints resolves outside the project.

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:

  1. Splits memories into HOT (recent/pinned) and COLD (old)

  2. Groups cold entries by agent session

  3. Compresses each group into a local digest

  4. Archives raw cold entries to archive.json

  5. Keeps only hot entries in memories.json + adds digest references

Token savings: typically 60-80% reduction on old entries.

Config via env vars:

  • AGENT_MEM_HOT_HOURS: hours to keep full detail (default: 24)

  • AGENT_MEM_MAX_HOT: max hot entries (default: 50)

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:

  1. Call memory_prepare_compaction() → get grouped cold entries

  2. Read and summarize them yourself

  3. Call memory_write(memory_type='context', title='Digest: ...', content='your summary')

  4. Call memory_compact() → archives cold entries, keeps your digest

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:

  • PM needs coder: assigned_to="cursor-coder"

  • Coder needs review: assigned_to="codex-main"

  • Anyone can pick up: assigned_to=None

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

NameDescription
listenPark and wait for another agent to act — the cheap re-arm loop.
on-boardJoin the project and get compact current context — always run this first.

Resources

Contextual data attached and managed by the client

NameDescription
projectProject identity: description and tech stack previews.
ticketsBoard ticket counts and the bounded open queue.
memory_summaryShared-memory counts and the newest entry metadata.

TDQS

B3.2/5.0

Scored across 30 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count3/5

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.

Completeness3/5

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.

Maintenance

ActivityNo data
ResponsivenessOutdated data