dakera-mcp v0.10.8 · Server v0.11.83 · SDKs v0.11.75

MCP Server

Dakera ships as a native MCP (Model Context Protocol) server, giving any AI assistant persistent memory, semantic search, and knowledge graphs through 14 core tools loaded by default. 86 additional tools are available via profiles when you need them — keeping your agent's context window lean (~2,964 tokens instead of ~16K).

Quick start

Get from zero to working memory in under 5 minutes.

1. Set your environment

Two environment variables connect dakera-mcp to your Dakera server:

VariableWhat it isExample
DAKERA_API_URLAddress of your running Dakera serverhttp://localhost:3300 or http://<SERVER_IP>:3300
DAKERA_API_KEYRoot API key you set when starting the serverdk_abc123...
Where is my server? If you started Dakera with docker run -p 3300:3300 ... on a remote host, use http://<SERVER_IP>:3300. For a local dev machine, use http://localhost:3300. For Kubernetes with an ingress, use your ingress hostname.
export DAKERA_API_URL=http://<YOUR_SERVER_IP>:3300
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       # Rust 1.70+
dakera-mcp --version

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

3. Verify connectivity

dakera-mcp --test-connection
# Connected to Dakera v0.11.83 — 14 core tools loaded (86 available)

4. Connect your AI client

Add Dakera to your client's MCP config. Replace placeholders with your actual values:

// Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
// Claude Code: .mcp.json (project) or ~/.claude/settings.json (global)
// Cursor: ~/.cursor/mcp.json
// Windsurf: ~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "dakera": {
      "command": "dakera-mcp",
      "env": {
        "DAKERA_API_URL": "http://<YOUR_SERVER_IP>:3300",
        "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

Dakera organizes its 86 tools into four profiles so you only pay the token cost for what you use. The default core profile covers everything most agents need.

Which profile do I need?

Your use caseProfileWhy
Day-to-day agent memory (store, recall, search)core (default)14 tools, ~2,964 tokens — lean and fast
Knowledge graphs + entity extractionpowerAdds graph traversal, NER, agent stats (68 tools, ~13,014 tokens)
Multi-tenant deployment with namespace isolationadminCore + namespace & policy management (32 tools, ~5,975 tokens)
Custom embeddings + full API surfaceallComplete 86-tool surface including vectors, bulk ops (~16,026 tokens)
Start small, add tools as neededcore + meta-toolsUse discover_tools + 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 parameter (in tools/list params)
{"profile": "power"}

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

Profile overview

Core Default
14 tools
Store, recall, search, sessions, knowledge graphs. Everything most agents need. ~2,964 tokens.
Power
68 tools
Core + entity extraction, graph traversal, agent stats, feedback, advanced search. ~13,014 tokens.
Admin
32 tools
Core + namespaces, API keys, policies, decay config. For operators managing multi-tenant deployments. ~5,975 tokens.
All
86 tools
Full API surface: vectors, bulk ops, export/import, encryption, storage tiers. ~16,026 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. Use discover_tools + load_tools to pull in extras as needed. Only switch to power or all if your agent regularly uses 10+ non-core tools.

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_idstringYesAgent identifier storing this memory
contentstringYesMemory 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_idstringNoAssociate this memory with an active session
expires_atintegerNoUnix timestamp for hard-delete expiry

dakera_recall Core

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

ParameterTypeRequiredDefaultDescription
agent_idstringYesAgent to recall memories from
querystringYesNatural language query text
top_kintegerNo5Number of results to return
min_importancenumberNo0Minimum importance threshold
include_associatedbooleanNofalseInclude knowledge-graph linked memories
sincestringNoISO-8601 timestamp — only memories created after
untilstringNoISO-8601 timestamp — only memories created before

dakera_search Core

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

ParameterTypeRequiredDefaultDescription
agent_idstringYesAgent to search
querystringYesSearch query text
top_kintegerNo10Number of results
tagsstring[]NoFilter by tags (all must match)
memory_typestringNoFilter 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_idstringYesAgent to query
tagsstring[]NoAll-match tag filter
min_importancenumberNoMinimum importance (inclusive)
max_importancenumberNoMaximum importance (inclusive)
created_afterintegerNoUnix timestamp lower bound
created_beforeintegerNoUnix timestamp upper bound
memory_typestringNoFilter by type

dakera_forget Core

Delete specific memories by ID or tag filter.

ParameterTypeRequiredDefaultDescription
agent_idstringYesAgent whose memories to delete
memory_idsstring[]NoSpecific memory IDs to delete
tagsstring[]NoDelete all memories matching these tags

dakera_batch_forget Core

Bulk delete all memories matching filter predicates.

ParameterTypeRequiredDefaultDescription
agent_idstringYesAgent whose memories to delete
tagsstring[]NoTag filter
min_importancenumberNoMinimum importance threshold
memory_typestringNoFilter by type

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
namespacestringYesNamespace to search in
textstringYesText query for full-text search
vectornumber[]NoQuery vector (omit for BM25-only)
top_kintegerNo10Number of results
vector_weightnumberNo0.5Weight for vector score (0.0–1.0)

dakera_fulltext_search Core

BM25 keyword search across indexed documents.

ParameterTypeRequiredDefaultDescription
namespacestringYesNamespace to search
querystringYesBM25 keyword query
top_kintegerNo10Number of results
filterobjectNoMetadata filter

Sessions: group related memories

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_idstringYesAgent starting the session
metadataobjectNoArbitrary metadata (e.g. task type, user context)

dakera_session_end Core

End an active session with an optional summary.

ParameterTypeRequiredDefaultDescription
session_idstringYesSession to end
summarystringNoSummary 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_idstringYesAgent whose memories to graph
memory_idstringYesSeed 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
textstringYesText to extract from
namespacestringNoNamespace context
entity_typesstring[]NoEntity types to extract
extractor_overridestringNoOverride the extraction provider

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
tierstringNoFilter by tier: core, power, admin, all
querystringNoKeyword search across tool names/descriptions

dakera_load_tools Always

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

ParameterTypeRequiredDefaultDescription
toolsstring[]YesTool names to load (e.g. ["dakera_consolidate"])

Full tool reference by tier

All 86+ tools organized by tier and workflow. Core tools are documented in detail above — this section provides a quick reference for all tiers.

Power tier (68 tools)

Everything in core, plus:

ToolDescriptionKey parameters
recall_associatedRecall with deep knowledge-graph context (1–3 hops)agent_id, query, associated_memories_depth
memory_getGet a specific memory by IDagent_id, memory_id
memory_updateUpdate content, importance, or tags (re-embeds if content changes)agent_id, memory_id, content, importance, tags
memory_importanceBatch-update importance scoresagent_id, updates (array of {memory_id, importance})
consolidateMerge related memories into a synthesized summaryagent_id, memory_ids
memory_feedbackSubmit feedback signal (upvote/downvote/flag)memory_id, signal
memory_feedback_getRetrieve feedback history for a memorymemory_id
agent_feedback_summaryAggregated feedback stats for an agentagent_id
session_listList sessions for an agentagent_id, active_only
session_getGet session detailssession_id
session_memoriesList all memories in a sessionsession_id
agent_statsMemory count, session count, storage usage, top tagsagent_id
agent_memoriesList all memories for an agentagent_id, limit, offset
agent_sessionsList all sessions for an agentagent_id
knowledge_summarizeSummarize a set of memories into oneagent_id, memory_ids, target_type
knowledge_deduplicateFind and optionally merge duplicatesagent_id, threshold, dry_run
knowledge_network_cross_agentCross-agent memory networkagent_ids, min_similarity
graph_traverseBFS traversal from a starting memorymemory_id, depth
graph_pathShortest path between two memoriesfrom_id, to_id
graph_link_memoryCreate an explicit edge between two memoriesmemory_id, target_id
graph_exportExport full knowledge graph as edge listagent_id
kg_traverseFiltered traversal with edge-type and weight filtersagent_id, root_id, max_depth, edge_type
kg_queryQuery the graph using a filter DSLagent_id, edge_type, min_weight, limit
kg_exportExport knowledge graph as JSON or GraphMLagent_id, format
auto_tagExtract entities using GLiNER zero-shot NERcontent, entity_types
extract_entitiesNamed entity extraction via GLiNER pipelinecontent, agent_id, entity_types
memory_entitiesGet entities extracted when a memory was storedmemory_id
entity_types_getGet entity extraction config for a namespacenamespace
entity_types_setConfigure entity extraction for a namespacenamespace, extract_entities, entity_types
extractor_getRead default extraction providernamespace
extractor_setSet extraction provider (OpenAI, Anthropic, Ollama, ONNX)namespace, provider, model
decay_config_getGet current decay settings(none)
decay_config_setUpdate decay settings at runtimestrategy, half_life_hours, min_importance
decay_statsCumulative decay statistics(none)
autopilot_statusAutoPilot config and last-run stats(none)
autopilot_triggerForce an immediate AutoPilot cycleaction (dedup | consolidate | all)
fulltext_indexIndex documents for BM25 searchnamespace, documents
fulltext_deleteRemove documents from indexnamespace, ids
fulltext_statsIndex statisticsnamespace
upsert_textUpsert text with automatic server-side embeddingnamespace, documents
text_queryNatural language query with server-side embeddingnamespace, text, top_k
batch_query_textBatch text queriesnamespace, queries

Admin tier (32 tools)

Everything in core, plus namespace and policy management:

ToolDescriptionKey parameters
namespace_listList all namespaces(none)
namespace_getGet namespace details (vector count, dimensions, index stats)namespace
namespace_createCreate a namespace with dimensions and distance metricname, dimension, distance
namespace_deleteDelete a namespace and all its vectors (irreversible)namespace
namespace_configureCreate-or-update namespace configurationnamespace, dimension, distance
namespace_key_createCreate a namespace-scoped API keynamespace, name, scope, expires_in_days
namespace_key_listList all API keys for a namespacenamespace
namespace_key_deleteRevoke a namespace-scoped API keynamespace, key_id
namespace_key_usageGet usage statistics for a namespace keynamespace, key_id
memory_policy_getGet lifecycle policy — TTLs, decay curves, consolidation, rate limitsnamespace
memory_policy_setUpdate lifecycle policy per namespacenamespace, per-type TTLs, consolidation_enabled, rate_limit_enabled
audit_queryQuery business-event audit logagent_id, event_type, from, to, limit
memory_exportExport all memories (JSONL, CSV, Mem0, Zep formats)agent_id, format
memory_importImport memories from JSONL, CSV, Mem0, or Zepagent_id, data, format
encryption_rotate_keyZero-downtime AES-256-GCM key rotationnew_key, namespace

All tier (86+ tools)

Everything above, plus low-level vector operations for custom embedding workflows:

ToolDescriptionKey parameters
vector_upsertInsert or update vectors with metadatanamespace, vectors
vector_upsert_columnsColumn-format upsert for batch efficiencynamespace, ids, vectors
vector_queryNearest-neighbor similarity searchnamespace, vector, top_k, filter
vector_batch_queryMultiple similarity searches in parallelnamespace, queries
vector_multi_searchMulti-vector search with MMR diversitynamespace, positive_vectors, negative_vectors
vector_unified_queryFlexible ranking — vector, full-text, or attributenamespace, rank_by, top_k
vector_deleteDelete vectors by IDnamespace, ids
vector_bulk_updateUpdate metadata on filtered vectorsnamespace, filter, update
vector_bulk_deleteDelete all vectors matching a filternamespace, filter
vector_countCount vectors, optionally filterednamespace, filter
vector_exportExport vectors with paginationnamespace, top_k, cursor
vector_aggregateCompute aggregations (Count, Sum, Avg, Min, Max)namespace, aggregate_by, group_by
vector_explainExplain query execution plannamespace, query_type
vector_warmPre-load vectors into memorynamespace, vector_ids