engram
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| engram_searchC | Semantic search across the château. Returns ranked results with recency weighting. |
| engram_add_memoryA | Store a new memory drawer in the château. The result lists 'possible_updates': existing memories this one may replace. If it does, call engram_supersede (or pass 'supersedes' here). |
| engram_wake_upB | Return L0+L1 cold-start context (~170 tokens). Load this at the start of every session. |
| engram_load_roomC | Return L2 context for a specific room (ES-compressed closets for all halls). |
| engram_compressC | Compress text into Engram Shorthand (ES). |
| engram_decompressB | Decompress Engram Shorthand (ES) back to natural language. |
| engram_kg_queryC | Query the temporal knowledge graph for an entity. |
| engram_kg_addC | Add a triple to the knowledge graph. |
| engram_kg_invalidateC | Invalidate (end) a KG triple. |
| engram_kg_timelineB | Return chronological timeline of all triples for an entity. |
| engram_list_wingsB | List all wings in the château. |
| engram_list_roomsC | List all rooms in a wing. |
| engram_get_drawerC | Fetch a specific drawer by ID. |
| engram_delete_drawerC | Delete a drawer from the château. |
| engram_create_wingC | Create a new wing in the château. |
| engram_create_roomC | Create a new room within a wing. |
| engram_diary_writeC | Write a diary entry for a specialist agent. |
| engram_diary_readC | Read recent diary entries for a specialist agent. |
| engram_statusA | Return château statistics (wings, rooms, drawers, closets). |
| engram_auditC | Run a memory health audit. Returns JSON summary of issues found. |
| engram_replayC | Return the chronological story of a room (session replay). |
| engram_pinB | Pin a drawer so it bypasses recency decay. |
| engram_recallA | The few memories clearly relevant to a message, current versions first, or a note that nothing matched. Call it before answering anything that may depend on past work, decisions or preferences. |
| engram_correctA | Save a correction: a new memory that replaces an outdated one (same wing/room/hall). The old memory stays searchable but is marked superseded, and search shows the correction first. Safe to retry. |
| engram_supersedeB | Record that one stored memory replaces another (e.g. 'we moved to PostgreSQL' replaces 'we use SQLite'). Set undo=true to make the old memory current again. Safe to retry. |
| engram_disputeC | Mark two memories as conflicting when it is not yet clear which is right. |
| engram_historyC | A memory's status (current, superseded or disputed), what replaced it, what it replaced, when and why. |
| engram_linkA | Record how two stored memories relate: 'memory_id target_id'. based_on: target is evidence for memory. derived_from: memory was inferred from target. contradicts: they conflict, undecided. supersedes: memory replaces target. undo=true removes the link. Safe to retry. |
| engram_sourceB | Record where a stored memory came from (and optionally the citation or URL). |
| engram_whyA | Explain a memory: where it came from, when, whether it is record or inference, the evidence it rests on (and whether that evidence was since corrected or disputed), earlier versions and their evidence, conflicts, and, given the query, why search ranked it. Use it before relying on a conclusion or when asked to justify one. |
| engram_checkA | Memory maintenance report: conclusions whose evidence was corrected or disputed, inferences with no evidence, unresolved conflicts, broken links. Changes nothing. |
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 31 tools
Several clusters overlap: engram_check vs engram_audit, engram_recall vs engram_search, engram_supersede vs engram_correct vs engram_link(supersedes), engram_source vs engram_link(based_on), and engram_history vs engram_why. Descriptions help distinguish them, but an agent must read carefully to avoid misselection among memory-lifecycle and maintenance tools.
All tools use the engram_ prefix and snake_case, with a clear kg_ subgroup. Most names are verb_noun or noun_resource, but bare verbs/nouns like status, recall, why, history, audit, and pin are minor deviations rather than inconsistent conventions.
At 31 tools, the surface is heavy for a memory server and exceeds the typical well-scoped range. Several operations could be consolidated (check/audit, supersede/correct/link, recall/search), making the set feel over-expanded rather than tightly scoped.
Coverage is broad: add/search/correct/supersede/dispute/link/source/why/history, temporal KG operations, wing/room/drawer structure, context loading, diary, compression, and audits. Minor gaps like deleting wings/rooms or directly editing drawer metadata remain, but there are no core workflow dead ends.