Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SURVIVEMEM_DBNoDatabase path (default $XDG_DATA_HOME/survivemem/memory.db).
XDG_DATA_HOMENoBase directory for the database; relative values are ignored.
XDG_STATE_HOMENoBase directory for the hooks/MCP server log; relative values are ignored.
XDG_CONFIG_HOMENoBase directory for the configuration file; relative values are ignored.
SURVIVEMEM_CONFIGNoConfiguration file path (default $XDG_CONFIG_HOME/survivemem/config.toml).
SURVIVEMEM_PROJECTNoForce the project (label or id) for hooks, CLI and MCP server; created if unknown. Useful for Claude Desktop, which does not start the server in a project directory; without it, memories land in the global scope.
SURVIVEMEM_OLLAMA_URLNoOllama base URL for optional vector search and summaries; only http on 127.0.0.1, localhost or ::1 is accepted.http://127.0.0.1:11434

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
list_projectsA

READ. All projects with memory counts, identities and checkouts (path, branch, head, label); marks the current project and clone. No preconditions.

search_memoriesA

READ. Relevance-ranked search over long-term memories of the current project (or project, a label or id), its linked projects and global memories. Returns at most limit hits, never a full dump. Candidates are never returned.

store_memoryA

WRITE. Store one memory. Precondition: the user explicitly asked to remember it or confirmed a fact you proposed; never store silently. kind: fact, preference, project, decision, environment, pitfall. scope: project (default), branch (true only on this branch) or checkout (true only for this clone). global_memory=true for facts that hold everywhere. refs: pointers (§15) to the source; store the conclusion, not raw output.

forget_memoryA

WRITE. Soft-delete a memory by id or unique id prefix (restorable with the CLI). Precondition: the user asked to forget it.

list_recentB

READ. Newest memories first (current project, linked projects and global; all projects outside a project). Excludes candidates.

memory_statusA

READ. DB path, schema version, counts per kind, FTS health, vector search state (sqlite-vec, embeddings), Ollama reachability and the current project.

checkpointA

WRITE. Save the working state of this session so it survives context compaction: goal, done, in_progress, next, decisions (each with a one-line reason), files, optional blockers. Overwrites what it states, merges files. Call after every completed subtask and before any long operation; reference the open investigation id in in_progress.

session_stateA

READ. The current session's checkpoint (state and its rendering), or {} when none.

investigation_openA

WRITE. Open a debug investigation for the current project (one open at a time). Use before the first experiment when a task is debugging: a symptom with an unknown cause. Snapshots the project's environment memories; env adds free-form setup text.

investigation_logA

WRITE. Append to the open investigation. kind: hypothesis, experiment, observation, ruled_out (with a one-line reason), note. An experiment needs command (logged BEFORE running it) and gets result good/bad/inconclusive after; anchor defaults to the current HEAD(+.config). One entry per experiment, never a summary of several.

investigation_statusA

READ. Compact state of the open investigation (or id): symptom, setup, ruled out, open hypotheses, last experiments, blocker, commands not to re-run. Call at the start of any debugging task and after every compaction.

investigation_closeA

WRITE. Close the open investigation with root_cause and fix; status solved (default) writes one pitfall memory pointing at it, abandoned writes none.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 12 tools

Disambiguation4/5

The set splits cleanly into three functional clusters (long-term memories, debug investigations, session checkpoints), and within each cluster the read/write lifecycle tools are distinguishable. The only real friction is between search_memories and list_recent (both return memories, differing only by ranking) and between checkpoint/store_memory, which both 'save' information but for different lifetimes and which rely on the description text to separate.

Naming Consistency3/5

Two competing conventions coexist: verb_noun (list_projects, store_memory, search_memories, forget_memory, list_recent) and resource-prefixed noun forms (investigation_open, investigation_log, investigation_status, investigation_close, memory_status). Worse, the same memory domain is split across both patterns (store_memory vs memory_status), and two tools are bare nouns with no prefix at all (checkpoint, session_state). Still readable, but not predictable.

Tool Count5/5

Twelve tools for a memory-plus-debugging server is well within the sweet spot, and each one maps to a distinct lifecycle step (open/log/status/close for investigations; store/search/list/forget for memories; save/read for checkpoints). Nothing appears padded or redundant.

Completeness3/5

Investigations have full lifecycle coverage and probing/checkpointing are covered in both directions, but the memory surface has gaps: there is no update/edit operation, and restore after forget_memory is explicitly a CLI-only escape hatch, which is a dead end for an agent. The 'candidate' memories referenced throughout are never exposed by any tool, and there is no way to list historical/closed investigations.

Maintenance

ActivityMaintained
ResponsivenessNo issues