GoodMemory
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOODMEMORY_USER_ID | Yes | User ID for this memory scope. Required. Can also be passed as --user-id flag. | |
| GOODMEMORY_STORAGE_URL | No | Optional external storage URL (e.g., Postgres). If unset, uses local SQLite. | |
| GOODMEMORY_MCP_ALLOW_WRITE | No | Set to 1 to enable the goodmemory_remember write tool. Default is unset (no write tool). |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| goodmemory_get_contextB | Fetch a compact memory context fragment for a specific question about this workspace. Call it when hook-injected context is missing or insufficient, or when you need memory for a different question than the current prompt. |
| goodmemory_inspect_memoryA | Diagnostic (beyond the primary goodmemory_get_context / goodmemory_remember tools). Use this when you need a read-only snapshot of durable and runtime GoodMemory state for the current workspace. |
| goodmemory_trace_recallA | Diagnostic. Explain a recall: routing, hits, per-candidate scores, and suppression reasons. Call it when a memory that should exist did not surface, or when a surfaced memory looks wrong. |
| goodmemory_search_indexA | Advanced recall (past goodmemory_get_context). Progressive GoodMemory recall step 1: fetch a compact recordRef index for a query, then call goodmemory_get_records for detail. Prefer this over goodmemory_get_context when you need specific records rather than a rendered summary. |
| goodmemory_timelineC | Advanced recall. Use this for progressive GoodMemory recall when you need compact chronological context before drilling into recordRefs. |
| goodmemory_get_recordsA | Advanced recall. Use this for progressive GoodMemory recall after search_index or timeline returns recordRefs that need detail. |
| goodmemory_read_artifactsB | Diagnostic. Use this when you need the accepted host-adapter artifact projection for the current workspace. |
| goodmemory_statsA | Diagnostic. Record counts and runtime metadata (embedding/retrieval status via the |
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 8 tools
Most tools have clearly distinct purposes: primary recall, progressive recall, and diagnostics are separated. However, goodmemory_search_index and goodmemory_get_context both serve recall and could be confused, though the descriptions clarify their different use cases.
All tools share the goodmemory_ prefix and use snake_case, with mostly verb_noun patterns (get_context, inspect_memory, trace_recall, get_records, read_artifacts). Two tools (timeline, stats) are noun-only, creating slight inconsistency, but the overall pattern is predictable.
At 8 tools, the count is well-scoped for a memory system. Each tool has a distinct role, and the count feels appropriate without being excessive or thin.
The tool set focuses heavily on reading and diagnostics but lacks a core writing tool (goodmemory_remember is referenced in descriptions but not exposed). No update, delete, or list-all capability is present, which is a significant gap for a memory system.