Verified Repo Memory について
Verified Repo Memory は、コーディングエージェント向けにリポジトリ単位で事実をコード引用付きで保存するローカル MCP サーバーです。返却前に引用を検証し、ソースが変更・削除された記録は除外します。
主な機能
- 01リポジトリ単位の記録保存
- 02ファイルと行範囲の引用
- 03引用の即時検証
- 04TTLによる期限切れと延長
- 05シークレット検出とパス制限
活用シーン
- 01コーディングセッション間で規約を保持
- 02現在のソースコードで記録を確認
- 03古い記録や不要な記録を整理
MCP 対応
MCP クライアントに、リポジトリ記録の保存、検索、取得、一覧表示、削除ツールを提供します。取得時にローカルファイルで引用を検証し、有効な記録だけを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @cognitivemyriad/vrm-localVRM_TTL_DAYSDefault TTL in days (1-365).VRM_DATA_DIROverride data dir path.VRM_MAX_FILE_BYTESMax file parsing size bytes.VRM_SECRET_SCANシークレットEnable secret scan (on/off).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

Verified Repo Memory MCP v0.1.2
引用+ジャストインタイム検証+TTLによる、古くならないリポジトリメモリ(リポジトリ単位)。
AI コーディングエージェントに「安全なメモリ」を提供する MCP サーバーです。メモリはリポジトリごとにスコープが設定され、コードの引用によって裏付けられ、ジャストインタイムで検証されるため、基盤となるコードに変更があった場合にエージェントが古い情報を受け取ることはありません。
クイックスタート
npx で実行します:
npx -y @cognitivemyriad/vrm-local --repo /path/to/repo
(または、ソースから実行します:npm ci && npm run build && node build/index.js --repo /path/to/repo)
ツール
vrm_store:ファイルの引用を添えて新しいメモリを保存します。vrm_search:キーワードで候補となるメモリを検索します。vrm_retrieve:候補を JIT 検証し、有効なメモリのみを返します。(エージェント向けの主要ツール)vrm_list:ステータス(有効、古い、欠落)でメモリを一覧表示します。vrm_forget:メモリを手動で削除します。
入出力の例
保存: 入力:
{
"subject": "API version sync",
"fact": "When changing API version, update client/server/docs together.",
"citations": [{ "path": "src/api.ts", "startLine": 10, "endLine": 15 }]
}
出力:
{
"stored": true,
"memoryId": "uuid-...",
"expiresAt": "2026-03-21T00:00:00Z"
}
取得: 入力:
{ "query": "API version" }
出力:
{
"query": "API version",
"valid": [ ... ],
"stats": { "verified": 1, "validCount": 1 }
}
仕組み
graph TD
A[Agent] -->|Store Fact + Citation| B(Verified Repo Memory)
B --> C{Save to Disk}
C -->|Hash Code Snippet| D[(memories.json)]
A -->|Retrieve Fact| B
B --> E{JIT Verification}
E -->|Check File Hash| F{Unchanged or Relocated?}
F -->|Yes| G[Return VALID Memory]
F -->|No| H[Return STALE/MISSING]
- 引用: すべての事実はファイルパスと行範囲に紐付けられています。該当するコードスニペットはハッシュ化して保存されます。
- JIT 検証:
vrm_retrieveでエージェントにメモリを返す前に、サーバーは実ファイルを確認します。スニペットの位置が移動している場合は、引用の位置を特定し直します。変更または削除されている場合、メモリは STALE/MISSING としてマークされ、結果から除外されます。 - TTL(有効期間): メモリは自動的に期限切れになります(デフォルトは28日)。ただし、正常に取得されて利用されると有効期間が延長されます。
データの保存場所
データはリポジトリごとに厳密に分離され、次の場所に保存されます:
<repoRoot>/.verified-repo-memory
これには memories.json と、誤ってリポジトリ間でデータが混在するのを防ぐためのフィンガープリント/メタデータファイルが含まれます。このディレクトリを .gitignore に追加してください。
セキュリティ
- ネットワーク送信なし: HTTP 呼び出しを行わない、
stdioのローカル専用サーバーです。 - パスのセキュリティ: リポジトリのルート外へのパストラバーサル(
../)や、.git/および.verified-repo-memory/へのアクセスを禁止します。 - 標準出力の汚染なし: ログは
stderrにのみ厳密に出力されます。 - シークレットスキャン: API キーや秘密鍵のように見えるメモリを拒否する、組み込みのヒューリスティックなシークレットスキャン機能があります(
--no-secret-scanで無効化できます)。
Claude での使用方法
Claude Desktop
このサーバーを Claude Desktop アプリに追加するには、設定ファイルを編集します:
- macOS の場合:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows の場合:
%APPDATA%\Claude\claude_desktop_config.json
次の設定を追加します:
{
"mcpServers": {
"verified-repo-memory": {
"command": "npx",
"args": [
"-y",
"@cognitivemyriad/vrm-local",
"--repo",
"/absolute/path/to/your/repo"
]
}
}
}
Claude Code
stdio トランスポートを使って、このサーバーを Claude Code に追加します:
claude mcp add mcp-verified-repo-memory --transport stdio -- npx -y @cognitivemyriad/vrm-local
Windows ユーザーへの注意: コマンドの前に cmd /c を付ける必要がある場合があります:
claude mcp add mcp-verified-repo-memory --transport stdio -- cmd /c npx -y @cognitivemyriad/vrm-local
公開ガイド
このセクションでは、パッケージを NPM に公開し、Anthropic MCP Registry に登録して一般公開する方法を説明します。
ステップ 1:NPM に公開する
NPM(Node Package Manager)はパッケージ配布プラットフォームです。ここに公開すると、誰でも1つのコマンドでツールをインストールできます。
前提条件
- NPM アカウント(無料)
- NPM アカウントで2要素認証(2FA)を有効にしていること
- マシンに Node.js がインストールされていること
手順
1. ターミナルから NPM にログインします:
npm login
ブラウザーウィンドウが開きます。NPM アカウントでサインインしてください。求められたら、認証アプリの 2FA コードを入力します。
2. パッケージを公開します:
npm publish --access public
このコマンドは次の処理を行います:
- TypeScript をコンパイルして JavaScript に変換します(
npm run build) - コンパイル済みファイルの
.tgzアーカイブを作成します - アーカイブを
https://registry.npmjs.org/にアップロードします
3. 公開を確認します:
ブラウザーで https://www.npmjs.com/package/@cognitivemyriad/vrm-local にアクセスします。パッケージのページが表示されます。
注: 再公開する必要がある場合は、まず
package.jsonとserver.jsonのバージョン番号を更新してください(npm version patch)。NPM では既存のバージョンを上書きできません。
ステップ 2:Anthropic MCP Registry に登録する
MCP Registry は、Anthropic 公式の MCP サーバー一覧です。ここに登録すると、Claude Desktop、Claude Code、その他の MCP クライアントがサーバーを検出してインストールできるようになります。
重要: NPM パッケージは先に公開する必要があります(ステップ 1)。MCP Registry は登録を受け付ける前に、NPM パッケージの存在を検証します。
前提条件
- GitHub アカウント(認証のみに使用)
mcp-publisherCLI ツール
mcp-publisher のインストール
# macOS (Homebrew)
brew install nicholasgriffintn/tap/mcp-publisher
# Or via npx (no install required)
npx @anthropic-ai/mcp-publisher
手順
1. GitHub 経由で MCP Registry にログインします:
mcp-publisher login github
ブラウザーウィンドウが開きます。GitHub アカウントでアプリケーションを認証してください。
2. MCP Registry に公開します:
mcp-publisher publish
このコマンドは、現在のディレクトリにある server.json を読み込み、サーバーを MCP Registry に登録します。レジストリは次の処理を行います:
server.jsonのスキーマを検証します- NPM パッケージが存在し、アクセス可能であることを確認します
- サーバーのメタデータ(名前、説明、バージョン、環境変数)を登録します
3. 登録を確認します:
https://registry.modelcontextprotocol.io にアクセスし、サーバー名を検索します。
注: MCP Registry に公開されたバージョンは変更できず、編集できません。更新を公開するには、
package.jsonとserver.jsonの両方でバージョンを更新し、先に NPM に公開してから、再度mcp-publisher publishを実行してください。
バージョン管理
新しいバージョンをリリースする際は、必ず3 か所すべてでバージョン番号を更新してください:
# 1. Bump version in package.json
npm version patch # 0.1.2 → 0.1.3
# 2. Update server.json (both top-level and packages[].version)
# Edit server.json manually to match the new version
# 3. Publish
npm publish --access public
mcp-publisher publish
| ファイル | フィールド | 一致が必要 |
|---|---|---|
package.json | version | ✅ |
server.json | version(トップレベル) | ✅ |
server.json | packages[0].version | ✅ |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。