memory-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AWS_PROFILE | No | S3 credentials profile | vms-holdings |
| DJ_MEMORY_HOME | No | Hot source repository root | ~/.local/dj-memory |
| DJ_MEMORY_USERNAME | No | S3 key prefix (s3://bucket/{username}/) | OS user |
| DJ_MEMORY_NEO4J_URL | No | Knowledge graph | bolt://127.0.0.1:7687 |
| DJ_MEMORY_S3_BUCKET | No | Cold storage bucket | vms-memory-mcp |
| DJ_MEMORY_S3_REGION | No | Bucket region — does not inherit the profile default region | ap-northeast-2 |
| DJ_MEMORY_LISTEN_ADDR | No | Bind address (loopback fixed) | 127.0.0.1:8420 |
| DJ_MEMORY_OPENSEARCH_URL | No | Episodic index | http://127.0.0.1:9200 |
| DJ_MEMORY_EPISODIC_TTL_DAYS | No | Days after which consolidated episodes move to cold storage | 30 |
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 |
|---|---|
| memory_rememberA | Create a memory (markdown original + derived index). Returns possible_conflicts with judgment material (shared entities, age gap, latest_wins_eligible) — the caller judges: supersede, keep both, or correct itself. Nothing is ever overwritten automatically. Identical content is idempotent (returns the existing id). |
| memory_recallA | Hybrid lexical search (word/trigram FTS + CJK-aware fallbacks). Returns paths, excerpts, and score components — read the file (or memory_read) for full content; nothing is auto-injected. Ranking: text * trust * state * (1 + freshness + heat); old unused memories sink, never vanish. |
| memory_readB | Full content plus provenance: frontmatter, supersede chain in both directions, conflicts, usage. |
| memory_updateA | edit: revise wording/metadata in place (state preserved — meaning-changing revisions should use supersede instead). supersede: id wins over other_id (non-destructive version chain). set_state: explicit lifecycle transition. link: relate two memories. resolve_conflict: record a keep-both judgment for a surfaced pair. |
| memory_forgetA | archive: sink from default recall (recoverable). deprecate: judged wrong — requires a reason, preserved for opt-in reads. purge: delete the file — only from archived/deprecated and only with confirm=true; if the store is a git repo, history is the backstop. |
| memory_statusB | The honesty surface: counts by state/type/trust, pending conflict judgments, review-due memories, distillation (compaction) candidates, unparseable files, index freshness, dictionary state. |
| memory_reindexA | rebuild (default): drop all derivatives and reconstruct them from the memory files — originals own the content, so this is disaster recovery (only usage heat is lost). verify: full re-hash audit that ignores the stat gate and reports drift (files whose content no longer matches the index). |
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 7 tools
Each tool has a clearly distinct purpose: reindex for maintenance, remember for creation, recall for search, read for retrieval, update for modifications, forget for deletion/lifecycle changes, and status for system overview. No two tools overlap in function; even update's multiple sub-actions are clearly delineated within a single tool.
All tools follow a consistent 'memory_' prefix with a descriptive verb (remember, recall, read, update, forget, status, reindex). The naming pattern is uniform and predictable, making it easy to infer tool behavior from names alone.
Seven tools is an ideal scope for a memory management server. It covers all core CRUD operations, search, maintenance, and status reporting without redundancy or bloat. Each tool occupies a necessary role in the lifecycle.
The tool set covers the full memory lifecycle: create (remember), retrieve (recall/read), update (update with edit/supersede/state changes), delete (forget with archive/deprecate/purge), plus maintenance (reindex) and oversight (status). Conflict resolution and linking are also supported, leaving no obvious gaps.