survivemem
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SURVIVEMEM_DB | No | Database path (default $XDG_DATA_HOME/survivemem/memory.db). | |
| XDG_DATA_HOME | No | Base directory for the database; relative values are ignored. | |
| XDG_STATE_HOME | No | Base directory for the hooks/MCP server log; relative values are ignored. | |
| XDG_CONFIG_HOME | No | Base directory for the configuration file; relative values are ignored. | |
| SURVIVEMEM_CONFIG | No | Configuration file path (default $XDG_CONFIG_HOME/survivemem/config.toml). | |
| SURVIVEMEM_PROJECT | No | Force 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_URL | No | Ollama 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| 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 |
| investigation_statusA | READ. Compact state of the open investigation (or |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
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.
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.
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.
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.