dakera-mcp について
dakera-mcpは、MCP対応AIエージェントに検索可能な永続メモリを提供し、段階的なツール公開でセッション中のスキーマ負荷を抑えます。Rustバイナリとして動作し、Dakeraサーバーに接続します。
主な機能
- 01セマンティックなメモリ保存と想起
- 02ベクトルとBM25のハイブリッド検索
- 03セッションとメモリの管理
- 04オンデマンドのツール検索と読み込み
- 05ドキュメントのインポートと添付処理
活用シーン
- 01セッションをまたぐエージェントの文脈保持
- 02意味やタグによるメモリ検索
- 03ドキュメントから検索可能な内容を取り込み
MCP 対応
MCPサーバーとして、AIエージェントにメモリ管理、検索、ドキュメント処理のツールを公開します。ツールプロファイルとオンデマンド検索で利用可能なツールを制御できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/dakera-ai/dakera-mcp:0.12.3ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/dakera-ai/dakera-mcp:0.12.3stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
⚡ dakera-mcp
Dakera AI 用の MCP サーバーです。スマートなトークン管理機能を内蔵し、MCP 互換のあらゆる AI エージェントに、永続的で検索可能なメモリを提供します。
Claude、Claude Code、およびあらゆる MCP 互換フレームワークで動作します。
AI エージェント向けメモリエンジン、Dakera AI の一部です。
Dakera メモリエンジンは LoCoMo で 88.2% Recall@20 を記録しています(評価済みの質問 1,536 件・LLM による検索再現率の評価)— ベンチマークの詳細
アーキテクチャ:14 個のコアツールとオンデマンドの検出
60 個以上のツールスキーマを読み込んだ状態でエージェントセッションを開始すると、最初のメッセージを書く前に約 15K トークンが消費されます。dakera-mcp は、ハイブリッドなツール公開によってこの問題を解決します。
- デフォルトで 14 個のツールを読み込み — 使用頻度の高い 12 個のメモリ操作と、メタ検出用ツール 2 個
- オンデマンドで拡張 —
dakera_discover_toolsとdakera_load_toolsを使用し、必要なときだけ追加のツールスキーマを取得できます
デフォルトのツールセット(コアプロファイル)
| ツール | 目的 |
|---|---|
dakera_store | 重要度、タグ、種類を指定してメモリを保存 |
dakera_recall | クエリテキストによるセマンティック検索 |
dakera_search | タグや種類のフィルターを使った高度なメモリ検索 |
dakera_session_start | 関連するメモリをまとめるセッションを開始 |
dakera_session_end | オプションの要約を付けてセッションを終了 |
dakera_batch_recall | フィルターによる一括検索(タグ、重要度、時間) |
dakera_forget | ID を指定して特定のメモリを削除 |
dakera_hybrid_search | ベクトル検索と BM25 検索を組み合わせた検索 |
dakera_fulltext_search | BM25 全文検索 |
dakera_knowledge_graph | 起点となるメモリからナレッジグラフを構築 |
dakera_extract | 自由形式のテキストからエンティティと構造を抽出 |
dakera_batch_forget | タグ、種類、期間を指定して一括削除 |
dakera_discover_tools | キーワードまたは階層でツールカタログ全体を検索 |
dakera_load_tools | 特定のツールの完全なスキーマをオンデマンドで読み込み |
プロファイルとトークンコスト
| プロファイル | ツール数 | 約トークン数 | 有効化方法 |
|---|---|---|---|
| core | 14 | ~3,400 | デフォルト — 常に読み込み |
| admin | 34 | ~6,750 | DAKERA_MCP_PROFILE=admin |
| power | 82 | ~17,250 | DAKERA_MCP_PROFILE=power |
| all | 102 | ~20,600 | DAKERA_MCP_PROFILE=all |
トークン数は推定値です(JSON バイト数 / 3)。以下の添付ファイルツールは power と all に含まれますが、
接続先のサーバーでこの機能が有効な場合にのみ表示されます(Dakera v0.12 を参照)。
追加ツールへのアクセス
# 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
プロファイルの選択
プロファイルは tools/list に表示されるツールを制御します。設定方法は 3 通りあります。
1. リクエストごと(tools/list の params 内):
{"profile": "power"}
2. 環境変数(すべてのリクエストに適用):
DAKERA_MCP_PROFILE=power
3. デフォルト:core(14 個のツール、約 3,400 トークン)
Dakera v0.12
dakera-mcp 0.12.2 は Dakera v0.11.108 および v0.12.0 – v0.12.2 のサーバーに対応しています。すべてのツールで名前と引数は変わりません。追加された引数は、指定した場合にのみ送信される任意の引数(または古いサーバーでは無視される引数)です。また、新しいルートを呼び出すツールは、対応していないサーバーではその旨を通知します。
| Dakera サーバー | dakera-mcp 0.12.2 |
|---|---|
| v0.12.2 | すべてのツール。添付ファイルツールは、DAKERA_ATTACHMENTS(画像の場合は DAKERA_VISION も)が有効な場合に利用できます |
| v0.12.0、v0.12.1 | すべてのツール。dakera_session_touch と dakera_agent_create は、何もする必要がないと応答します(このバージョンでは、非アクティブ状態でもセッションは終了せず、エージェントは最初のメモリによって作成されます)。dakera_whoami は v0.12.2 が必要だと通知します。一覧ではプレビューではなく全内容が返され、派生した文のサブメモリも含まれます |
| v0.11.108 | v0.12.0 と同様です。添付ファイルツール、dakera_encryption_status、dakera_embed_migration_status は一覧に表示されません(直接呼び出すと v0.12 が必要だと通知します)。dakera_encryption_rotate_key には new_key が必要です |
| それ以前 | 未テスト |
Dakera v0.12.2 での新機能
| ツール/引数 | ティア | 機能 |
|---|---|---|
dakera_session_start idle_timeout_secs | core | サーバーはデフォルトで、4 時間非アクティブなセッションを終了します。この引数ではセッション独自のタイムアウトを設定します(0 = 無期限、最長 30 日) |
dakera_session_touch | power | POST /v1/sessions/{id}/touch:保存や想起を行わず、エージェントの作業中にセッションを開いたままにします。session_state(idle_deadline_at を含む active、または ended)を返します |
dakera_store | core | 終了済みセッションへの保存も成功します。応答の session_state: "ended" に続いて、新しいセッションを開始するようエージェントに伝える注記が表示されます |
dakera_session_end | core | サーバーがすでに非アクティブ状態のためセッションを終了していた場合(その場合、渡された要約は保存されません)、またはそのセッションにアクセスできない場合に注記を表示します |
dakera_session_list / _get / dakera_agent_sessions | power | セッションに last_activity_at、ended_reason(client または idle)、idle_since が含まれます |
dakera_agent_create | power | POST /v1/agents:最初のメモリが作成される前にエージェント(そのメモリ名前空間)を作成します。既存の場合は created: false になります |
dakera_whoami | power | GET /v1/auth/whoami:キーのスコープ、名前空間(_dakera_agent_mlx-* などのプレフィックスパターン)、有効期限、無効なエントリを確認できます。403 が発生した場合に最初に呼び出すツールです |
dakera_agent_memories / dakera_session_memories / dakera_knowledge_network_cross_agent content_preview_chars | power | デフォルトでは内容が 500 文字に切り詰められます(content_len / content_truncated で確認できます。0 = 全内容)。dakera_memory_get と想起ではメモリ全体が返されます |
dakera_agent_memories / dakera_wake_up include_derived | power | v0.12.2 以降、派生した文のサブメモリはデフォルトで一覧から除外されます。true にすると、それらも一覧に含まれます |
新機能
| ツール | ティア | 必要条件 | 機能 |
|---|---|---|---|
dakera_capabilities | power | v0.12 | GET /v1/capabilities:アクティブなモデル、検索モード、スコアリング戦略、受け入れ可能な lang の値、有効になっているオプトイン機能を返します。v0.11 サーバーでは capabilities_available: false を返します |
dakera_health | power | 任意 | GET /health:ステータスとバージョンを返します。v0.12 では degraded、config_warnings、embed_migration も返します |
dakera_wake_up | power | 任意 | 1 回の呼び出しでエージェントの起動時コンテキストを取得します。クエリや埋め込みを使わず、重要度 × 新しさで上位のメモリを返します |
dakera_embed_migration_status | admin | v0.12 | アップグレード後に一度だけ実行されるバックグラウンド再埋め込みの進行状況 |
dakera_encryption_status | admin | v0.12 | 暗号化キーリングとバックグラウンドでの再封印の状態(キー素材は決して返しません) |
dakera_encryption_rotate_key | admin | v0.11+ | 暗号化が有効な v0.12 では new_key は省略可能です(サーバーがキーを生成します。暗号化が無効な場合は、new_key によって有効になります)。wait_secs(最大 20 秒)。namespace を指定すると、その名前空間のキーをローテーションします |
dakera_attachment_upload / _list / _download / _delete | power | v0.12 + DAKERA_ATTACHMENTS | dakera_store の attachment_ref でメモリから参照できるファイルまたはテキスト |
dakera_attachment_transcribe | power | v0.12 + DAKERA_ATTACHMENTS | モデルが理解できる任意の言語の WAV 音声をテキストに変換し、メモリに保存します(lang で言語を指定できます)。バックグラウンドジョブで実行され、wait_seconds(最大 45 秒)を指定すると完了を待ちます |
dakera_attachment_index_image | power | v0.12 + DAKERA_ATTACHMENTS + DAKERA_VISION | PNG ページを視覚メモリとして登録します(画像専用のエージェントを使用してください。視覚レーンにはページベクトルが保存されます) |
dakera_attachment_job | power | v0.12 + DAKERA_ATTACHMENTS | 文字起こし/インデックス作成ジョブのステータス |
リクエストごとの lang(en、de、fr、es、it、pt、nl。v0.12)は、dakera_store、
dakera_recall、dakera_recall_associated、dakera_search、dakera_memory_update、dakera_extract、
dakera_auto_tag、および添付ファイルのジョブで使用できます。
dakera_store では attachment_ref(エージェント自身の名前空間 _dakera_agent_<agent_id> にある添付ファイルの
sha256:<hex>)も指定できます。どちらも指定されない限り送信されないため、同じ呼び出しを v0.11.108 サーバーでも使用できます。
その他のオプション引数(すべてのサーバー):dakera_store の ttl_seconds と metadata、dakera_recall の tags、
memory_type、session_id フィルター、dakera_batch_recall の limit、
dakera_session_list、dakera_session_memories、dakera_agent_sessions の limit / offset(サーバーは 50 件単位でページ分割します)、
メモリ一覧の content_preview_chars、dakera_agent_memories / dakera_wake_up の include_derived(v0.12.2。古いサーバーでは無視されます)、
dakera_knowledge_deduplicate の memory_type、dakera_memory_policy_set の dedup_on_store /
dedup_threshold。
サーバーで無効になっている機能は表示されません
オプトイン機能(添付ファイル、音声からテキストへの変換、画像インデックス作成)は、サーバーではデフォルトで無効です。
dakera-mcp はツールの一覧表示前に GET /v1/capabilities を呼び出します(1 分に 1 回、タイムアウト 3 秒)。
attachmentsが無効、または/v1/capabilitiesに対応していないサーバー(v0.11)の場合、dakera_attachment_*ツールは 一覧に表示されず、dakera_discover_toolsからも返されません。直接呼び出すと、設定すべき変数 (DAKERA_ATTACHMENTS=1)が返され、リクエストは送信されません。visionが無効の場合、dakera_attachment_index_imageは表示されません(DAKERA_VISION=1で有効になります)。/v1/capabilitiesに対応していないサーバー(v0.11)では、v0.12 で追加されたルートを使用するdakera_encryption_statusとdakera_embed_migration_statusも非表示になります。- サーバーに問い合わせできない場合(停止中、起動中、キーが拒否された場合)、何も非表示になりません(10 秒後に再度問い合わせます)。
デフォルトの core プロファイルにはオプトインツールがないため、このリクエストは行われません。
エラー
エラー応答ではサーバーのテキストをそのまま保持し、v0.12 のケースでは Hint: 行を追加します。名前空間に固定されたキーは、ノード全体に適用される /admin ルート(バックアップ、暗号化、クォータ、設定)で 403 を受け取ります。バックアップのダウンロード、アップロード、復元には super_admin が必要です。413(リクエスト本文が上限超過、またはハードクォータ)、501(機能が無効)、503(Retry-After。再試行ロジックがこれを尊重するようになり、最大 8 s まで再試行します)、429(レート制限)も対象です。サーバーに存在しないルート(古いサーバーの場合)や、new_key を指定しない v0.11 のローテーションにもヒントが表示されます。Dakera v0.12.2 以降、拒否された引数には、フィールド名を示すメッセージ付きで 400 が返されます(content: content exceeds maximum of 100000 bytes …、tags[1]: … reserved …)。メッセージはそのまま渡され、ヒントでは修正すべきフィールドが示されます(コンテンツの上限は UTF-8 バイト数で判定されます)。403 のヒントでは dakera_whoami が案内されます。タイムアウトしたリクエストは、安全に繰り返せる場合(GET、PUT、DELETE)のみ再試行されます。ストア、インポート、キーのローテーションが二度送信されることはありません。
Dakera を実行する
MCP サーバーは Dakera メモリサーバーに接続します。まず、サーバーを起動してください。
docker run -d \
--name dakera \
-p 3000:3000 \
-e DAKERA_ROOT_API_KEY=dk-mykey \
ghcr.io/dakera-ai/dakera:latest
永続ストレージを使用する場合(推奨):
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"}
デプロイガイドの全文(Docker Compose、Kubernetes、Helm):dakera-deploy
インストール
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
バイナリのダウンロード
macOS、Linux、Windows 向けのビルド済みバイナリは、リリースページから入手できます。
| プラットフォーム | ファイル |
|---|---|
| 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 |
接続
.mcp.json(Claude Code)または claude_desktop_config.json(Claude Desktop)に追加します。
{
"mcpServers": {
"dakera": {
"command": "dakera-mcp",
"env": {
"DAKERA_API_URL": "http://localhost:3000",
"DAKERA_API_KEY": "your-key"
}
}
}
}
パワープロファイルで起動する場合(最大 82 個のツールを公開します):
{
"mcpServers": {
"dakera": {
"command": "dakera-mcp",
"env": {
"DAKERA_API_URL": "http://localhost:3000",
"DAKERA_API_KEY": "your-key",
"DAKERA_MCP_PROFILE": "power"
}
}
}
}
このプロジェクトの目的
AI エージェントはセッションが終了すると、すべてを忘れてしまいます。Dakera はそれを解決します。この MCP サーバーは、インフラストラクチャのオーバーヘッドなしで、エージェントに永続的なメモリレイヤーを提供します。Dakera インスタンスを指定するだけで動作します。
デフォルトの 14 個のツールにより、コンテキストウィンドウをすっきり保てます。メタツールを使えば、ベクトルの一括アップサート、ナレッジグラフのトラバーサル、メモリのフェデレーションなどの高度な操作が必要なときに、必要に応じて機能を拡張できます。
→ ホスト型インスタンスについては dakera.ai をご覧ください
→ dakera-deploy でセルフホストできます
ドキュメント
→ ドキュメント全文
→ MCP リファレンス
関連プロジェクト
| リポジトリ | 説明 |
|---|---|
| dakera-py | Python SDK |
| dakera-js | TypeScript SDK |
| dakera-cli | CLI |
| dakera-deploy | Dakera のセルフホスト |
dakera.ai · ドキュメント · 早期アクセスをリクエスト
Dakera AI のオープンコアエコシステムの一部です。Rust で構築。セルフホスト可能。依存関係ゼロ。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。