harness-mcp-scan について
harness-mcp-scanは、宣言されたMCPサーバーとツールを静的に検査し、ポリシー、権限、依存関係の問題を見つけるスキルです。リポジトリの保守担当者やCI向けで、ツールを実行せず、JSONまたはMarkdownで結果を出力します。
主な機能
- 01宣言済みMCPサーバーとツールの列挙
- 02ポリシー、権限、依存関係の問題検出
- 03設定可能な重大度での失敗判定
- 04JSONまたはMarkdownでの出力
- 05harness未使用時のグレースフルな縮退
活用シーン
- 01CIでのMCP設定検査
- 02JSON成果物としての検出結果レビュー
- 03harnessがローカルにある環境でのスキャン実行
MCP 対応
宣言されたMCPサーバーとツールを静的に検査します。ツールの呼び出しや実行は行いません。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill harness-mcp-scanインストール後、Claude Code で/harness-mcp-scanを入力して読み込まれたか確認します。
詳細
すべての宣言済み MCP サーバーとツールを列挙し、ポリシー/権限/依存関係の問題を検出するために harness mcp-scan を呼び出します。ツールは一切実行せず、純粋な静的解析を行います。
アルゴリズム
- 固定された
harnessバイナリ(metaharness@~0.4.1。ローカルインストール、または一度だけ作成される~/.ruflo/metaharness-cache-<pin>キャッシュから解決し、@latestは使用しません)を呼び出します:harness mcp-scan <path> --json。 { severity, id, server, tool, message }を含むfindings[]を解析します。--fail-on <severity>:指定レベル以上の検出結果がある場合は、終了コード 1 で終了します。デフォルトはhighです。- JSON(デフォルト)または Markdown テーブルを出力します。
重大度ランク
| 重大度 | ランク |
|---|---|
| low | 1 |
| medium | 2 |
| high | 3 |
--fail-on high(デフォルト)は HIGH の場合のみ失敗します。--fail-on medium は MEDIUM でも失敗し、--fail-on low は検出結果があれば失敗します。
CI との統合
- name: MCP static scan
run: node plugins/ruflo-metaharness/scripts/mcp-scan.mjs --fail-on high
CI が監視するのは終了コードのみです。JSON 出力は、人によるレビュー用のアーティファクトとして保存されます。
グレースフルデグラデーション
harness バイナリを利用できない場合(ネットワークなし、レジストリへのアクセスがブロックされている場合)、構造化データ { degraded: true, reason: 'metaharness-not-available' } を出力して、終了コード 0 で終了します。Ruflo はそのまま動作を継続します。これは ADR-150 によるアーキテクチャ上の制約です。
コメント
Markdown 対応