memory-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEMORY_DB_PATH | No | Path to the SQLite database file for memory storage. | ~/.vibe/memory.db |
| MEMORY_FILE_PATH | No | Path to the JSONL file for memory storage. | ~/.vibe/memory.jsonl |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_entitiesA | Create multiple new entities in the knowledge graph. Each entity must have: name (str), entityType (str), observations (list[str]). |
| create_relationsA | Create multiple new relations between entities in the knowledge graph. Each relation must have: from (str), to (str), relationType (str). |
| add_observationsA | Add new observations to existing entities in the knowledge graph. Each item must have: entityName (str), contents (list[str]). |
| delete_entitiesA | Delete multiple entities and their associated relations from the knowledge graph. |
| delete_observationsA | Delete specific observations from entities in the knowledge graph. Each item must have: entityName (str), observations (list[str] — exact content match). |
| delete_relationsA | Delete multiple relations from the knowledge graph. Each relation must have: from (str), to (str), relationType (str). If relationType is omitted, all relations between from and to are deleted. |
| search_nodesA | Search for nodes in the knowledge graph. Case-insensitive token match across entity names, types, and observation content. Returns matching entities with their observations. |
| open_nodesB | Open specific nodes in the knowledge graph by their names. Returns full entity details including all observations and timestamps. |
| read_graphA | Read the entire knowledge graph. Returns all entities with observations and all relations. Note: loads the full graph into memory — may be large. |
| traverseA | Traverse the graph from a starting node, returning all entities within N hops. Args: start_node: Entity name to start from depth: Number of hops to traverse (default 1, max 3) |
| recentA | Return entities, relations, and observations created or updated in the last N hours. Args: hours: Look-back window in hours (default 24, max 720) |
| search_similarA | Fuzzy search for entity names using trigram similarity. Args: name: Name to search for (fuzzy matched) threshold: Minimum similarity score 0.0–1.0 (default 0.3) |
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
Each tool addresses a distinct operation: entity/relation/observation CRUD is clearly separated, and the query tools (search_nodes, open_nodes, read_graph, traverse, recent, search_similar) each serve a unique retrieval use case. Even similar-sounding searches like search_nodes and search_similar are differentiated by 'token match' vs 'fuzzy name similarity'. No two tools appear to perform the same function.
Most tools follow a clear verb_noun pattern (create_entities, delete_observations, read_graph, open_nodes). However, 'traverse' is a bare verb and 'recent' is a time-filter command rather than verb_noun, breaking the pattern slightly. Overall, the naming is readable and predictable enough for an agent to infer tool purposes.
With 12 tools, the server covers the full knowledge graph lifecycle (create, add, delete) plus a diverse set of query and traversal operations. This is a well-scoped count that is neither too sparse nor overwhelming. Each tool earns its place for a memory system.
The surface includes CRUD for entities, relations, and observations, plus retrieval via search, open, full-graph read, traversal, and recent-time filtering. The only notable gap is lack of an 'update entity' or 'update relation' operation, though this can be worked around with delete+create or add_observations. Overall, the domain coverage is strong.