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_memory | 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_recall | 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_correct | 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_link | 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_source | Record where a stored memory came from (and optionally the citation or URL). |
| engram_why | 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_check | 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 26 tools
Most tools target distinct resources or actions, but engram_add_memory, engram_supersede, and engram_correct overlap heavily—add_memory even references possible updates, and correct vs supersede both describe replacing an outdated memory with a new one. Context-loading tools (wake_up, load_room, replay) are distinguishable but close in scope.
All tools share the engram_ prefix and snake_case, with a coherent kg_ sub-namespace for graph operations. Names mix single verbs (search, status, audit) with verb_noun forms (create_room, list_wings) but stay readable and predictable overall.
At 26 tools the surface is on the heavy side for a memory system, though the domain (memory CRUD, KG, diary, compression, lifecycle/pinning) genuinely spans several sub-areas. It sits just past the 25-tool mark where density starts to weigh on selection.
Coverage is broad: room/wing creation, drawer add/get/delete, supersede/correct/dispute/history lifecycle, full KG add/query/invalidate/timeline, diary read/write, and compression. Gaps are minor—no delete for wings/rooms and no explicit drawer update, but corrections largely cover mutation.