⚡ dakera-mcp
MCP server for Dakera AI. Gives any MCP-compatible AI agent persistent, queryable memory — with smart token management built in.
Works with Claude, Claude Code, and any MCP-compatible framework.
Part of Dakera AI — the memory engine for AI agents.
The Dakera memory engine scores 88.2% Recall@20 on LoCoMo (1,536 evaluated questions · LLM-judged retrieval recall) — benchmark details
Architecture: 14 core tools + on-demand discovery
Starting every agent session with 60+ tool schemas wastes ~15K tokens before you write a single message. dakera-mcp solves this with hybrid tool exposure:
- 14 tools loaded by default — the 12 highest-frequency memory operations + 2 meta-discovery tools
- On-demand expansion — use
dakera_discover_toolsanddakera_load_toolsto fetch additional tool schemas only when you need them
Default tool set (core profile)
Profiles & token cost
Token figures are estimates (JSON bytes / 3). The attachment tools below count in power and all,
but only appear while the connected server has the feature on (see Dakera v0.12).
Accessing additional tools
# In your agent: discover what's available
dakera_discover_tools(tier="power")
→ returns names + descriptions, no schemas loaded
# Load schemas for the tools you want
dakera_load_tools(tools=["dakera_consolidate", "dakera_agent_stats"])
→ returns full inputSchema for each tool
Profile selection
The profile controls which tools appear in tools/list. Three ways to set it:
1. Per-request (in tools/list params):
{"profile": "power"}
2. Environment variable (applies to all requests):
DAKERA_MCP_PROFILE=power
3. Default: core (14 tools, ~3,400 tokens)
Dakera v0.12
dakera-mcp 0.12.2 works against Dakera v0.11.108 and v0.12.0 – v0.12.2 servers. Every tool keeps its name and arguments; the additions are optional arguments that are sent only when you supply them (or that an older server ignores), and tools that call new routes and say so on a server without them.
New with Dakera v0.12.2
What is new
Per-request lang (en, de, fr, es, it, pt, nl; v0.12) is accepted by dakera_store,
dakera_recall, dakera_recall_associated, dakera_search, dakera_memory_update, dakera_extract,
dakera_auto_tag and the attachment jobs;
dakera_store also takes attachment_ref (sha256:<hex> of an attachment in the agent's own namespace,
_dakera_agent_<agent_id>). Neither is sent unless given, so the same calls work on a v0.11.108 server.
Other optional arguments (all servers): ttl_seconds and metadata on dakera_store; tags,
memory_type and session_id filters on dakera_recall; limit on dakera_batch_recall;
limit / offset on dakera_session_list, dakera_session_memories and dakera_agent_sessions
(the server pages at 50); content_preview_chars on the memory listings and include_derived on
dakera_agent_memories / dakera_wake_up (v0.12.2, ignored by older servers); memory_type on dakera_knowledge_deduplicate; dedup_on_store /
dedup_threshold on dakera_memory_policy_set.
Features the server has off are left out
The opt-in features (attachments, speech to text, image indexing) are off by default on the server.
dakera-mcp asks GET /v1/capabilities (once a minute, 3 s timeout) before it lists tools:
attachmentsoff, or a server without/v1/capabilities(v0.11): thedakera_attachment_*tools are not listed and not returned bydakera_discover_tools; a direct call answers with the variable to set (DAKERA_ATTACHMENTS=1) and makes no request.visionoff:dakera_attachment_index_imageis left out (DAKERA_VISION=1turns it on).- A server without
/v1/capabilities(v0.11) also hidesdakera_encryption_statusanddakera_embed_migration_status, whose routes are new in v0.12. - The server cannot be asked (down, starting, key refused): nothing is hidden (asked again after 10 s).
The default core profile has no opt-in tools, so it never makes that request.
Errors
Error answers keep the server's text and add a Hint: line for the v0.12 cases: a key pinned to
namespaces gets 403 on node-wide /admin routes (backups, encryption, quotas, config); backup
download, upload and restore need super_admin; 413 (body over a limit, or a hard quota), 501
(feature off), 503 (Retry-After, which the retry logic now honours, up to 8 s) and 429 (rate
limit). A route the server lacks (an older server) and a v0.11 rotation without new_key get a hint
too. Since Dakera v0.12.2 a refused argument gets 400 with a message naming the field
(content: content exceeds maximum of 100000 bytes …, tags[1]: … reserved …); the message is
passed on and the hint names the field to correct (the content limit counts UTF-8 bytes). The 403
hints point at dakera_whoami. A request that timed out is retried only when it is safe to repeat (GET, PUT, DELETE): a store,
an import or a key rotation is never sent twice.
Run Dakera
The MCP server connects to a Dakera memory server. You need one running first:
docker run -d \
--name dakera \
-p 3000:3000 \
-e DAKERA_ROOT_API_KEY=dk-mykey \
ghcr.io/dakera-ai/dakera:latest
For persistent storage (recommended):
curl -sSfL https://raw.githubusercontent.com/Dakera-AI/dakera-deploy/main/docker-compose.yml \
-o docker-compose.yml
DAKERA_API_KEY=dk-mykey docker compose up -d
curl http://localhost:3000/health # → {"status":"ok"}
Full deployment guide (Docker Compose, Kubernetes, Helm): dakera-deploy
Install
npm / npx (Node.js 18+)
# Global install
npm install -g @dakera-ai/dakera-mcp
# Or run directly without installing
npx @dakera-ai/dakera-mcp
Homebrew (macOS / Linux)
brew install dakera-ai/tap/dakera-mcp
Cargo
cargo install dakera-mcp
Docker
docker pull ghcr.io/dakera-ai/dakera-mcp:latest
Binary download
Pre-built binaries for macOS, Linux, and Windows are available on the releases page.
Connect
Add to .mcp.json (Claude Code) or claude_desktop_config.json (Claude Desktop):
{
"mcpServers": {
"dakera": {
"command": "dakera-mcp",
"env": {
"DAKERA_API_URL": "http://localhost:3000",
"DAKERA_API_KEY": "your-key"
}
}
}
}
To start with the power profile (exposes up to 82 tools):
{
"mcpServers": {
"dakera": {
"command": "dakera-mcp",
"env": {
"DAKERA_API_URL": "http://localhost:3000",
"DAKERA_API_KEY": "your-key",
"DAKERA_MCP_PROFILE": "power"
}
}
}
}
Why This Exists
AI agents forget everything when the session ends. Dakera fixes that. This MCP server gives your agent a persistent memory layer with zero infrastructure overhead — point it at a Dakera instance and it works.
The 14-tool default keeps your context window lean. The meta-tools let you expand on demand when you need advanced operations like bulk vector upsert, knowledge graph traversal, or memory federation.
→ dakera.ai for hosted instance
→ Self-host with dakera-deploy
Documentation
Related
dakera.ai · Documentation · Request Early Access
Part of the Dakera AI open-core ecosystem. Built with Rust. Self-hosted. Zero dependencies.