mcpField
V
vanguard-memory-node

vanguard-memory-node

ローカル
github.com/ezumbaメモリ・ナレッジ08 週間前に更新

vanguard-memory-node について

Vanguard Memory Nodeは、MCP対応AIエージェント向けのローカル永続メモリーサーバーです。テキストをコンテンツアドレス方式で保存し、決定的なBM25検索を行います。ExergyNet台帳への同期も選択できます。

主な機能

  1. 01テキストをSHA-256アドレス付きシャードとして保存
  2. 02BM25の順位付き結果でメモリーを検索
  3. 03シャードから証拠ウィンドウを取得
  4. 04増加するファイルを差分取り込み
  5. 05オブジェクト、名前空間、インデックスの管理
  6. 06メモリーオブジェクトをExergyNetへ任意同期

活用シーン

  1. 01エージェントにローカル永続メモリーを提供
  2. 02メモや文書をキーワード検索
  3. 03セッションやログファイルの新規行を取り込み
  4. 04選択したメモリーオブジェクトを端末・エージェント間で同期

MCP 対応

VMNはMCPサーバーとして、ローカルメモリーの取り込み、検索、取得、確認、管理ツールを提供します。任意のツールでメモリーオブジェクトをExergyNet LNES-17 vaultに同期でき、APIキーが必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ezumba-vanguard-memory-node": {
"command": "npx",
"args": [
"-y",
"@lnes/vanguard-memory-node"
]
}
}
}
起動コマンドnpx -y @lnes/vanguard-memory-node

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

パッケージ
npm@lnes/vanguard-memory-node2.0.1

ツール

11

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
tagsarrayいいえ任意のタグ
textstringはいローカルで取り込み、シャーディングするテキスト内容
titlestringいいえ任意の人間が読めるタイトル
sourcestringいいえ任意のソースラベル
namespacestringいいえ任意の名前空間(デフォルト:"default")
content_typestringいいえ任意のコンテンツタイプ(デフォルト:"text/plain")

詳細

Vanguard Memory Node (VMN)

npm version npm downloads License: MIT MCP Badge

Model Context Protocol(MCP)を介して、AI エージェントにローカルで決定論的なメモリを提供します。

クラウド不要。ベクトルデータベース不要。意味のずれもありません。データはお使いのマシン内に保たれます。


概要

VMN は、MCP 互換のあらゆる AI エージェントに、ローカルディスクだけに保存される永続的で検索可能なメモリボールトを提供します。テキストは一度だけ取り込まれ、SHA-256 によるコンテンツアドレス指定が行われた後、分割され、シャーディングされた BM25 転置インデックスでインデックス化されます。検索結果は決定論的です。同じデータに対して同じクエリを実行すると、常に同じ順位の結果が返されます。

オプションで、ボールトを ExergyNet LNES-17 ledger と同期し、暗号学的な来歴を保ちながら、デバイスやエージェントをまたいで情報を再検索できます。


インストール

npm install -g @lnes/vanguard-memory-node

または、インストールせずに実行できます。

npx @lnes/vanguard-memory-node

Claude Desktop との連携

Mac — ~/Library/Application Support/Claude/claude_desktop_config.json
Windows — %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "vanguard-memory": {
      "command": "npx",
      "args": ["-y", "@lnes/vanguard-memory-node"]
    }
  }
}

ExergyNet のボールト同期を有効にする場合:

{
  "mcpServers": {
    "vanguard-memory": {
      "command": "npx",
      "args": ["-y", "@lnes/vanguard-memory-node"],
      "env": {
        "EXERGYNET_API_KEY": "sk-exergy-your-key",
        "EXERGYNET_NETWORK": "mainnet",
        "AUTO_SYNC_VAULT": "true"
      }
    }
  }
}

Windows 上の WSL:

{
  "mcpServers": {
    "vanguard-memory": {
      "command": "wsl",
      "args": ["-d", "Ubuntu", "npx", "-y", "@lnes/vanguard-memory-node"]
    }
  }
}

ツール(全 11 種類)

vmn_ingest

テキストを SHA-256 コンテンツアドレス指定のシャードとして保存します。テキストを分割してインデックス化し、ローカルカタログを更新します。

パラメーター型必須説明
textstringyes保存するコンテンツ
titlestringno人が読めるラベル
namespacestringno論理パーティション(デフォルト:default)
tagsstring[]no検索用タグ
content_typestringnoMIME タイプのヒント(デフォルト:text/plain)
sourcestringnoソースのラベル

戻り値:SHA-256 ルートハッシュ、ボールトのパス、vault_synced フラグ。

vmn_recall

字句 BM25 スコアリングを使用して、指定したシャードから 900 文字のエビデンスウィンドウを取得します。

パラメーター型必須説明
hashstringyesvmn_ingest が返すルートハッシュ
querystringyes検索クエリ

戻り値:最も一致するエビデンスウィンドウ、または一致するものがないことを示す人が読めるメッセージ。

vmn_search

取り込み済みのすべてのオブジェクトを対象に、ボールト全体をキーワード検索します。スニペット付きの順位付き検索結果を返します。

パラメーター型必須説明
querystringyes検索クエリ
limitnumberno結果の最大件数(デフォルト:10)
namespacestringnoこの名前空間だけに検索対象を限定
vmn_ingest_file

増加するファイルを差分でボールトに取り込みます。カーソルで進捗を追跡し、呼び出しごとに新しい行だけを取り込みます。Stop フックや継続的なログパイプライン向けに設計されており、重複なしで繰り返し安全に呼び出せます。

パラメーター型必須説明
file_pathstringyesファイルの絶対パス
session_idstringnoカーソルキー(デフォルトはファイルパス)
namespacestringno取り込むコンテンツの名前空間(デフォルト:file_ingest)
titlestringno任意のタイトルの上書き
tagsstring[]no任意のタグ

戻り値:lines_ingested、cursor_line、シャードのhash(新しいコンテンツがない場合は null)。

Stop フックの例 — すべての Claude セッションを自動的に取り込みます。

{
  "hooks": {
    "Stop": [{
      "matcher": "",
      "hooks": [{
        "type": "command",
        "command": "npx -y @lnes/vanguard-memory-node vmn_ingest_file --file_path \"$CLAUDE_SESSION_FILE\" --session_id \"$CLAUDE_SESSION_ID\""
      }]
    }]
  }
}
vmn_list

ボールト内のすべてのメモリオブジェクトを一覧表示します。

パラメーター型必須説明
namespacestringno名前空間で絞り込み
vmn_inspect

指定したオブジェクトのカタログメタデータ全体を返します。

パラメーター型必須説明
hashstringyesルートハッシュ
vmn_delete

オブジェクトと、そのすべてのインデックスエントリを完全に削除します。

パラメーター型必須説明
hashstringはいルートハッシュ
vmn_stats

保管庫の集計統計(エントリ数、合計バイト数、名前空間、最古および最新のタイムスタンプ)を返します。

vmn_index_status

現在の BM25 インデックスの状態(READY、REBUILD_REQUIRED、REBUILDING、DEGRADED)を返します。

vmn_rebuild_index

信頼できるオブジェクトファイルから BM25 インデックス全体を再構築します。オブジェクトは変更されないため、いつでも安全に実行できます。

vmn_sync_vault

ローカルのメモリーオブジェクトを ExergyNet LNES-17 保管庫に同期します。EXERGYNET_API_KEY が必要です。EXERGYNET_NETWORK を使って mainnet または testnet を指定します。

パラメーター型必須説明
xlmp_rootstringはい同期するオブジェクトのルートハッシュ
intentstringいいえ同期目的のラベル(デフォルト:manual-sync)

返される値:xlmp_root、bytes_committed、status、解決された保管庫 URL。


環境変数

変数デフォルト説明
AUTO_SYNC_VAULTfalsetrue に設定すると、すべての vmn_ingest を ExergyNet に自動同期します
EXERGYNET_API_KEY—ExergyNet 保管庫へのアクセス用 API キー(sk-exergy-*)
EXERGYNET_NETWORKtestnet対象の基盤:mainnet → portal.exergynet.org、testnet → dt.portal.exergynet.org
EXERGYNET_VAULT_URL( EXERGYNET_NETWORK から解決)保管庫のベース URL を全面的に上書きします

保管庫の構成

~/.vanguard/
├── local_vault/
│   └── <sha256>.txt              # authoritative object files (never modified after write)
├── catalog/
│   └── <sha256>.json             # per-object metadata (O(1) reads)
├── segments/
│   └── <sha256>.json             # segment records with term frequencies
├── cursors/
│   └── <session_id>.json         # cursor state for vmn_ingest_file
└── index/
    └── v2/
        ├── index_manifest.json   # version + state header
        ├── corpus_stats.json     # BM25 corpus statistics
        └── postings/
            └── <2-hex>.json      # 256 sharded posting buckets

検索の仕組み

  1. 正規化 — Unicode NFC → フレーズエイリアスの置換 → トークン化 → 接尾辞のステミング → ストップワードのフィルタリング → トークンエイリアスの展開
  2. ステマー — 13 個のルールを持つ接尾辞除去処理:tions→(5)、ions→(4)、tion→(4)、ings→(4)、ing→(3)、ers→(3)、ies→(3)、ic→(2)、er→(2)、ed→(2)、es→(2)、s→(1)、y→(1)。ルールは長いものから順に適用されます。medications と medication はどちらも同じ語幹になります。
  3. エイリアスの展開 — 臨床、技術、法律分野の同義語クラスター(smok↔tobacco↔cigarett、physician↔doctor、hypertens↔bp など)
  4. BM25 スコアリング — シャード化された 256 バケットの転置インデックス。高 DF による停滞を抑えるため、各用語の投稿リストは上位 150 件に制限されます
  5. フォールバック — BM25 スコアがゼロの場合にステミング済みトークンの集合を比較し、部分一致による誤検出を防止します

比較

VMNChromaDB / Pinecone
結果の再現性同じクエリなら常に同じ結果モデルのバージョンによって変動
データの保存場所ローカルディスクのみクラウドへのアップロードが必要
クエリごとのコスト$0API 使用料
セットアップ時間60 秒アカウント + キー + SDK
セマンティックドリフトなしモデル更新時に動作しなくなる
オフライン対応はいいいえ

ライセンス

MIT — 永久に無料、テレメトリーなし、利用制限なし。

ExergyNet が開発しました。

コメント

MCP は初めてですか?

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

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