mcpField
S
Semantic Cache MCP

Semantic Cache MCP

ローカル
github.com/CoderDayton開発ツール35 日前に更新

Semantic Cache MCP について

Semantic Cache MCPは、コーディングエージェント向けのローカルファイルキャッシュです。再読込時に未変更の状態や差分を返し、MCP経由の検索・編集ツールも提供します。データはSQLiteに保存されます。

主な機能

  1. 01ハッシュによる再読込判定
  2. 02変更行の差分返却
  3. 03grep、BM25検索、glob
  4. 04dry_run対応のアトミック編集
  5. 05トークン予算付き一括読込

活用シーン

  1. 01未変更ファイルの再送信回避
  2. 02読込後に変わった行だけ確認
  3. 03コーディングエージェントから検索・編集

MCP 対応

MCPサーバーとして動作し、MCPクライアントにファイルの読込、検索、編集ツールを提供します。同じマシン上のクライアントはローカルの共有デーモンを利用できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"coderdayton-semantic-cache": {
"command": "uvx",
"args": [
"semantic-cache-mcp"
]
}
}
}
起動コマンドuvx semantic-cache-mcp

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

パッケージ
pypisemantic-cache-mcp0.7.0

ツール

14

掲載時のツール一覧 · 5 日前に更新

パラメーター型必須説明
pathstringはいファイルパス(絶対パス、またはプロジェクトルートからの相対パス)。プロジェクトルート外のファイルには、 絶対パスを使用してください。
limitanyいいえ`offset` から返す行数。
offsetanyいいえ範囲読み取りの開始行(1 始まり)。省略するか 0 を渡すと、 先頭行から開始します。
outlinebooleanいいえファイルのテキストではなく、定義とその行番号を返します。`offset`/`limit` と併用できません。
max_sizeintegerいいえこのバイト数のしきい値を超えると、テキストではなくファイルのマップを返します。`offset`/`limit` で対象行を正確に読み取ってください。
known_hashanyいいえこのファイルを最後に読み取った際の `content_hash`、または範囲読み取りで最後に取得した `coverage_token`。これを返すと、内容を再送せずに `"unchanged"` を取得できます。初回の読み取り時、または保証対象の内容を保持していない場合にのみ省略してください。
line_numbersbooleanいいえ範囲読み取りの各行に行番号を付けます。トークン消費量が約 17% 増えます。範囲はどちらの場合も `lines` に返されます。`offset` または `limit` が必要です。

詳細

Semantic Cache MCP のロゴ

Semantic Cache MCP

同じファイルに二度も料金を払うのはやめましょう。
AI コーディングエージェント向けの MCP ファイルキャッシュです。再読み込みに必要なのは、ファイル全体ではなく約 40 トークンです。

PyPI のバージョン PyPI のダウンロード数 Python 3.12 以上 ライセンス:MIT

Glama 上の Semantic Cache MCP   Ko-fi で支援


コーディングエージェントは、編集の前後やコンテキストの圧縮後など、同じファイルを何度も読み込みます。組み込みの Read は、そのたびにファイル全体を送信します。Semantic Cache MCP は、エージェントがすでに保持している内容を把握します。7,891 トークンのファイル 1 つで測定した結果は次のとおりです。

読み込み組み込みの ReadSemantic Cache MCP
初回の読み込み7,891 トークンファイル全体とハッシュ
再読み込み(ファイルに変更なし)7,891 トークン77 トークン
1 行編集後の再読み込み7,891 トークン137 トークン(差分)

48 ファイルのプロジェクト全体では、再読み込みのトークンを 98.7% 削減でき、変更のないファイルの読み込みは 0.17 ms で完了します。また、キャッシュに対する grep、BM25 検索、glob、dry_run によるアトミック編集、トークン予算に基づく一括読み込みもエージェントに提供します。実行時依存関係は 3 つで、API キーも GPU も不要です。

クイックスタート

uv が必要です。Claude Code では次のようにします。

claude mcp add semantic-cache --scope user -- uvx semantic-cache-mcp

その他のクライアント(Cursor、Claude Desktop など、mcpServers JSON に対応するもの)では次のようにします。

{
  "mcpServers": {
    "semantic-cache": {
      "command": "uvx",
      "args": ["semantic-cache-mcp"]
    }
  }
}

VS Code、Codex、OpenCode 用の設定、およびエージェントがキャッシュを使うように組み込みファイルツールを無効にする方法については、docs/clients.md をご覧ください。

仕組み

サーバーが送信する各ファイルには content_hash が付与されます。エージェントは次回の読み込み時に、それを known_hash として渡します。

flowchart LR
    R["read(path, known_hash)"] --> M{"hash matches<br/>the file now?"}
    M -- yes --> U["unchanged<br/>~40 tokens"]
    M -- "no, older version" --> D["diff of changed lines"]
    M -- "no hash" --> F["full file + content_hash"]
  • 古い内容は返しません。 読み込みのたびに、まずディスク上のファイルを確認します。ハッシュが現在のバイト列と一致する場合に限り、unchanged を返します。
  • 忘れても安全です。 コンテキスト圧縮後、エージェントがハッシュなしで読み込めば、ファイル全体が返されます。
  • 大きなファイルはマップになります。 max_size を超えるファイルでは、無作為に切り取るのではなく、定義の概要が返されます。
  • すべてローカルに保たれます。 キャッシュは SQLite ファイルです。マシン上のすべてのクライアントに、1 つのバックグラウンドデーモンがサービスを提供します。

ツール

read · batch_read · read_image · write · edit · batch_edit · edit_preview · delete · warm · grep · search · glob · stats · clear

パラメーターと例については、docs/tools.md をご覧ください。

FAQ

検索は埋め込みの意味で「セマンティック」なのですか? いいえ。search は BM25 によるキーワードランキングで、grep は完全一致検索です。ダウンロードするモデルも、GPU も、API キーも必要ありません。

コードはどこかに送信されますか? いいえ。ネットワークリクエストは、o200k トークナイザーのファイルを一度だけダウンロードするものだけで、SHA-256 ハッシュで検証します。

Windows でも動作しますか? はい。CI は Linux と macOS で実行されます。

ドキュメント

ガイド内容
クライアント各クライアントのセットアップ、組み込みファイルツールの無効化
ツールすべてのツール、パラメーターと使用例
環境変数すべての設定とデフォルト値
パフォーマンスベンチマークと手法
アーキテクチャストレージ、アルゴリズム、共有デーモン
セキュリティ脅威モデル、サイズ制限、パスの処理
トラブルシューティングよくある問題、デバッグログ
高度な使い方Python API

コントリビューション

git clone https://github.com/CoderDayton/semantic-cache-mcp.git
cd semantic-cache-mcp
uv sync --extra dev
uv run pytest

CONTRIBUTING.mdをご覧ください。Issueやプルリクエストを歓迎します。

ライセンス

MIT。

コメント

MCP は初めてですか?

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

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