Dakera Mcp

io.github.Dakera-AI由 GitHub 帳號 Dakera-AI 發布v0.12.3更新於 Oct 27, 2026

Agent memory engine — 106 MCP tools, self-hosted, single Rust binary

概覽

AI 產生的概覽

為 AI 助理提供持久、可檢索記憶的 MCP 伺服器,後端為自架的 Dakera 執行個體,預設載入 14 個工具,可依需求擴充。

可以做什麼
  • 以語意查詢、標籤、類型或向量加全文混合方式儲存、召回與搜尋記憶
  • 依工作階段與代理組織記憶,並依標籤、類型或時間範圍批次召回或批次刪除
  • 從種子記憶建立知識圖譜,並從自由文字中擷取實體與結構
  • 將文件匯入為帶引用的分塊記憶,並在伺服器開啟相關功能時管理附件、語音轉錄與影像索引
  • 依需求探索並載入更多工具定義,查詢伺服器健康狀態、能力、加密與遷移狀態
適用情境
適合需要助理跨工作階段記住資訊,並對自身儲存的筆記、文件或對話歷史做語意檢索的情境。也適合已運行或打算自架 Dakera 記憶伺服器、希望預設工具集精簡、需要時再擴充的團隊。
執行需求
需要一個可透過 HTTP 存取的 Dakera 記憶伺服器(v0.11.108 或 v0.12.0 至 v0.12.3)以及 Dakera API 金鑰。本機程序可透過 npm 套件、Homebrew、Cargo、Docker 映像或預先編譯的執行檔安裝。設定使用 DAKERA_API_URL 與 DAKERA_API_KEY 環境變數,DAKERA_MCP_PROFILE 用來選擇工具設定檔。
安裝前請注意
API 金鑰透過 DAKERA_API_KEY 傳入,實體擷取工具還會將它送往 DAKERA_ODE_URL 所指的 ODE 側車。工具可刪除記憶與文件,包括依標籤或時間範圍批次刪除;管理類工具可輪換加密金鑰。記憶內容會回傳給模型,因此其中的不可信文字不應被當成指令執行。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Dakera Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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_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,500Default — always loaded
admin34~6,850DAKERA_MCP_PROFILE=admin
power86~18,200DAKERA_MCP_PROFILE=power
all106~21,600DAKERA_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 availabledakera_discover_tools(tier="power")→ returns names + descriptions, no schemas loaded
# Load schemas for the tools you wantdakera_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):

json
{"profile": "power"}

2. Environment variable (applies to all requests):

bash
DAKERA_MCP_PROFILE=power

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.

Dakera serverdakera-mcp 0.12.3
v0.12.3every tool; the recall tools list neighbourhood context apart in context_memories (neighborhood_mode)
v0.12.2every tool; the recall tools keep the first top_k results and say how many unmarked context items they left out; the attachment tools while DAKERA_ATTACHMENTS (and DAKERA_VISION for images) is on
v0.12.0, v0.12.1every tool; dakera_session_touch and dakera_agent_create answer that nothing is needed (sessions are not ended for inactivity there, and an agent is created by its first memory); dakera_whoami says it needs v0.12.2; listings return full content (no preview) and include derived sentence sub-memories
v0.11.108as v0.12.0, and 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

New with Dakera v0.12.2

Tool / argumentTierWhat it does
dakera_session_start idle_timeout_secscorethe server ends a session idle for 4 h by default; this sets the session's own timeout (0 = never, at most 30 days)
dakera_session_touchpowerPOST /v1/sessions/{id}/touch: keeps a session open while the agent works without storing or recalling; answers session_state (active with idle_deadline_at, or ended)
dakera_storecorestoring into an ended session still succeeds; the answer's session_state: "ended" is followed by a note telling the agent to start a new session
dakera_session_endcorea note when the server had already ended the session for inactivity (the summary passed is then not saved) or when no such session is reachable
dakera_session_list / _get / dakera_agent_sessionspowersessions carry last_activity_at, ended_reason (client or idle) and idle_since
dakera_agent_createpowerPOST /v1/agents: creates an agent (its memory namespace) before its first memory; created: false for an existing one
dakera_whoamipowerGET /v1/auth/whoami: the key's scope, namespaces (prefix patterns such as _dakera_agent_mlx-*), expiry and inert entries; the first thing to call on a 403
dakera_agent_memories / dakera_session_memories / dakera_knowledge_network_cross_agent content_preview_charspowercontent cut to 500 characters by default (content_len / content_truncated mark it; 0 = full content); dakera_memory_get and recall return memories in full
dakera_agent_memories / dakera_wake_up include_derivedpowerderived sentence sub-memories are left out of listings by default since v0.12.2; true lists them too

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

ToolWhat it does
dakera_import_documentcontent (text, text/markdown or text/html as media_type) or attachment_ref of a file uploaded with dakera_attachment_upload (PDF, DOCX, ...; namespace defaults to the agent's); title, document_id (re-importing it replaces the document), memory fields (tags, session_id, memory_type, importance, metadata, lang), chunking (max_tokens, overlap_tokens, strategy structure or fixed), decompose; wait_seconds (at most 45) waits for the job
dakera_document_statusthe import job: Pending, Running (progress), Completed or Failed with error: {status, code}
dakera_list_documentsid, title, media type, chunk count, bytes, pages; limit 1-500, cursor = the previous next_cursor
dakera_delete_documentevery chunk of the document

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:

  • 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. 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:

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

bash
curl -sSfL https://raw.githubusercontent.com/Dakera-AI/dakera-deploy/main/docker-compose.yml \  -o docker-compose.ymlDAKERA_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+)

bash
# Global installnpm install -g @dakera-ai/dakera-mcp
# Or run directly without installingnpx @dakera-ai/dakera-mcp

Homebrew (macOS / Linux)

bash
brew install dakera-ai/tap/dakera-mcp

Cargo

bash
cargo install dakera-mcp

Docker

bash
docker pull ghcr.io/dakera-ai/dakera-mcp:latest

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.

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

json
{  "mcpServers": {    "dakera": {      "command": "dakera-mcp",      "env": {        "DAKERA_API_URL": "http://localhost:3000",        "DAKERA_API_KEY": "your-key"      }    }  }}

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

json
{  "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.

來源:README.md,提交 70c9cc2

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

5
  1. v0.12.3最新Oct 22, 2026
  2. v0.12.2Oct 8, 2026
  3. v0.12.0Oct 5, 2026
  4. v0.11.0Oct 1, 2026
  5. v0.10.12Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分