mcpField
M
mcp slim guard

mcp slim guard

ローカル
gh.l-web.comセキュリティ18211 週間前に更新

mcp slim guard について

MCP Slim Guard は、ホストと認可済みのアップストリームツールの間に入る軽量な MCP セキュリティプロキシです。アップストリームを呼び出す前に元のスキーマで引数を検証し、大きな結果も再実行せずに正確に復元できます。アルファ版であり、ツールへのアクセス範囲を制限したいチーム向けです。

主な機能

  1. 01Native、Compact、Extreme の3つのホストモード
  2. 02許可・拒否ルールによるツール認可
  3. 03元のスキーマに基づく引数検証
  4. 04result_ref による結果の正確な復元
  5. 05認可済みカタログに限定した検索

活用シーン

  1. 01Claude Code や Codex に対するMCP ツールアクセスの制限
  2. 02特権ツール呼び出し前の引数検証
  3. 03再実行せずに大きなツール結果を分割して読み取り

MCP 対応

認可されたアップストリームツールを MCP クライアントに公開する MCP サーバーとして動作し、結果を読み取るための read_result ツールも提供します。

設定

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

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

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

パッケージ
npmmcp-slim-guard0.1.1-alpha.1

ツール

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

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

詳細

MCP Slim Guard

MCP Slim Guard は、ホストが認可済みの上流ツールにアクセスするための明確な方法を 1 つ提供します。入力スキーマをそのまま保ち、上流を呼び出す前に呼び出しを検証し、上流を再度呼び出すことなく、大きすぎる結果を正確に復元できます。

モードを選択する

モードホストに表示される内容最適な用途
Native認可済みの元のツール名と完全なスキーマ、および read_resultCodex を含む、標準的な MCP カタログを適切に扱えるホスト
Compactfind_tool、call_tool、read_result。検索結果には、一致したツールそれぞれの完全な元のスキーマが含まれます小規模で予測しやすいホスト向けインターフェース
ExtremeCompact と同じツールインターフェースとスキーマ。十分に大きな結果に限り、復元可能な短い初回配信を行います初回結果を小さくする価値がある、コンテキストに応じて動作するホスト

start のデフォルトは Compact です。Codex のデフォルトのインストールプランは Native です。Claude Code のデフォルトは Compact です。Claude Code では Compact と Extreme のインストールプランをサポートしており、Native はサポートしていません。

すべてのモードで、同じ許可/拒否認可が適用されます。Compact と Extreme では、検索結果は最大 3 件で、それぞれに元の必須フィールド、列挙値、ネストされたスキーマが含まれます。上流サーバーに接続する前に、呼び出しは元のスキーマに照らして検証されます。

find_tool は、不明なフィールドや 256 Unicode コードポイントを超えるクエリをローカルで拒否します。検索対象は現在認可されているカタログのみで、認可されていないエントリにはフォールバックしません。

クイックスタート

0.1.1-alpha.2 はソース候補で、まだ npm に公開されていません。この候補をレビュー済みのチェックアウトから実行します。

npm ci
npm run build
npm link
cd /path/to/project-with-mcp-config
mcp-slim-guard init
mcp-slim-guard validate

# Run the default Compact mode.
mcp-slim-guard start

init は、バージョン 2 の mcp-slim-guard.yml を書き込みます。このファイルには上流とセキュリティの設定のみが含まれます。モードは YAML ではなく、ホストコマンドで選択してください。

# Inspect a host-specific plan without changing host files.
mcp-slim-guard plan --host codex
mcp-slim-guard plan --host claude-code --mode extreme

# Verify the configured runtime without changing Host configuration or calling a business Tool.
mcp-slim-guard verify --host codex

# Apply a reviewed plan.
mcp-slim-guard install --host codex --mode native

ホストのエントリ

Codex で標準的な認可済み MCP カタログを使う場合は、Native を使用してください。

[mcp_servers.slim_guard]
command = "mcp-slim-guard"
args = ["start", "--mode", "native"]
cwd = "/absolute/path/to/project"

Claude Code では、デフォルトで Compact を使用してください。

{
  "mcpServers": {
    "slim-guard": {
      "command": "mcp-slim-guard",
      "args": ["start", "--mode", "compact"],
      "cwd": "/absolute/path/to/project"
    }
  }
}

詳しい設定手順と検証手順については、ホストのセットアップを参照してください。

設定

version: 2
tools:
  allow:
    - "upstream_*"
  deny:
    - "*_delete_*"
ssrf:
  mode: block
  block_private_ips: true
  allow_domains: []
  block_domains: []
rate_limit:
  default: "60/min"
injection_detection:
  enabled: true
  sensitivity: medium
  mode: block
audit:
  output: file
  filePath: mcp-slim-guard-audit.log
servers:
  upstream:
    command: npx
    args: ["-y", "@your/mcp-server"]

バージョン 1 の設定は意図的にサポートしていません。削除された compressor セクションは、自動的に移行するのではなく、拒否されます。

無効な呼び出しを修正する

引数が認可済みツールの元のスキーマと一致しない場合、Slim Guard は、スキーマエラーを特定し、上流ツールが呼び出されていないことを確認する structuredContent を含む、通常の MCP ツールエラーを返します。引数を修正して再試行してください。送信された引数の値がエラーに含まれることはありません。

結果の復元

応答を復元可能な形で配信する必要がある場合、最初の応答には result_ref が含まれます。query を指定して read_result を使用すると、最大 3 件のサイズ制限付きローカルフラグメントを検索できます。または、query を省略し、next_cursor に従って正確なスナップショットを復元できます。どちらの方法でも同じ不変のキャプチャを使用し、上流ツールを再度呼び出すことはありません。query と cursor は併用しないでください。Native と Compact では標準の配信境界を使用します。Extreme では、初回に配信される応答が正確な応答のサイズの半分以上である場合に限り、より小さな境界を使用します。それ以外の場合は、正確な応答をそのまま通過させます。

エビデンスとチェック

このリポジトリには、24 タスクのモード比較、結果復元のフィクスチャ、100 ツール/8,000 行のストレスフィクスチャが含まれています。現在のアーティファクトを次のコマンドで実行してください。

npm run build
npm run bench:task
npm run bench:compression
npm run bench:stress
npm run bench:compression:verify

各レポートはモードごとに異なり、ローカルで生成されます。以前のアルファ版ベンチマークの数値を、この製品ラインの主張として扱わないでください。

開発

npm run build
npm run typecheck
npm run lint
npm test
npm run verify:package-boundary
npm run smoke:package

このプロジェクトはアルファ版です。権限が必要なツールで使用する前に、認可パターンとアップストリームの設定を確認してください。

コメント

MCP は初めてですか?

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

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