memstack
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REDIS_URL | No | Redis connection URL | |
| SQLITE_PATH | No | SQLite database path, for example /data/memstack.db | |
| DATABASE_URL | No | Postgres connection URL; the server must support pgvector | |
| MEMSTACK_DIR | No | Directory for disk or Markdown storage, for example /data/memstack | |
| MEMSTACK_ACTOR | No | glama | |
| OPENAI_API_KEY | No | Required for MemStack startup and OpenAI-compatible LLM features | |
| MEMSTACK_STORAGE | No | memory | |
| ANTHROPIC_API_KEY | No | Alternative LLM provider key | |
| MEMSTACK_EMBED_ON_STORE | No | false |
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 | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| memory_processB | Store a memory with auto-enrichment (importance scoring, tag extraction, auto-summarization, auto-pruning). This is the primary method for recording interactions. |
| memory_storeA | Store a memory directly without enrichment. Use this when you already have importance/tags or want precise control. |
| memory_store_batchA | Store multiple memories in one call, directly without enrichment. Embeddings (if configured) are computed in a single batched call for efficiency. |
| memory_getB | Get a single memory by ID. Returns null if not found. |
| memory_retrieveB | Retrieve memories for an actor with optional filtering, semantic search, and date range constraints. |
| memory_compile_contextA | Compile memories into an LLM-ready system prompt (markdown formatted, token-budgeted, split into important and recent sections). |
| memory_summarizeA | Summarize old memories into a single summary memory. Compresses N interactions into 1 summary via LLM. |
| memory_pruneA | Prune (delete) memories matching the given strategy. Scoped to a single actor — defaults to the current session actor. Returns the pruned memory IDs and count. Handle with care. |
| memory_purge_actorB | Delete ALL memories belonging to a specific actor. Irreversible. |
| memory_mergeA | Merge multiple memories into one. Uses the highest-importance memory as the base and appends content from the rest. |
| memory_statsB | Get memory statistics: total count, by type, by actor, average importance, and more. |
| memory_deleteA | Delete a single memory by ID. |
| memory_delete_manyA | Delete multiple memories by ID in one call. Returns the number actually deleted. |
| memory_touchA | Bump a memory's recency (last-accessed timestamp) without changing its content, id, or createdAt. |
| memory_exportA | Export a snapshot of memories for backup or migration. Returns { version, memories, exportedAt }. |
| memory_importA | Import memories from a snapshot previously produced by memory_export. Restores each memory as-is, including its original ID. |
| memory_healthA | Check the health of storage, LLM, and embedding connections. |
| memory_dry_run_pruneA | Preview what would be pruned by a given strategy WITHOUT actually deleting. Scoped to a single actor — defaults to the current session actor. Returns the memory IDs that would be removed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| memory_context | Injects compiled memory context for the current actor |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Actor Memory Context | Compiled LLM-ready context for an actor |
| Actor Memory Stats | Diagnostic stats for actor memory |
This server cannot be deployed
TDQS
Scored across 18 tools
Most tools have distinct purposes, and descriptions clarify overlaps like process vs store and retrieve vs get. A few pairs (delete/delete_many, prune/purge_actor) are similar but differentiated by scope or strategy.
All tools share the 'memory_' prefix, and most follow a verb_noun pattern. A few nouns like 'health' and 'stats' break the strict verb convention, but the overall style is coherent.
18 tools is slightly above the typical 3-15 range, but each covers a distinct memory operation (CRUD, batch, enrichment, admin, context). The count is justified for a full-featured memory server.
The set covers the full memory lifecycle: creation (store/process), retrieval (get/retrieve), deletion (delete/delete_many/prune/purge_actor), admin (health/stats/export/import), and advanced operations (summarize/merge/compile_context). No significant gaps.