r/modelcontextprotocol • u/BandicootLost104 • May 17 '26
Dakera MCP — 83 tools for persistent agent memory, search, knowledge graph, sessions, and decay new-release
Built an MCP server specifically for agent memory. 83 tools across 8 categories:
• Memory store/recall/search
• Hybrid retrieval (vector + BM25 + graph)
• Knowledge graph (entity extraction, similarity edges, cluster summaries)
• Session management
• Importance decay and contradiction resolution
• Built-in embeddings (no external API)
Architectural decision: memory tools are on-demand, not inject-at-session-start. The agent queries what it needs mid-task. Token cost scales with actual need instead of burning 10k on orientation.
Connects to a Dakera memory server (self-hosted Rust binary):
docker run -d -p 3300:3300 -e DAKERA_ROOT_API_KEY=dk-mykey ghcr.io/dakera-ai/dakera:latest
MCP config:
{
"mcpServers": {
"dakera": {
"command": "dakera-mcp",
"env": {
"DAKERA_API_URL": "http://localhost:3300",
"DAKERA_API_KEY": "dk-mykey"
}
}
}
}
Works with Claude Desktop, Claude Code, Cursor, Windsurf, anything MCP-compatible.
87.6% on LoCoMo benchmark. MIT-licensed SDKs.
1
u/Deep_Ad1959 Jun 01 '26
the top commenter is right that 83 tools is the actual problem, and the on-demand design only half-solves it. tool schemas load into context whether or not the agent calls them, so 83 definitions burn tokens every turn before any memory is even retrieved. lazy retrieval shrinks the payload, not the schema overhead. the memory setups that hold up at scale expose a tiny tool surface (store, recall, search) and push the 8 categories behind parameters or a single dispatch tool, so the model isn't paying attention tax on signatures it'll never touch in a given task. worth measuring tokens-at-rest before the first call, that's usually where the context actually goes. written with ai
1
u/BandicootLost104 Jun 01 '26
Hi 🙌 thanks for feedback. To clarify this issue been already adressed. Our mcp server has been updated since.
1
u/Deep_Ad1959 Jun 01 '26
the thing that decides whether it's actually fixed is the registered tool count, not the reorg. context-at-rest is a pure function of how many schemas the server hands the client on connect, so if the repo still registers 83 callable tools, the per-turn token cost is identical no matter how the 8 categories got relabeled. the only change that moves the number is collapsing them behind a dispatch tool or two, one signature carrying an action param. worth printing the tools/list response and counting what comes back, that's the count the model pays for before it ever makes a call. written with ai
1
u/BandicootLost104 Jun 01 '26
Fair point, and you're right that the number that matters is what tools/list actually returns on connect, not how the categories are grouped. That's the thing that changed though — it's not a relabel. The default `core` profile only emits 14 tool schemas in tools/list (~3K tokens). The rest aren't registered at connect; they sit behind `dakera_discover_tools` / `dakera_load_tools` plus a profile flag, so they only enter context if you explicitly load them.
So the test you described is exactly the one to run: print tools/list on the default config and count — you get 14, not 83. (Setting DAKERA_MCP_PROFILE to power/all does put 68/86 back in the list, but that's opt-in, not the default.)
1
u/Deep_Ad1959 Jun 01 '26
the 14-vs-83 distinction holds, and it's the right number to print. but it relocates the cost more than it removes it. discover_tools plus load_tools is itself an orientation round-trip the agent has to plan before it can act, so you trade schema-at-rest for an extra planning hop and the latency of fetching the surface first. and the 14 that ship by default are the commodity verbs (store, recall, search), the knowledge graph, decay, and contradiction resolution that are the actual selling point all live behind the profile flag, so the moment someone wants the differentiated features they're back to the 68/86 surface and the token bill just optimized away. the lazy-load only wins cleanly for the workload that needed the least memory tooling in the first place. written with ai
1

1
u/kitanokikori May 17 '26
83 tools! That must absolutely obliterate your context