mcpField
H
Hive Vault

Hive Vault

ローカル
github.com/mlorentedevメモリ・ナレッジ112 日前に更新

Hive Vault について

Hive Vaultは、AIコーディングエージェントからObsidianのMarkdownナレッジベースへ必要な情報だけを提供するMCPサーバーです。検索、文脈の取得、書き込み、教訓の記録、セッション概要の機能で、プロジェクト知識をセッション間で保持します。

主な機能

  1. 01必要な文脈だけを取得
  2. 02全文検索とファイル閲覧
  3. 03ファイルの作成・修正・コミット
  4. 04教訓の記録と強化
  5. 05セッション概要とタスク委任

活用シーン

  1. 01コーディング中にプロジェクトノートを参照
  2. 02後続セッション向けに教訓を記録
  3. 03テキストやメタデータでファイルを検索

MCP 対応

Hive Vaultは、ナレッジベース、セッション、ワーカー向けのツールと、リソースおよびプロンプトをMCPクライアントに提供します。通常はstdioで動作し、オプションのデーモンモードでも接続できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"mlorentedev-hive-vault": {
"command": "uvx",
"args": [
"hive-vault"
],
"env": {
"VAULT_PATH": "<VAULT_PATH>",
"HIVE_OLLAMA_ENDPOINT": "<HIVE_OLLAMA_ENDPOINT>",
"OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>",
"HIVE_VAULT_SCOPES": "<HIVE_VAULT_SCOPES>"
}
}
}
}
起動コマンドuvx hive-vault
設定が必要な環境変数
VAULT_PATHAbsolute path to your Obsidian vault (or any Markdown directory)
HIVE_OLLAMA_ENDPOINTOllama API endpoint for local worker delegation
OPENROUTER_API_KEYシークレットOpenRouter API key for cloud worker delegation
HIVE_VAULT_SCOPESJSON mapping of scope names to vault subdirectories

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypihive-vault1.12.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

hive-vault

CI codecov PyPI Python 3.12+ Docs License: MIT

README の画像

AI コーディングアシスタントはセッション間で何も覚えていません。Hive がそれを解決します。

Hive は、AI アシスタントを Obsidian の保管庫に接続する MCP サーバーです。最初にすべてを読み込むのではなく、必要なものだけを必要に応じて検索します。

指標Hive なしHive あり
セッションごとに読み込むコンテキスト約800行(静的)約50行(必要に応じて)
コンテキストのトークンコスト毎セッション100%5回のプロジェクトコンテキスト検索で0.6%(実際の保管庫、493Kトークン)
セッション間で保持される知識0%100%(保管庫内)

測定値はトークンコストの行のみです(実際の493Kトークンの保管庫で5回のプロジェクトコンテキスト検索を実施。方法と数値はベンチマークを参照)。行数と保持率の行は、2つの構成の動作を説明したものであり、測定値ではありません。

クイックスタート

Hive は保管庫がなくても動作します。VAULT_PATH が設定されるまでは、保管庫関連ツールはわかりやすいエラーを返すため、先にインストールして後から設定できます。

# Minimal — uses default vault path ~/Projects/knowledge
claude mcp add -s user hive -- uvx --upgrade hive-vault

# With a custom vault path
claude mcp add -s user hive -e VAULT_PATH=$HOME/path/to/vault -- uvx --upgrade hive-vault

# Gemini CLI
gemini mcp add -s user -e VAULT_PATH=$HOME/path/to/vault hive-vault uvx -- --upgrade hive-vault

デフォルトの保管庫パス:~/Projects/knowledge。上記のように VAULT_PATH(または HIVE_VAULT_PATH)で変更できます。

Codex CLI、GitHub Copilot、Cursor、Windsurf、その他のクライアントについては、はじめにを参照してください。

次に、アシスタントに「vault_list を使って保管庫を確認して」と尋ねてください。

要件

Hive は依存関係に応じて段階的に機能を拡張し、推奨またはオプションの依存関係がなくても基本機能は損なわれません。

  • 必須

    • Python 3.12+(3.13でも動作します)。
    • Markdown ファイルのディレクトリ。00_meta / 10_projects / 50_work / 80_agents を使用する保管庫の構成は任意です。これらがなくても保管庫ツールは動作しますが、スコープの振り分けはフラットになります。
  • 推奨

    • 保管庫内で初期化された git。ない場合も vault_write / vault_patch はディスクに書き込みますが、書き込みごとのコミットは省略され(vault_commit は作業ツリーを未追跡として報告します)。
    • 保管庫を手動で作成するための Obsidian デスクトップアプリ。
    • 自動コミット間隔を 5〜10分 に設定した obsidian-git プラグイン。vault_write(commit=False) / vault_patch(commit=False) と組み合わせると、git の処理を同期ツールの実行経路から切り離せます。詳しくは、以下の 推奨設定 を参照してください。
  • オプション

    • HIVE_WORKER_BASE_URL、HIVE_WORKER_API_KEY、HIVE_WORKER_MODEL で設定する、delegate_task / capture_lesson のワーカーとしての任意の OpenAI 互換 /v1 エンドポイント。
    • 保管庫の履歴をディスク障害後も保持するための バックアップ用 git リモート(例:非公開の GitHub リポジトリ)。
推奨設定

ADR-006(コミットポリシー)に従い、書き込みの多いワークフローでは次の組み合わせを推奨します。

  1. Vault に obsidian-git プラグインをインストールして有効にします。
  2. 自動コミット間隔を5分または10分に設定します。
  3. すべての一括操作で vault_write(..., commit=False) と vault_patch(..., commit=False) を呼び出します。
  4. 必要に応じて、セッションの最後に vault_commit(message="...") を呼び出し、obsidian-git の実行間隔を待たずにチェックポイントを作成します。

vault_health は、Vault 内で obsidian-git を検出すると ## external_committer ブロックを報告します。commit=False の耐久性に関する契約は明確です。ファイルはどちらの場合もディスクに保存され、延期されるのは コミット のみです。次のフラッシュより前にクラッシュした場合、失われるのはコミットであり、コンテンツではありません。

ツール呼び出しが処理中にキャンセルされた場合(ワーカーの遅延、クライアントのタイムアウトなど)、キャンセル確認が通信経路に届く前に、サーバーがすでにディスクを変更している可能性があります。vault_health は ## ghost_responses カウンターを表示し、イベントごとに mcp.ghost_response.suppressed_after_cancel_ack WARNING を出力します。ErrorData の確認応答はロールバックを意味しないため、再試行するのではなく、vault_query で状態を確認してください(ADR-007)。

デーモンモード(任意)

デフォルトの uvx hive-vault は、セッションごとに新しいサーバーを実行します。一方、デーモンモードでは、Vault を管理する長時間稼働の hive serve を1つ実行し、各 stdio 専用セッションは hive client を介して接続します。アダプターは Hive サーバーや FastMCP をインポートせずに起動し、JSON-RPC をデーモンの固定ループバックエンドポイントに中継します。デーモンまたは認証情報を利用できない場合は、競合するインプロセスの管理者を起動せず、明示的に失敗します。

デフォルトのエンドポイントは、ユーザーごとに決定的に割り当てられる 49152..65535 のポートです。そのため、通常のデーモン再起動でクライアント設定が無効になることはありません。導出されたポートが別のローカルサービスと競合する場合は、デーモンとすべてのクライアントの環境で HIVE_DAEMON_PORT を指定して上書きしてください。hive serve --port で変更されるのはデーモンのバインドポートのみです。hive client や hive delegate の設定は変更されません。Hive は別のポートへ暗黙に移行せず、フェイルクローズします。所有者専用のベアラートークンは、通常の再起動後もデーモンの状態ディレクトリに保持されます。daemon.port は診断用の移行メタデータであり、クライアントの検出状態ではありません。ADR-022を参照してください。

セキュリティ上の制限: #456が解決されるまでは、信頼できないマルチユーザーホストにデーモンモードをデプロイしないでください。エンドポイントは、Hive のクライアントがピン留めするユーザーごとの証明書を使って TLS を提供するため、固定ポートでなりすます相手がいても、ベアラーを送信する前にハンドシェイクに失敗します。この制限は、ユーザー間の確認を含む Linux と Windows の証拠が記録されるまで継続します。

uv tool install --upgrade hive-vault   # >= 1.32.0
hive service install                   # supervise hive serve (systemd --user / Task Scheduler)
hive service status                    # exit 0 only if the listener proves the daemon's certificate

MCP ホストから hive client を実行します。デーモンの証明書を検証できるホストは、https://127.0.0.1:<derived-or-overridden-port>/mcp に直接接続できます(Node ベースのホストの場合は、状態ディレクトリ内の daemon.crt を指す NODE_EXTRA_CA_CERTS を設定します)。検証を無効にしないでください。また、http:// は使用できなくなったことに注意してください。トークンをログやシェル履歴に出力したり、コピーしたりしないでください。

新しいリリースをインストールするには、プラットフォーム固有のコマンドを使用します。

# Linux / macOS
uv tool upgrade hive-vault

# Windows (the version is optional; omitted selects the latest PyPI release)
hive self-upgrade [version]

Windows では、self-upgrade は実行中のファイルの隣にリリースをビルドし、管理対象のランタイムをアトミックに切り替えることで、使用中のファイルとの競合を回避します。最初の管理対象アップグレード後は、新しいターミナルを開いて PATH の変更を反映してください。監視下で実行されている場合、デーモンはインストール済みの新しいバージョンを検出して 75 で終了し、スーパーバイザーが再起動して新しいコードを実行します。デーモンモードガイドと有効化手順書を参照してください。

ツール

ツール機能
vault_queryプロジェクトのコンテキスト、タスク、ロードマップ、教訓、またはパスで指定した任意のファイルを読み込みます
vault_searchメタデータフィルター、正規表現、ランキングされた検索結果、最近の変更、教訓の使用状況ランキング(rank_by)を使った全文検索
vault_listglob フィルタリングでプロジェクトとファイルを参照します
vault_askソースの引用を伴うセマンティックな質疑応答(任意)。埋め込みバックエンドが設定されるまで無効です([semantic] extra)
vault_healthサーバーの識別情報(バージョン、Vault のパス、バックエンド)、健全性メトリクス、ドリフト検出、使用統計、オプトインのランタイムブロック
vault_writeVault ファイルを作成、追記、置換します。commit=False を指定すると、まとめてコミットするため Git コミットを保留します
vault_patch対象を絞った検索と置換を行います。commit=False を指定すると、まとめてコミットするため Git コミットを保留します
vault_commit保留中の commit=False による書き込みを、1つの Git コミットにまとめます
vault_deleteファイルを1つ削除します。Git 履歴から復元できるよう、同期的にコミットします
capture_lesson教訓をその場で記録する、テキストから一括抽出する、キーワード(find=)で既存の教訓を検索する
session_briefingタスク、教訓、Git ログ、健全性情報を1回の呼び出しで取得します
delegate_taskタスクをより低コストのモデルに割り当てるか、Vault ファイルを要約します
worker_status予算、接続状況、利用可能なモデル

ガイド付きワークフロー用のリソースが5つ、プロンプトが4つあります。

教訓の強化

vault_query、vault_search、または capture_lesson(find=…) で教訓を読み込むたびに、カウンターが増加し、その教訓の信頼度は漸近的に1.0に近づきます。検証済みの教訓は、単発で記録された教訓よりも時間の経過とともに上位に表示されます。

# Surface the top-ranked lessons matching a keyword
capture_lesson(project="hive", find="multi-process")

# Search lessons ranked by usage signal (not BM25)
vault_search(query="timeout", rank_by="reinforcements")    # most-reinforced first
vault_search(query="timeout", rank_by="confidence")        # highest decayed confidence
vault_search(query="timeout", rank_by="hybrid")            # α=0.7 BM25 + 0.3 confidence

保存先:HIVE_LESSON_DB_PATH の SQLite サイドテーブル(デフォルトは ~/.local/share/hive/lesson_reinforcement.db)。WAL モードと busy_timeout により、複数プロセスから安全に利用できます。

アーキテクチャ

MCP Host (Claude Code, Gemini CLI, Codex CLI, Cursor, ...)
    └── hive-vault (MCP server, stdio)
            ├── Vault Tools (9) ── Obsidian vault (Markdown + YAML frontmatter)
            ├── Session Tools (1) ── Adaptive context assembly
            └── Worker Tools (3) ── one OpenAI-compatible endpoint, no internal fallback

ドキュメント

詳細なドキュメントは mlorentedev.github.io/hive にあります。

プロジェクトに紐づくナレッジ(ドキュメントをコードとして管理)は docs/ にあります。

コントリビューション

セットアップと PR のワークフローについては、CONTRIBUTING.md をご覧ください。

git clone https://github.com/mlorentedev/hive.git && cd hive
make install   # create venv + install deps
make check     # lint + typecheck + test (478 tests, 90% coverage)

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。