NewRelease 0.12.3 is out: Engine v0.12.3, Dashboard 0.5.2, Helm 0.12.3, the four SDKs, CLI 0.8.2 and MCP 0.12.3Release 0.12.3 is outSee what's new →
dakera-mcp v0.12.3 · Server v0.12.3

MCP Server

dakera-mcp is the Model Context Protocol (MCP) server for Dakera. It gives an MCP client such as Claude Desktop, Claude Code, Cursor or Windsurf persistent memory, semantic search and knowledge graphs backed by your own Dakera server. This page covers installation, client configuration, tool profiles and the full tool reference.

The default core profile loads 14 tools (~3,500 tokens of tool schemas). Larger profiles expose up to 106 tools (about 21,600 tokens), and two meta-tools load individual tools on demand, so the context window stays small until you need more. dakera-mcp v0.12.3 is the current release and works with v0.12.3, v0.12.2, v0.12.1 and v0.12.0 servers (and v0.11.108, where the v0.12-only tools are hidden); its four document tools are listed only when the server reports document import (v0.12.3), and on an older server a direct call says it needs v0.12.3.

Current release@dakera-ai/dakera-mcp 0.12.3released 2026-10-22 · release train 0.12.3

  • New tools: dakera_import_document, dakera_document_status, dakera_list_documents, dakera_delete_document; recall results that are document chunks carry a citation.
  • dakera_recall and dakera_recall_associated return at most top_k ranked results, with session context listed apart (neighborhood_mode).
  • Profiles: all 106 tools, power 86, core 14, admin 34. The API key never reaches the logs.

npm install -g @dakera-ai/dakera-mcp@0.12.3 What changed → All current versions →

Watch it run: a real session on a clean machine. It installs dakera-mcp, registers it with Claude Code and checks the connection, then calls dakera_store and dakera_recall through a 47-line MCP client, so you can see what the tools return.

MCP server, recorded
Recorded 2026-10-17 · Dakera 0.12.2 · dakera-mcp 0.12.2 · Claude Code 2.1.302 · Node.js 22.22.0 · waits shortened
export DAKERA_API_URL=http://localhost:3000
export DAKERA_API_KEY=dk-mykey
npm install -g @dakera-ai/dakera-mcp
added 2 packages in 1s
npm notice
npm notice New major version of npm available! 10.9.4 -> 12.2.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.2.0
npm notice To update run: npm install -g npm@12.2.0
npm notice
curl -H "Authorization: Bearer $DAKERA_API_KEY" "$DAKERA_API_URL/v1/capabilities"
{"capabilities_version":2,"server_version":"0.12.2","api_versions":["v1"],"default_model":"bge-large","models":[{"name":"bge-large","aliases":["bge-large-en","bge-large-en-v1.5"],"dimension":1024,"max_seq_length":512,"effective_max_seq_length":512,"active":true,"modality":"text"},{"name":"minilm","aliases":["all-minilm … (4,630 more characters)
claude mcp add dakera -- dakera-mcp
Added stdio MCP server dakera with command: dakera-mcp to local config
File modified: /tmp/tmp.JhdjDplT8F/.claude.json [project: /tmp/tmp.JhdjDplT8F/my-project]
claude mcp list
dakera: dakera-mcp - ✔ Connected
cat > mcp-demo.mjs <<'EOF'
// A minimal MCP client: JSON-RPC 2.0 over stdio, one message per line.
import { spawn } from 'node:child_process';
const mcp = spawn('dakera-mcp', [], { stdio: ['pipe', 'pipe', 'ignore'] });
const pending = new Map();
let buf = '', nextId = 1;
mcp.stdout.on('data', (chunk) => {
buf += chunk;
for (let nl; (nl = buf.indexOf('\n')) >= 0; buf = buf.slice(nl + 1)) {
const line = buf.slice(0, nl).trim();
if (!line) continue;
const msg = JSON.parse(line);
pending.get(msg.id)?.(msg);
pending.delete(msg.id);
}
});
const send = (msg) => mcp.stdin.write(JSON.stringify({ jsonrpc: '2.0', ...msg }) + '\n');
const call = (method, params) => new Promise((resolve) => {
const id = nextId++;
pending.set(id, resolve);
send({ id, method, params });
});
const tool = async (name, args) =>
JSON.parse((await call('tools/call', { name, arguments: args })).result.content[0].text);
const init = await call('initialize', {
protocolVersion: '2024-11-05',
capabilities: {},
clientInfo: { name: 'mcp-demo', version: '1.0.0' },
});
send({ method: 'notifications/initialized' });
console.log('server:', init.result.serverInfo.name, init.result.serverInfo.version);
const { result: { tools } } = await call('tools/list', {});
console.log(`tools/list: ${tools.length} tools`);
console.log(' ', tools.map((t) => t.name).join(', '));
for (const content of ['The user prefers dark mode', 'Deploys go out through GitHub Actions on Fridays']) {
const r = await tool('dakera_store', { agent_id: 'my-agent', content, importance: 0.8 });
console.log('dakera_store →', r.memory.id, JSON.stringify(r.memory.content));
}
const r = await tool('dakera_recall', { agent_id: 'my-agent', query: 'what theme does the user like?' });
for (const m of r.memories) {
console.log('dakera_recall →', m.score.toFixed(2), JSON.stringify(m.memory.content));
}
mcp.kill();
EOF
node mcp-demo.mjs
server: dakera-mcp 0.12.2
tools/list: 14 tools
dakera_store, dakera_recall, dakera_forget, dakera_batch_recall, dakera_batch_forget, dakera_search, dakera_session_start, dakera_session_end, dakera_knowledge_graph, dakera_fulltext_search, dakera_hybrid_search, dakera_extract, dakera_discover_tools, dakera_load_tools
dakera_store → mem_18df498a00a9e84e "The user prefers dark mode"
dakera_store → mem_18df498a0bc6bbdf "Deploys go out through GitHub Actions on Fridays"
dakera_recall → 0.60 "The user prefers dark mode"
dakera_recall → 0.00 "Deploys go out through GitHub Actions on Fridays"
Recorded on a shared 4-core Linux container with a Dakera server already running (started as in the Quick Start); Claude Code ran with an empty, isolated HOME; waits shortened.8 commands · 3.5 s real time

Quick start

You need a running Dakera server (see Quick Start) and its URL and API key.

1. Set your environment

dakera-mcp reads two environment variables (it takes no command-line flags):

VariableWhat it isExample
DAKERA_API_URLAddress of your running Dakera server (default http://localhost:3000)http://localhost:3000 or http://<SERVER_IP>:3000
DAKERA_API_KEYAPI key sent to the server (the root key or a scoped key)dk-mykey
Where is my server? If you started Dakera with docker run -p 3000:3000 ... on a remote host, use http://<SERVER_IP>:3000. For a local dev machine, use http://localhost:3000. For Kubernetes with an ingress, use your ingress hostname.
export DAKERA_API_URL=http://<YOUR_SERVER_IP>:3000
export DAKERA_API_KEY=<your-api-key>

2. Install dakera-mcp

npm install -g @dakera-ai/dakera-mcp
# or run without installing:
npx @dakera-ai/dakera-mcp
brew install dakera-ai/tap/dakera-mcp
cargo install dakera-mcp

Don't have Rust? curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

docker run --rm -i \
  -e DAKERA_API_URL=$DAKERA_API_URL \
  -e DAKERA_API_KEY=$DAKERA_API_KEY \
  ghcr.io/dakera-ai/dakera-mcp:latest

From v0.12.0 the image is a static binary on distroless/static (about 14 MB, no shell or OS packages, runs as non-root uid 65532). Inside the container localhost is the container itself: point DAKERA_API_URL at http://host.docker.internal:3000 (on Linux add --add-host=host.docker.internal:host-gateway) or at the server's address on a shared Docker network.

3. Verify connectivity

Check that the server is reachable and accepts your key (any key with read scope can read the capabilities document):

curl -H "Authorization: Bearer $DAKERA_API_KEY" "$DAKERA_API_URL/v1/capabilities"
# 200 with a JSON document: URL and key are correct
# 401 / 403: check DAKERA_API_KEY

Once your client is connected (step 4), its MCP tool list shows the 14 core tools (dakera_store, dakera_recall, …).

4. Connect your AI client

Add Dakera to your client's MCP config. Replace placeholders with your actual values. For step-by-step client-specific guides: Cursor · Claude Desktop

// Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
// Claude Code: .mcp.json (project), or run: claude mcp add dakera -e DAKERA_API_URL=http://<YOUR_SERVER_IP>:3000 -e DAKERA_API_KEY=<your-api-key> -- dakera-mcp
// Cursor: ~/.cursor/mcp.json
// Windsurf: ~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "dakera": {
      "command": "dakera-mcp",
      "env": {
        "DAKERA_API_URL": "http://<YOUR_SERVER_IP>:3000",
        "DAKERA_API_KEY": "<your-api-key>"
      }
    }
  }
}

Restart your client after editing. For Zed, use context_servers with a command.path key instead of mcpServers.

5. Test it

Ask your AI assistant: "Store a memory that I prefer dark mode" — it should call dakera_store and confirm the memory was saved.

Profiles & tool selection

The 106 tools are grouped into four profiles, so an agent pays the token cost only for the tools it loads. The default core profile covers day-to-day memory work. power and admin each add a separate set of tools to core; all is core + power + admin.

Which profile do I need?

Your use caseProfileWhy
Day-to-day agent memory (store, recall, search)core (default)14 tools, ~3,500 tokens — lean and fast
Knowledge graphs + entity extractionpowerAdds graph traversal, entity extraction, agent stats, memory policies, vector and text-index tools, agent creation, session touch, whoami and document import (86 tools)
Multi-tenant deployment with namespace isolationadminCore + namespaces, namespace keys, decay settings, audit, import/export (34 tools, ~6,850 tokens)
Custom embeddings + full API surfaceallEvery tool: core + power + admin (106 tools, about 21,600 tokens)
Start small, add tools as neededcore + meta-toolsUse dakera_discover_tools + dakera_load_tools to pull in extras on demand

Setting your profile

# Option 1: Environment variable (recommended)
DAKERA_MCP_PROFILE=power    # Options: core, power, admin, all

# Option 2: per request, in the tools/list params
{"profile": "power"}

# Option 3: Default — core (14 tools, ~3,500 tokens)

Profile overview

Core Default
14 tools
Store, recall, search, sessions, knowledge graphs. Everything most agents need. ~3,500 tokens.
Power
86 tools
Core + graph traversal, entity extraction, feedback, agent stats, memory policies, vectors, full-text index, agent creation, session touch, whoami.
Admin
34 tools
Core + namespaces, namespace API keys, decay settings, audit log, import/export, vector bulk operations. ~6,850 tokens.
All
106 tools
Core + power + admin: every tool. About 21,600 tokens.

On-demand tool discovery

Instead of switching profiles, you can discover and load individual tools at runtime using the two meta-tools (always available in every profile):

# Step 1: Browse available tools by keyword or tier
dakera_discover_tools(tier="power")
# → returns tool names + descriptions (no schemas loaded, no token cost)

# Step 2: Load schemas for the tools you need
dakera_load_tools(tools=["dakera_consolidate", "dakera_agent_stats"])
# → returns full inputSchema for each tool — now callable in this session

# Step 3: Use the tool normally
dakera_consolidate(agent_id="my-agent", memory_ids=["mem_1", "mem_2"])
Recommendation: Start with core and load extras with dakera_discover_tools + dakera_load_tools. Switch to a larger profile when your agent uses non-core tools regularly.

Core tools by workflow

The 14 core tools organized by what you're trying to do, not by implementation category.

Memory: store, find, and manage

The fundamental memory CRUD operations — store information, find it later, and clean up what you don't need.

dakera_store Core

Store a memory for an agent.

ParameterTypeRequiredDefaultDescription
agent_idstringYes—Agent identifier storing this memory
contentstringYes—Memory text to store
importancenumberNo0.5Score 0.0–1.0 for recall ranking and decay
tagsstring[]No[]Metadata tags for filtering
memory_typestringNoepisodicOne of: episodic, semantic, procedural, working
session_idstringNo—Associate this memory with an active session
expires_atintegerNo—Unix timestamp for hard-delete expiry

dakera_recall Core

Semantic recall — returns the most relevant memories for a natural language query.

ParameterTypeRequiredDefaultDescription
agent_idstringYes—Agent to recall memories from
querystringYes—Natural language query text
top_kintegerNo5Number of results to return
min_importancenumberNo0Minimum importance threshold
include_associatedbooleanNofalseInclude knowledge-graph linked memories
sincestringNo—ISO-8601 timestamp — only memories created after
untilstringNo—ISO-8601 timestamp — only memories created before
neighborhood_modestringNoseparateseparate, inline or off: session context comes back apart from the ranked results, in context_memories (v0.12.3)

Results come best first, ordered by rank_score on a v0.12.3 server; memories holds at most top_k results. Results that are document chunks carry a citation (title, pages, section).

dakera_search Core

Advanced memory search with tag, type, and importance filters.

ParameterTypeRequiredDefaultDescription
agent_idstringYes—Agent to search
querystringYes—Search query text
top_kintegerNo10Number of results
tagsstring[]No—Filter by tags (all must match)
memory_typestringNo—Filter by memory type

dakera_batch_recall Core

Filter-based bulk recall without semantic search. Efficient for retrieving memories by tags, importance, or time range.

ParameterTypeRequiredDefaultDescription
agent_idstringYes—Agent to query
tagsstring[]No—All-match tag filter
min_importancenumberNo—Minimum importance (inclusive)
max_importancenumberNo—Maximum importance (inclusive)
created_afterintegerNo—Unix timestamp lower bound
created_beforeintegerNo—Unix timestamp upper bound
memory_typestringNo—Filter by type
session_idstringNo—Only memories from this session

dakera_forget Core

Delete specific memories by ID or tag filter.

ParameterTypeRequiredDefaultDescription
agent_idstringYes—Agent whose memories to delete
memory_idsstring[]No—Specific memory IDs to delete
tagsstring[]No—Delete all memories matching these tags

dakera_batch_forget Core

Bulk delete all memories matching filter predicates.

ParameterTypeRequiredDefaultDescription
agent_idstringYes—Agent whose memories to delete
tagsstring[]No—Tag filter (all must match)
min_importancenumberNo—Minimum importance threshold
max_importancenumberNo—Maximum importance threshold
created_afterintegerNo—Unix timestamp lower bound
created_beforeintegerNo—Unix timestamp upper bound
memory_typestringNo—Filter by type
session_idstringNo—Only memories from this session

Search: hybrid and full-text

Beyond semantic recall, Dakera offers BM25 keyword search and hybrid search that combines both approaches.

dakera_hybrid_search Core

Combined vector similarity + BM25 full-text search. Omit vector for BM25-only mode.

ParameterTypeRequiredDefaultDescription
namespacestringYes—Namespace to search in
textstringYes—Text query for full-text search
vectornumber[]No—Query vector (omit for BM25-only)
top_kintegerNo10Number of results
vector_weightnumberNo0.5Weight for vector score (0.0–1.0); text weight is 1 − value
filterobjectNo—Metadata filter
include_metadatabooleanNo—Return metadata with each result
include_vectorsbooleanNo—Return vectors with each result

dakera_fulltext_search Core

BM25 keyword search across indexed documents.

ParameterTypeRequiredDefaultDescription
namespacestringYes—Namespace to search
querystringYes—BM25 keyword query
top_kintegerNo10Number of results
filterobjectNo—Metadata filter

Sessions let you group memories from a single conversation or task, making it easy to recall context from a specific interaction.

dakera_session_start Core

Start a new session. Memories stored with the returned session_id are grouped together.

ParameterTypeRequiredDefaultDescription
agent_idstringYes—Agent starting the session
metadataobjectNo—Arbitrary metadata (e.g. task type, user context)

dakera_session_end Core

End an active session with an optional summary.

ParameterTypeRequiredDefaultDescription
session_idstringYes—Session to end
summarystringNo—Summary of what happened in this session

Knowledge graphs

Build, traverse, and query relationship graphs between memories. Build graphs from embedding similarity, then traverse or export them.

dakera_knowledge_graph Core

Build a knowledge graph from a seed memory via embedding similarity.

ParameterTypeRequiredDefaultDescription
agent_idstringYes—Agent whose memories to graph
memory_idstringYes—Seed memory to start from
depthintegerNo2How many hops from the seed
min_similaritynumberNo0.7Minimum similarity to create an edge

dakera_extract Core

Extract structured info (entities, topics, key phrases, summary) from text.

ParameterTypeRequiredDefaultDescription
textstringYes—Text to extract from
namespacestringNo—Namespace context
entity_typesstring[]No—Entity types to extract
extractor_overrideobjectNo—Per-request provider override (takes precedence over the namespace default)

Meta-tools: discover and load

Always available in every profile. Use these to explore and dynamically load tools from higher tiers.

dakera_discover_tools Always

Browse the full tool catalog by keyword or tier. Returns names and descriptions without loading schemas.

ParameterTypeRequiredDefaultDescription
tierstringNo—Filter by tier: core, power, admin, meta, all
querystringNo—Keyword search across tool names/descriptions

dakera_load_tools Always

Load full schemas for specific tools, making them callable in this session.

ParameterTypeRequiredDefaultDescription
toolsstring[]Yes—Tool names to load (e.g. ["dakera_consolidate"])

Full tool reference by tier

The tools each profile adds to core, as listed by tools/list in dakera-mcp v0.12.3. Core tools are documented above. The all profile is core + power + admin (14 + 72 + 20 = 106 tools); it adds no tools of its own. v0.12.2 added three power tools (dakera_agent_create, dakera_session_touch, dakera_whoami) and pages tools/list 128 tools at a time, so the all profile fits on one page. v0.12.3 added four power tools for document import (dakera_import_document, dakera_document_status, dakera_list_documents, dakera_delete_document).

Power profile (86 tools: core + 72)

ToolDescriptionKey parameters
dakera_import_documentImport a document as chunk memories of an agent that recall can cite: content as text, Markdown or HTML, or the attachment_ref of an uploaded PDF or DOCX; re-importing a document_id replaces the document (v0.12.3+)agent_id, content or attachment_ref, title, document_id, wait_seconds
dakera_document_statusThe import job: Pending, Running (progress), Completed or Failed (v0.12.3+)agent_id, job_id
dakera_list_documentsAn agent's documents: id, title, media type, chunk count, size, pages (v0.12.3+)agent_id, limit, cursor
dakera_delete_documentDelete a document with all its chunks (v0.12.3+)agent_id, document_id
dakera_agent_createCreate an agent (its memory namespace) before its first memory; idempotent (created: false for an existing agent). Needs a v0.12.2 server; on an older one it answers that the first stored memory creates the agentagent_id
dakera_session_touchKeep a session open while the agent works without storing or recalling (servers end idle sessions after 4 h by default from v0.12.2); answers session_state and idle_deadline_atsession_id
dakera_whoamiShow the API key this MCP server uses, as Dakera reads it: scope, namespaces (including p* prefix patterns), expires_at, inert_namespaces; call it when a tool gets 403 (v0.12.2+)—
dakera_wake_upLoad an agent's startup context in one call: its top memories ranked by importance and recency of use, with no query and no embedding; use it at the start of a run, before any recallagent_id, top_n, …
dakera_consolidateMerge a set of memories into a synthesized summary, de-duplicating overlapagent_id, memory_ids
dakera_memory_getFetch one memory by IDmemory_id, agent_id
dakera_memory_updateEdit an existing memory's content, importance, or tagsmemory_id, agent_id, …
dakera_recall_associatedSemantic recall that expands results by following Knowledge Graph edges from each matched memory to its linked neighbors (1–3 hops)agent_id, query, …
dakera_memory_importanceBatch-update importance scores for multiple memories in a single callagent_id, updates
dakera_session_listList sessions for an agent, newest firstagent_id, …
dakera_session_getFetch the full record for a session: metadata, summary, timestamps, and memory countsession_id
dakera_session_memoriesReturn all memories stored under a specific sessionsession_id
dakera_agent_statsReturn an agent's memory footprint: count, session count, approximate storage, and top tagsagent_id
dakera_agent_memoriesPaginate through all memories belonging to an agent, ordered by recencyagent_id, …
dakera_agent_sessionsList all sessions (active and closed) for an agent with timestamps and summariesagent_id
dakera_knowledge_summarizeCombine 2+ memories into a synthesized semantic memoryagent_id, memory_ids, …
dakera_knowledge_deduplicateScan for duplicate or near-duplicate memories above a cosine similarity threshold and optionally merge themagent_id, …
dakera_knowledge_network_cross_agentBuild a cross-agent similarity graph across agent memory storesagent_ids, max_cross_edges, max_nodes_per_agent, min_importance, min_similarity
dakera_memory_policy_getRead the memory lifecycle policy for a namespace: TTL per type, decay curve, spaced-repetition, consolidation, and rate limitsnamespace
dakera_memory_policy_setUpdate the memory lifecycle policy for a namespacenamespace, …
dakera_vector_upsertInsert or replace vectors (by ID) in a namespacenamespace, vectors
dakera_vector_deleteRemove specific vectors by IDnamespace, ids
dakera_vector_batch_queryRun multiple similarity searches in one request, each with its own vector, top_k, and filternamespace, queries
dakera_vector_countReturn the count of vectors in a namespace, optionally scoped by a metadata filternamespace, …
dakera_vector_exportPaginate through all vectors with optional values and metadatanamespace, …
dakera_vector_aggregateCompute Count/Sum/Avg/Min/Max on metadata fields across vectors, with optional group-bynamespace, aggregate_by, …
dakera_vector_multi_searchSearch with weighted positive and negative vectors, optional MMR diversity and score thresholdnamespace, positive_vectors, …
dakera_vector_upsert_columnsUpsert vectors in columnar form (parallel arrays of ids, vectors, attributes)namespace, ids, vectors, …
dakera_vector_explainReturn the query execution plan showing index selection, stages, and cost estimatesnamespace, query_type (vector_search | full_text_search | hybrid_search | multi_vector | batch_query), …
dakera_vector_warmPre-load a namespace (or specific vectors) into memory to reduce cold-start latencynamespace, …
dakera_vector_unified_queryFlexible ranked retrieval using the rank_by DSL combining vector ANN, BM25, and attribute orderingnamespace, rank_by, …
dakera_text_queryQuery a namespace with natural language text — the server embeds the text and runs ANN similarity searchnamespace, text, …
dakera_upsert_textStore text documents with automatic server-side embeddingnamespace, documents, …
dakera_batch_query_textRun multiple natural-language similarity searches in a single request, all embedded server-sidenamespace, queries, …
dakera_fulltext_indexAdd or replace documents in the BM25 indexnamespace, documents
dakera_fulltext_deleteRemove documents from the BM25 index by IDnamespace, ids
dakera_fulltext_statsReturn BM25 index stats for a namespace: document count, unique term count, average document lengthnamespace
dakera_autopilot_statusReturn AutoPilot configuration and last-cycle stats (memories deduped, consolidated, timestamps)(none)
dakera_autopilot_triggerTrigger an AutoPilot cycle immediatelyaction (dedup | consolidate | all)
dakera_auto_tagExtract typed entity spans from text using GLiNER NER and optional rule-based pre-pass (dates, URLs, emails, IPs)content, …
dakera_entity_types_setEnable or disable automatic GLiNER entity tagging at memory write time for a namespace, and set which entity types to extractnamespace, extract_entities, entity_types
dakera_entity_types_getGet the current entity extraction configuration for a namespace — whether automatic tagging is enabled and which entity types are configurednamespace
dakera_memory_entitiesRetrieve entity tags extracted when a memory was written: type, value, and confidence score per entitymemory_id
dakera_graph_traverseTraverse the memory knowledge graph via BFS to discover connected memoriesagent_id, depth, edge_type, limit, memory_id, …
dakera_graph_pathFind the shortest path between two memory nodes, returning the ordered sequence of IDs and edge hopsfrom_id, to_id
dakera_graph_link_memoryCreate an explicit linked_by edge between two memoriesmemory_id, target_id, agent_id
dakera_graph_exportExport an agent's knowledge graph as JSON or GraphML (compatible with Gephi, yEd, Cytoscape)agent_id, …
dakera_memory_feedbackSubmit a feedback signal (upvote/downvote/flag) on a memoryagent_id, memory_id, signal (upvote | downvote | flag)
dakera_memory_feedback_getRetrieve the feedback history for a memory: all upvote, downvote, and flag signals with timestampsagent_id, memory_id
dakera_agent_feedback_summaryGet aggregate feedback stats for an agent's memories: total upvotes, downvotes, flags, and the top-rated/most-flagged memoriesagent_id
dakera_tif_evaluateTruth-Indeterminacy-Falsity reliability scores for a memory from its feedback historymemory_id, …
dakera_extractor_getRead the default extraction provider config for a namespacenamespace
dakera_extractor_setSet or update the default extraction provider for a namespacenamespace, provider (none | gliner | openai | anthropic | openrouter | ollama), …
dakera_extract_entitiesNamed-entity extraction through the external GLiNER extraction service (returns labels, offsets, confidence)content, agent_id, …
dakera_health_readyReadiness probe (storage and models loaded)(none)
dakera_health_liveLiveness probe(none)
dakera_ops_metricsPrometheus-format server metrics(none)
dakera_list_jobsList active and recent background jobs (backup, restore, migration, reindex) with status and progress(none)
dakera_get_jobFetch status, progress, and result for a background job by UUIDjob_id

Admin profile (34 tools: core + 20)

ToolDescriptionKey parameters
dakera_namespace_listList all namespaces with dimensions, distance metrics, and vector counts(none)
dakera_namespace_getFetch a namespace's configuration and stats: dimensions, distance metric, vector count, and HNSW parametersnamespace
dakera_namespace_createCreate a vector namespace with the specified dimension and distance metricname, dimension, …
dakera_namespace_deletePermanently delete a namespace and all of its vectors, full-text index, and metadatanamespace
dakera_namespace_configureIdempotent create-or-update of a namespacenamespace, dimension, …
dakera_namespace_key_createCreate a new API key scoped to a specific namespace with the given permission level (read/write/admin)namespace, name, scope (read | write | admin), …
dakera_namespace_key_listList API keys with access to a namespace (metadata only, no raw values)namespace
dakera_namespace_key_deleteImmediately revoke a namespace-scoped API key by IDnamespace, key_id
dakera_namespace_key_usageReturn request counts, last-used timestamp, and rate-limit status for a keynamespace, key_id
dakera_vector_bulk_updateApply a metadata update to all vectors matching a filternamespace, filter, update
dakera_vector_bulk_deleteDelete all vectors matching a metadata filternamespace, filter
dakera_decay_config_getRead global memory-decay config: strategy, half-life hours, and minimum importance threshold(none)
dakera_decay_config_setUpdate memory-decay parameters at runtime without restarting the serverhalf_life_hours, min_importance, strategy (exponential | linear | step)
dakera_decay_statsReturn cumulative decay stats: memories decayed/deleted, cycle count, and last-cycle timestamp(none)
dakera_audit_queryQuery the audit log of memory lifecycle events with optional filters by agent, event type, and time range (Unix ms)agent_id, event_type, from, limit, to
dakera_memory_exportExport all memories for an agent as a portable payload (jsonl, csv, mem0, or zep)agent_id, …
dakera_memory_importImport memories from a JSONL, CSV, Mem0, or Zep payloadagent_id, data, …
dakera_encryption_rotate_keyRotate the at-rest encryption key for memory contentnew_key, …

Client guides: Cursor · Claude Desktop · Blog: How MCP works · Setup walkthrough · Real-world use cases

MCP server is running · your agent remembers

Claude and Cursor with persistent memory

The ~101 MB server binary handles storage, embeddings and recall on your own infrastructure, with no external API calls. Self-hosted is free and available now. Managed cloud is coming.

Get Started Free → Join Cloud Waitlist
Stay sharp on agent memory
Benchmark results, SDK releases, and production patterns. Under 500 words per issue.
✓ You're in. First issue lands soon — watch for Dakera in your inbox.