mcpField
V
Verified Repo Memory

Verified Repo Memory

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

Verified Repo Memory について

Verified Repo Memory は、コーディングエージェント向けにリポジトリ単位で事実をコード引用付きで保存するローカル MCP サーバーです。返却前に引用を検証し、ソースが変更・削除された記録は除外します。

主な機能

  1. 01リポジトリ単位の記録保存
  2. 02ファイルと行範囲の引用
  3. 03引用の即時検証
  4. 04TTLによる期限切れと延長
  5. 05シークレット検出とパス制限

活用シーン

  1. 01コーディングセッション間で規約を保持
  2. 02現在のソースコードで記録を確認
  3. 03古い記録や不要な記録を整理

MCP 対応

MCP クライアントに、リポジトリ記録の保存、検索、取得、一覧表示、削除ツールを提供します。取得時にローカルファイルで引用を検証し、有効な記録だけを返します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cognitivemyriad-verified-repo-memory": {
"command": "npx",
"args": [
"-y",
"@cognitivemyriad/vrm-local"
],
"env": {
"VRM_TTL_DAYS": "<VRM_TTL_DAYS>",
"VRM_DATA_DIR": "<VRM_DATA_DIR>",
"VRM_MAX_FILE_BYTES": "<VRM_MAX_FILE_BYTES>",
"VRM_SECRET_SCAN": "<VRM_SECRET_SCAN>"
}
}
}
}
起動コマンドnpx -y @cognitivemyriad/vrm-local
設定が必要な環境変数
VRM_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@cognitivemyriad/vrm-local0.1.2

ツール

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

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

詳細

検証済みリポジトリメモリのバナー

Verified Repo Memory MCP v0.1.2

CI TypeScript License: MIT

引用+ジャストインタイム検証+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]
  1. 引用: すべての事実はファイルパスと行範囲に紐付けられています。該当するコードスニペットはハッシュ化して保存されます。
  2. JIT 検証: vrm_retrieve でエージェントにメモリを返す前に、サーバーは実ファイルを確認します。スニペットの位置が移動している場合は、引用の位置を特定し直します。変更または削除されている場合、メモリは STALE/MISSING としてマークされ、結果から除外されます。
  3. 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 パッケージの存在を検証します。

前提条件
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.jsonversion✅
server.jsonversion(トップレベル)✅
server.jsonpackages[0].version✅

コメント

MCP は初めてですか?

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

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