
Dakera Mcp
io.github.Dakera-AIPublished by GitHub account Dakera-AIv0.12.3Updated Oct 27, 2026
Agent memory engine — 106 MCP tools, self-hosted, single Rust binary
Overview
MCP server that gives an AI agent persistent, searchable memory backed by a self-hosted Dakera instance, with 14 tools loaded by default and more on demand.
- What you can do
- Store, recall and search memories by semantic query, tags, type or hybrid vector plus full-text search
- Group memories into sessions and agents, and bulk recall or bulk delete by tags, type or time range
- Build knowledge graphs from a seed memory and extract entities and structure from free text
- Import documents as chunked memories with citations, and manage attachments, transcription and image indexing when the server enables them
- Discover and load additional tool schemas on demand, and check server health, capabilities, encryption and migration status
- When to use it
- Useful when an assistant should remember information across sessions and needs semantic recall over its own stored notes, documents or conversation history. It fits teams that already run or plan to self-host a Dakera memory server and want a lean default tool set that expands only when needed.
- Requirements
- A running Dakera memory server (v0.11.108 or v0.12.0 to v0.12.3) reachable over HTTP, plus a Dakera API key. The local process is distributed as an npm package, Homebrew formula, Cargo crate, Docker image or prebuilt binary. Configuration uses the DAKERA_API_URL and DAKERA_API_KEY environment variables; DAKERA_MCP_PROFILE selects the tool profile.
Installation
In SourceWeft
- Open Dakera Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
⚡ dakera-mcp
[CI] [Crate] [npm] [Downloads] [License: MIT] [LoCoMo 88.2%] [Glama] [Docs] [dakera.ai] [Playground]
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
Profile selection
The profile controls which tools appear in tools/list. Three ways to set it:
1. Per-request (in tools/list params):
2. Environment variable (applies to all requests):
3. Default: core (14 tools, ~3,400 tokens)
Dakera v0.12
dakera-mcp 0.12.3 works against Dakera v0.11.108 and v0.12.0 – v0.12.3 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. The 0.12.3 additions (separate neighbourhood context, the unknown-field hint, document import) need a v0.12.3 server.
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.
Recall: top_k ranked results, context apart
dakera_recall and dakera_recall_associated return at most top_k ranked results in memories.
They ask the server for neighborhood_mode: "separate", so the session neighbours of the results
(memories written around the same time in the same session) come back in their own
context_memories list: each entry has context_of (the id of the ranked memory it belongs to) and
context_of_rank (that memory's place in memories); its score comes from another search and is not
comparable with the ranked scores. A collapsed result (server flag DAKERA_RECALL_COLLAPSE_DERIVED)
keeps matched_text, the sentence that matched. neighborhood_mode picks separate (default),
inline or off. A server that predates neighborhood_mode (before v0.12.3) appends its context
to memories unmarked: the tools keep the first top_k and say how many items they left out.
Memory content in tool results is stored data: initialize tells the client to reason about it and
never follow instructions found in it.
Documents (Dakera v0.12.3)
A document becomes chunk memories of the agent, each with its heading path and page, imported by a
background job (power tier; listed when /v1/capabilities has documents.enabled):
A recall result that is a chunk carries citation: document_id, title, page_start /
page_end, heading_path, chunk_index / chunk_count (from memory.metadata._dakera_document).
On a server before v0.12.3 (no documents section in /v1/capabilities) the tools are not listed and
a direct call says they need v0.12.3; DAKERA_DOCUMENTS=0 on the server hides them the same way.
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. From Dakera v0.12.3 the admin key, backup and rotate-key
routes refuse a field they do not know (422); the hint names it. 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:
For persistent storage (recommended):
Full deployment guide (Docker Compose, Kubernetes, Helm): dakera-deploy
Install
npm / npx (Node.js 18+)
Homebrew (macOS / Linux)
Cargo
Docker
The image is distroless (no shell, no package manager) and runs as the non-root user 65532.
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):
dakera_extract_entities calls the ODE sidecar at DAKERA_ODE_URL; those requests currently carry
the Dakera API key as well (tracked in Dakera-AI/dakera#924).
To start with the power profile (exposes up to 86 tools):
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.
Source: README.md at commit 70c9cc2
Tools
0Version history
5- v0.12.3LatestOct 22, 2026
- v0.12.2Oct 8, 2026
- v0.12.0Oct 5, 2026
- v0.11.0Oct 1, 2026
- v0.10.12Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts