Dakera
Servidor MCP auto-hospedado baseado em Rust para memória de agente de IA — memória persistente e consultável com busca híbrida, grafos de conhecimento, embeddings integrados e 14 ferramentas principais (expansível para mais de 86 com escalonamento baseado em perfil).
Documentação
⚡ dakera-mcp
Servidor MCP para Dakera AI. Dá a qualquer agente de IA compatível com MCP memória persistente e consultável — com gerenciamento inteligente de tokens integrado.
Funciona com Claude, Claude Code e qualquer framework compatível com MCP.
Parte do Dakera AI — o mecanismo de memória para agentes de IA.
O mecanismo de memória Dakera pontua 88,2% Recall@20 no LoCoMo (1.536 perguntas avaliadas · recall de recuperação avaliado por LLM) — detalhes do benchmark
Arquitetura: 14 ferramentas principais + descoberta sob demanda
Iniciar cada sessão de agente com mais de 60 esquemas de ferramentas desperdiça ~15K tokens antes de você escrever uma única mensagem. O dakera-mcp resolve isso com exposição híbrida de ferramentas:
- 14 ferramentas carregadas por padrão — as 12 operações de memória de maior frequência + 2 ferramentas de meta-descoberta
- Expansão sob demanda — use
dakera_discover_toolsedakera_load_toolspara buscar esquemas de ferramentas adicionais somente quando precisar
Conjunto de ferramentas padrão (perfil core)
| Ferramenta | Finalidade |
|---|---|
dakera_store | Armazenar uma memória com importância, tags e tipo |
dakera_recall | Recuperação semântica por texto de consulta |
dakera_search | Busca avançada de memórias com filtros de tag/tipo |
dakera_session_start | Iniciar uma sessão para agrupar memórias relacionadas |
dakera_session_end | Encerrar uma sessão com resumo opcional |
dakera_batch_recall | Recuperação em massa baseada em filtros (por tags, importância, tempo) |
dakera_forget | Excluir memórias específicas por ID |
dakera_hybrid_search | Busca combinada vetorial + BM25 |
dakera_fulltext_search | Busca de texto completo BM25 |
dakera_knowledge_graph | Construir um grafo de conhecimento a partir de uma memória semente |
dakera_extract | Extrair entidades e estrutura de texto livre |
dakera_batch_forget | Exclusão em massa por tags, tipo ou intervalo de tempo |
dakera_discover_tools | Pesquisar o catálogo completo de ferramentas por palavra-chave ou nível |
dakera_load_tools | Carregar esquemas completos para ferramentas específicas sob demanda |
Perfis e custo de tokens
| Perfil | Ferramentas | ~Tokens | Como ativar |
|---|---|---|---|
| core | 14 | ~3.350 | Padrão — sempre carregado |
| admin | 34 | ~6.700 | DAKERA_MCP_PROFILE=admin |
| power | 79 | ~16.600 | DAKERA_MCP_PROFILE=power |
| all | 99 | ~19.950 | DAKERA_MCP_PROFILE=all |
Os valores de tokens são estimativas (bytes JSON / 3). As ferramentas de anexo abaixo contam em power e all,
mas só aparecem enquanto o servidor conectado tiver o recurso ativado (veja Dakera v0.12).
Acessando ferramentas adicionais
# 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
Seleção de perfil
O perfil controla quais ferramentas aparecem em tools/list. Três maneiras de defini-lo:
1. Por solicitação (nos parâmetros de tools/list):
{"profile": "power"}
2. Variável de ambiente (aplica-se a todas as solicitações):
DAKERA_MCP_PROFILE=power
3. Padrão: core (14 ferramentas, ~3.350 tokens)
Dakera v0.12
O dakera-mcp 0.11 funciona com servidores Dakera v0.11.108 e v0.12.0. Cada ferramenta v0.11 mantém seu nome e argumentos; as adições da v0.12 são argumentos opcionais que são enviados somente quando você os fornece, e ferramentas que chamam rotas da v0.12.
| Servidor Dakera | dakera-mcp 0.11 |
|---|---|
| v0.12.0 | todas as ferramentas; as ferramentas de anexo enquanto DAKERA_ATTACHMENTS (e DAKERA_VISION para imagens) estiver ativado |
| v0.11.108 | todas as ferramentas v0.11 inalteradas; as ferramentas de anexo, dakera_encryption_status e dakera_embed_migration_status não são listadas (uma chamada direta diz que precisam da v0.12); dakera_encryption_rotate_key precisa de new_key |
| mais antigas | não testado |
O que há de novo
| Ferramenta | Nível | Requisito | O que faz |
|---|---|---|---|
dakera_capabilities | power | v0.12 | GET /v1/capabilities: modelo ativo, modo de busca, estratégia de pontuação, valores aceitos de lang, quais recursos opcionais estão ativados. Em um servidor v0.11, responde capabilities_available: false |
dakera_health | power | qualquer | GET /health: status e versão; na v0.12 também degraded, config_warnings, embed_migration |
dakera_wake_up | power | qualquer | o contexto de inicialização de um agente em uma única chamada: suas principais memórias por importância x recência, sem consulta, sem embedding |
dakera_embed_migration_status | admin | v0.12 | progresso do re-embed em segundo plano único após a atualização |
dakera_encryption_status | admin | v0.12 | o chaveiro de criptografia e o re-selamento em segundo plano (nunca material de chave) |
dakera_encryption_rotate_key | admin | v0.11+ | new_key é opcional na v0.12 uma vez que a criptografia está ativada (o servidor gera uma chave; com criptografia desativada, new_key a ativa); wait_secs (no máximo 20); namespace rotaciona um namespace |
dakera_attachment_upload / _list / _download / _delete | power | v0.12 + DAKERA_ATTACHMENTS | arquivos (ou texto) que uma memória pode referenciar com dakera_store attachment_ref |
dakera_attachment_transcribe | power | v0.12 + DAKERA_ATTACHMENTS | fala WAV para texto em qualquer idioma que o modelo conheça (lang força um) em uma memória; um job em segundo plano, wait_seconds (no máximo 45) aguarda por ele |
dakera_attachment_index_image | power | v0.12 + DAKERA_ATTACHMENTS + DAKERA_VISION | página PNG como memória visual (use um agente dedicado a imagens: a via visual armazena vetores de página) |
dakera_attachment_job | power | v0.12 + DAKERA_ATTACHMENTS | status de um job de transcrição / indexação |
lang por solicitação (en, de, fr, es, it, pt, nl; v0.12) é aceito por dakera_store,
dakera_recall, dakera_recall_associated, dakera_search, dakera_memory_update, dakera_extract,
dakera_auto_tag e os jobs de anexo;
dakera_store também aceita attachment_ref (sha256:<hex> de um anexo no próprio namespace do agente,
_dakera_agent_<agent_id>). Nenhum é enviado a menos que seja fornecido, então as mesmas chamadas funcionam em um servidor v0.11.108.
Outros argumentos opcionais (todos os servidores): ttl_seconds e metadata em dakera_store; filtros tags,
memory_type e session_id em dakera_recall; limit em dakera_batch_recall;
limit / offset em dakera_session_list, dakera_session_memories e dakera_agent_sessions
(o servidor pagina em 50); memory_type em dakera_knowledge_deduplicate; dedup_on_store /
dedup_threshold em dakera_memory_policy_set.
Recursos desativados no servidor são omitidos
Os recursos opcionais (anexos, fala para texto, indexação de imagens) estão desativados por padrão no servidor.
O dakera-mcp pergunta a GET /v1/capabilities (uma vez por minuto, timeout de 3 s) antes de listar ferramentas:
attachmentsdesativado, ou um servidor sem/v1/capabilities(v0.11): as ferramentasdakera_attachment_*não são listadas e não são retornadas pordakera_discover_tools; uma chamada direta responde com a variável a definir (DAKERA_ATTACHMENTS=1) e não faz nenhuma solicitação.visiondesativado:dakera_attachment_index_imageé omitido (DAKERA_VISION=1o ativa).- Um servidor sem
/v1/capabilities(v0.11) também ocultadakera_encryption_statusedakera_embed_migration_status, cujas rotas são novas na v0.12. - O servidor não pode ser consultado (indisponível, iniciando, chave recusada): nada é ocultado (perguntado novamente após 10 s).
O perfil padrão core não tem ferramentas opcionais, então nunca faz essa solicitação.
Erros
As respostas de erro mantêm o texto do servidor e adicionam uma linha Hint: para os casos v0.12: uma chave fixada em
namespaces recebe 403 em rotas /admin de todo o nó (backups, criptografia, cotas, configuração); download, upload
e restauração de backup precisam de super_admin; 413 (corpo acima de um limite, ou uma cota rígida), 501
(recurso desativado), 503 (Retry-After, que a lógica de nova tentativa agora respeita, até 8 s) e 429 (limite
de taxa). Uma rota que o servidor não possui (um servidor mais antigo) e uma rotação v0.11 sem new_key recebem uma dica
também. Uma solicitação que expirou é repetida somente quando é seguro repetir (GET, PUT, DELETE): um armazenamento,
uma importação ou uma rotação de chave nunca é enviada duas vezes.
Executar o Dakera
O servidor MCP conecta-se a um servidor de memória Dakera. Você precisa de um em execução primeiro:
docker run -d \
--name dakera \
-p 3000:3000 \
-e DAKERA_ROOT_API_KEY=dk-mykey \
ghcr.io/dakera-ai/dakera:latest
Para armazenamento persistente (recomendado):
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"}
Guia completo de implantação (Docker Compose, Kubernetes, Helm): dakera-deploy
Instalação
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
Download binário
Binários pré-compilados para macOS, Linux e Windows estão disponíveis na página de releases.
| Plataforma | Arquivo |
|---|---|
| macOS (Apple Silicon) | dakera-mcp-aarch64-apple-darwin.tar.gz |
| macOS (Intel) | dakera-mcp-x86_64-apple-darwin.tar.gz |
| Linux x64 | dakera-mcp-x86_64-unknown-linux-musl.tar.gz |
| Linux arm64 | dakera-mcp-aarch64-unknown-linux-musl.tar.gz |
| Windows x64 | dakera-mcp-x86_64-pc-windows-msvc.zip |
Conectar
Adicione ao .mcp.json (Claude Code) ou claude_desktop_config.json (Claude Desktop):
{
"mcpServers": {
"dakera": {
"command": "dakera-mcp",
"env": {
"DAKERA_API_URL": "http://localhost:3000",
"DAKERA_API_KEY": "your-key"
}
}
}
}
Para iniciar com o perfil power (expõe até 79 ferramentas):
{
"mcpServers": {
"dakera": {
"command": "dakera-mcp",
"env": {
"DAKERA_API_URL": "http://localhost:3000",
"DAKERA_API_KEY": "your-key",
"DAKERA_MCP_PROFILE": "power"
}
}
}
}
Por que Isso Existe
Agentes de IA esquecem tudo quando a sessão termina. O Dakera resolve isso. Este servidor MCP dá ao seu agente uma camada de memória persistente com zero sobrecarga de infraestrutura — aponte-o para uma instância Dakera e ele funciona.
O padrão de 14 ferramentas mantém sua janela de contexto enxuta. As meta-ferramentas permitem expandir sob demanda quando você precisa de operações avançadas como upsert vetorial em massa, travessia de grafo de conhecimento ou federação de memória.
→ dakera.ai para instância hospedada
→ Auto-hospedagem com dakera-deploy
Documentação
→ Documentação completa
→ Referência MCP
Relacionados
| Repositório | O que é |
|---|---|
| dakera-py | SDK Python |
| dakera-js | SDK TypeScript |
| dakera-cli | CLI |
| dakera-deploy | Auto-hospedar Dakera |
dakera.ai · Documentação · Solicitar Acesso Antecipado
Parte do ecossistema open-core da Dakera AI. Construído com Rust. Auto-hospedado. Zero dependências.