mcpField
A
agentsnap

agentsnap

ローカル
github.com開発ツール020 週間前に更新

agentsnap について

agentsnap-mcpは、AIエージェントのツール呼び出しトレースを調べ、テストするMCPサーバーです。開発者はトレースの正規化や実行結果の比較、保存済みスナップショットの検証を行い、変更やリグレッションを検出できます。

主な機能

  1. 01トレースの正規化とフィンガープリント生成
  2. 02基準トレースと実行結果の差分比較
  3. 03変更とリグレッションの分類
  4. 04トレーススキーマに沿ったスナップショット検証
  5. 05比較対象から指定パスを除外

活用シーン

  1. 01リリース間のエージェントトレース確認
  2. 02ツール呼び出しや出力の変更検出
  3. 03保存済みトレーススナップショットの検証
  4. 04リグレッション確認で変動しやすい項目を除外

MCP 対応

MCPサーバーは、Claude Desktop、Cursor、Cline、Windsurf、ZedなどのMCPクライアントに、トレースの正規化、差分比較、検証ツールを提供します。

設定

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

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

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

パッケージ
npm@mukundakatta/agentsnap-mcp0.1.0

ツール

3

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

パラメーター型必須説明
inputstringいいえtrace.input に埋め込む任意の入力文字列。
modelstringいいえtrace.model に埋め込む任意のモデル識別子。
traceanyはいツール呼び出しエントリの配列(各項目は {name, args, result?, error?})、または tools[] フィールドを持つ部分的な Trace オブジェクト。
outputstringいいえtrace.output に埋め込む任意の出力文字列。

詳細

agentsnap-mcp

npm tests mcp

AI アシスタントがエージェントのツール呼び出しトレースを 検査、正規化、差分比較、検証できるようにする MCP サーバーです。

@mukundakatta/agentsnap を基盤に構築されています。 Claude Desktop、Cursor、Cline、Windsurf、Zed、およびその他すべての MCP クライアントで動作します。

公開されるツール

normalize_trace

生のツール呼び出しトレースを標準的な agentsnap Trace 形式に 変換し、決定論的な SHA-256 フィンガープリントハッシュを計算します。実行結果の 手軽な比較や、後続の差分比較ツールへの入力に使用します。

{
  "trace": [
    { "name": "search", "args": { "q": "cats" } },
    { "name": "fetch",  "args": "https://example.com" }
  ],
  "input": "find cats",
  "model": "claude-opus-4-7"
}

→

{
  "normalized": {
    "version": 1,
    "model": "claude-opus-4-7",
    "input": "find cats",
    "output": null,
    "tools": [
      { "name": "search", "args": { "q": "cats" } },
      { "name": "fetch",  "args": "https://example.com" }
    ],
    "error": null,
    "fingerprint": { "node": "v22.0.0", "agentsnap": "0.1.0" }
  },
  "hash": "sha256:..."
}
diff_traces

ベースラインのトレースと現在の実行結果を差分比較します。一貫した 追加/削除/変更の形式と、agentsnap のステータスコード (PASSED、OUTPUT_DRIFT、TOOLS_REORDERED、TOOLS_CHANGED、REGRESSION)を返します。 分類の前にノイズの多いフィールドを無視するには、ignore_paths を使用します。

{
  "baseline": { "version": 1, "tools": [{ "name": "search", "args": { "q": "cats" }, "result_hash": "sha256:aaa" }], "error": null, "fingerprint": {...} },
  "current":  { "version": 1, "tools": [{ "name": "search", "args": { "q": "cats" }, "result_hash": "sha256:bbb" }], "error": null, "fingerprint": {...} },
  "ignore_paths": ["tools[].result_hash"]
}

→ { "same": true, "status": "PASSED", "additions": [], "removals": [], "changes": [] }

validate_snapshot

スナップショットが agentsnap Trace スキーマに準拠しているかをチェックします。必須 フィールド、ツールエントリーの形式を検証し、対処可能な問題を提示します。成功時は valid=true を返し、失敗時は人が読める問題の一覧を返します。

インストール

Claude Desktop

claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "agentsnap": {
      "command": "npx",
      "args": ["-y", "@mukundakatta/agentsnap-mcp"]
    }
  }
}
Cursor / Cline / Windsurf / Zed

クライアントに応じた mcp.json に、同じ形式で追加します。ほとんどのクライアントは npx -y @mukundakatta/agentsnap-mcp を通じて自動検出します。

ローカルインストール
npm install -g @mukundakatta/agentsnap-mcp
mcp-agentsnap        # listens on stdio

なぜ重要なのか

ツールを呼び出すエージェントでは、気付かないうちに挙動が変化します。ツールの引数の形式が変わる、 非決定的な結果によって後続の分岐が切り替わる、リリース間に余分なツールが紛れ込むなど、 こうした変化はどれもユニットテストには現れません。agentsnap はトレースを記録し、 この MCP サーバーを使えばアシスタントがトレースを直接検査して推論できます。モデルの ツール使用インターフェースから、トレースの正規化、2 つのトレースの差分比較、保存済みスナップショットの検証を行えます。

ライセンス

MIT。

コメント

MCP は初めてですか?

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

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