Dakera

自托管的基于Rust的MCP服务器,用于AI代理记忆——具备持久化、可查询的记忆功能,支持混合搜索、知识图谱、内置嵌入,以及14个核心工具(通过基于配置文件的层级扩展可增至86个以上)。

文档

⚡ 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_tools and dakera_load_tools to fetch additional tool schemas only when you need them

Default tool set (core profile)

ToolPurpose
dakera_storeStore a memory with importance, tags, and type
dakera_recallSemantic recall by query text
dakera_searchAdvanced memory search with tag/type filters
dakera_session_startStart a session to group related memories
dakera_session_endEnd a session with optional summary
dakera_batch_recallBulk filter-based recall (by tags, importance, time)
dakera_forgetDelete specific memories by ID
dakera_hybrid_searchCombined vector + BM25 search
dakera_fulltext_searchBM25 full-text search
dakera_knowledge_graphBuild a knowledge graph from a seed memory
dakera_extractExtract entities and structure from free-form text
dakera_batch_forgetBulk delete by tags, type, or time range
dakera_discover_toolsSearch the full tool catalog by keyword or tier
dakera_load_toolsLoad full schemas for specific tools on demand

Profiles & token cost

ProfileTools~TokensHow to enable
core14~3,350Default — always loaded
admin34~6,700DAKERA_MCP_PROFILE=admin
power79~16,600DAKERA_MCP_PROFILE=power
all99~19,950DAKERA_MCP_PROFILE=all

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,350 tokens)


Dakera v0.12

dakera-mcp 0.11 works against Dakera v0.11.108 and v0.12.0 servers. Every v0.11 tool keeps its name and arguments; the v0.12 additions are optional arguments that are sent only when you supply them, and tools that call v0.12 routes.

Dakera serverdakera-mcp 0.11
v0.12.0every tool; the attachment tools while DAKERA_ATTACHMENTS (and DAKERA_VISION for images) is on
v0.11.108every v0.11 tool unchanged; the attachment tools, dakera_encryption_status and dakera_embed_migration_status are not listed (a direct call says they need v0.12); dakera_encryption_rotate_key needs new_key
oldernot tested

What is new

ToolTierNeedsWhat it does
dakera_capabilitiespowerv0.12GET /v1/capabilities: active model, search mode, scoring strategy, accepted lang values, which opt-in features are on. On a v0.11 server it answers capabilities_available: false
dakera_healthpoweranyGET /health: status and version; on v0.12 also degraded, config_warnings, embed_migration
dakera_wake_uppoweranyan agent's startup context in one call: its top memories by importance x recency, no query, no embedding
dakera_embed_migration_statusadminv0.12progress of the one-time background re-embed after the upgrade
dakera_encryption_statusadminv0.12the encryption keyring and the background re-seal (never key material)
dakera_encryption_rotate_keyadminv0.11+new_key is optional on v0.12 once encryption is on (the server generates a key; with encryption off, new_key turns it on); wait_secs (at most 20); namespace rotates one namespace
dakera_attachment_upload / _list / _download / _deletepowerv0.12 + DAKERA_ATTACHMENTSfiles (or text) a memory can reference with dakera_store attachment_ref
dakera_attachment_transcribepowerv0.12 + DAKERA_ATTACHMENTSWAV speech to text in any language the model knows (lang forces one) into a memory; a background job, wait_seconds (at most 45) waits for it
dakera_attachment_index_imagepowerv0.12 + DAKERA_ATTACHMENTS + DAKERA_VISIONPNG page as a visual memory (use an agent dedicated to images: the visual lane stores page vectors)
dakera_attachment_jobpowerv0.12 + DAKERA_ATTACHMENTSstatus of a transcription / index job

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); 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:

  • attachments off, or a server without /v1/capabilities (v0.11): the dakera_attachment_* tools are not listed and not returned by dakera_discover_tools; a direct call answers with the variable to set (DAKERA_ATTACHMENTS=1) and makes no request.
  • vision off: dakera_attachment_index_image is left out (DAKERA_VISION=1 turns it on).
  • A server without /v1/capabilities (v0.11) also hides dakera_encryption_status and dakera_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. 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.

PlatformFile
macOS (Apple Silicon)dakera-mcp-aarch64-apple-darwin.tar.gz
macOS (Intel)dakera-mcp-x86_64-apple-darwin.tar.gz
Linux x64dakera-mcp-x86_64-unknown-linux-musl.tar.gz
Linux arm64dakera-mcp-aarch64-unknown-linux-musl.tar.gz
Windows x64dakera-mcp-x86_64-pc-windows-msvc.zip

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 79 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

→ Full docs
→ MCP reference

Related

RepoWhat it is
dakera-pyPython SDK
dakera-jsTypeScript SDK
dakera-cliCLI
dakera-deploySelf-host Dakera

dakera.ai · Documentation · Request Early Access

Part of the Dakera AI open-core ecosystem. Built with Rust. Self-hosted. Zero dependencies.