EvoMem-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DB | No | Path to the SQLite database file, passed via --db (e.g. --db ~/.evomem/evomem.db). | |
| LINKER_MODEL | No | Model used by the LLM linker, passed via --linker-model. | |
| AUTO_SUPERSEDE | No | Automatic supersession mode, passed via --auto-supersede. One of: llm, heuristic. | |
| LINKER_BASE_URL | No | Base URL of the OpenAI-compatible endpoint used by the LLM linker, passed via --linker-base-url (e.g. http://localhost:8080/v1). | |
| EVOMEM_LINKER_API_KEY | No | API key for the OpenAI-compatible linker endpoint used when automatic supersession is enabled with --auto-supersede llm. |
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 |
|---|---|
| rememberA | Turn a chunk of agent history / interaction text into a MemoryNode. Extracts the narrative structure (trigger, change, consequences) with the current cronista, stores it locally, and returns the node id plus the wall latency (to verify the <100 ms target of objective 2.1). relations: optional typed edges to other node ids, e.g. {"caused_by": [id]}. supersedes: id of the node this one replaces (e.g. a decision that changed); the old node is kept as history with status=superseded. If that node was already superseded, the new one replaces the current head of its chain. Without it, the server may detect the replaced node itself (--auto-supersede). |
| recallB | Find the most relevant MemoryNodes for a free-text query. include_history=True replaces each hit by its supersedes chain so the agent sees the story, not just the latest state (CoMeT-style), going at most history_depth versions back to keep the response small. |
| get_nodeC | Read one MemoryNode by id. |
| forgetB | Forget a node: soft (drop from recall index, keep history) or purge. |
| statsA | Storage stats: node counts by status, raw T3 text count. |
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 5 tools
Each tool has a clearly distinct purpose: remember writes, recall searches by free-text, get_node fetches by id, forget removes, and stats reports storage. The recall/get_node boundary is well explained (query-based with history chain vs single-id lookup), leaving no realistic misselection.
All names are lowercase snake_case and the core operations use bare verbs (remember, recall, forget), but get_node mixes verb_noun and stats is a bare noun. The style is slightly mixed yet entirely predictable and readable.
Five tools is well-scoped for a memory server: one per core operation (write, search, read, delete, inspect). Nothing appears redundant or missing at this size.
The surface covers the full memory lifecycle—create, query, read, soft-delete/purge, and stats—with updates modeled through supersedes chains rather than a separate update tool. Minor gaps remain, such as no listing/enumeration or relation-traversal operation, but agents can work around these via recall and get_node.