Skip to main content
Glama

K-Guard MCP

先輩メガネ · バイブコーディング先輩

作る流れは途切れさせず、出荷はいい加減に流しません。

K-Guard MCPは、バイブコーディングの成果物を出荷する前にサイト、API露出、データ管理、運用リスクを一緒に検収するローカル優先のMCP監査役です。Guardianは問題がないものとまだ見ていないものを区別し、出荷可能 / 直して出荷 / 検収範囲不足の判定と次の行動を韓国語で返します。

K-Guardは人間の事業判断や法務レビューの代わりになる保証書ではありません。シニア開発者が出荷前に問う質問とfail-closedゲートを自動化します。

5分インストール · インストール・デザイン検証 · 使用ガイド · GitHub公開案内 · 必須qualification · 製品ノーススター · 全体ドッグフード判定 · 2026大会出品準備

最初の5分: 現在のソースチェックアウト

まだ公開パッケージインデックス配布を前提にしていません。初回実行時はリポジトリルートで現在のソースをインストールし、先輩メガネが示す次の行動に従います。

python -m pip install .
k-guard install --client auto --profile local-dev --workspace .
k-guard doctor --client auto

autoはインストール済みのGrok、Codex、Antigravityを探してユーザー範囲にk-guard MCPをマージし、OpenAI tunnel-clientがあればChatGPT用のローカルprofileを準備します。--workspace .は今のプロジェクトをprivate bindingとして固定します。以後MCPが別のworking directoryから起動されてもこのプロジェクトを検査し、境界外パスはhigh HOLDで拒否します。ChatGPT doctor/runにはTunnels Read + Use権限のCONTROL_PLANE_API_KEYも現在のシェルに必要です。ChatGPTはその後にtunnel-client runと開発者モードアプリ接続が残るため、インストーラーは成功と偽装せず部分接続 · 次のステップ必要を返します。既存設定は保存し、JSON変更前にはバックアップを作成し、オペレーターevidence keyとworkspace原文は~/.k-guardのユーザー専用ファイルにのみ保存します。local-devはlocalhost read-only probeと小さな固定深化パスのみ有効にし、外部・セッションprobeは引き続きオフにします。静的検査のみ必要な場合は--profile workspaceを使用します。

インストールと診断の基本出力は接続準備 → AIクライアント → 次の行動の3段階です。自動化はinstall --json、doctor --jsonを使用します。公募審査・リリース再現とコード修正は5分インストールの審査・再現検証パスを使用してbuild・evidence lockを--require-hashesでインストールします。Semgrep 1.174.0とpip-audit 2.10.1もそれぞれrequirements-semgrep.lock、requirements-pip-audit.lockの全hash closureを隔離venvにインストールし、監査対象ランタイムを変形しません。

MCPクライアントで:

안경선배로 이 앱을 끝까지 봐줘. check_my_app으로 전체 검수를 시작하고,
continue_review를 state=completed 또는 failed가 될 때까지 반복해줘.
완료 전에는 통과라고 말하지 마. 코드를 고쳤다면 check_my_app을 다시 완료해줘.
출하 전에는 실제 사업 목적과 범위를 확인한 뒤 최신 review_id로
start_review_before_ship을 실행하고 다시 continue_review로 Guardian 완료까지 기다려줘.
experience.presentation 순서대로 판정, 이유, 다음 행동 3개만 먼저 말해줘.

check_my_appは5秒で適当に終わらせる検査ではなく、ワークスペース全体の監査を受け付けるツールです。最初の応答はreview_in_progressであり、continue_reviewが完了するまで出荷判断を下しません。dist、build、.nextの配布用テキスト成果物も検査し、候補数・パスSHA-256・読み取り完了が一致しない場合はhighでブロックします。完了結果はworkspaceとsource tree SHA-256に結び付けられたreview_receiptを生成します。コードが変わると以前のreview_idで出荷検収を開始できず、check_my_appを再度完了する必要があります。

Related MCP server: VibeGuard MCP Server

先輩メガネ判定

コード

意味

次の行動

ship

設定した範囲とhigh基準で出荷可能

同じコミットのレポートと証拠を保管

hold_fix

blocking finding存在

suggest_fix後、同じゲートを再実行

hold_coverage

動的検査・フロー・目的・範囲の証拠不足

不足している検収領域から埋める

hold_authority

単一アプリ結着・オペレーター署名の証拠不足

同じapp_idとK_GUARD_EVIDENCE_HMAC_KEYで再実行

hold_qualification

アプリリスクとは別に監査ツールのdeep・SCA・runtime・DB・field資格の証拠不足

application_assuranceとauditor_qualificationを分離して確認

review_only

レビュー用レポートのみ生成

fail_on=highで出荷判定を実行

すべての代表結果はexperience.presentationと互換aliasであるexperience.details.presentationを併せて提供し、順序はverdict → why → next_actions → detailsに固定されます。Guardianはアプリリスクをapplication_assurance、監査ツール自体の検証状態をauditor_qualificationとして別々に表示します。experience.verdict_code、experience.verdict_message、experience.summaryは既存レポート互換フィールドです。

何を見るか

K-Guard combines:

  • Static scan: Korean PII、複合PII、韓国組織識別子(사업자등록번호 checksum構文検証、법인등록번호 historical Annex checksumまたはpost-2025-01-31 4+2+7 explicit-context/syntax認識。ライブレジストリ検証ではない)、secrets

  • Config scan: CORS/debug/source map/env prefixリスク

  • Senior app-risk scan: direct request-to-SQL/command/file/URL/HTML sinks、mass assignment、open redirect、browser token storage、weak cookies、plaintext password comparison、JWT decode-without-verify

  • Korean data-governance scan: unique/sensitiveフィールド宣言、暗号化・アクセス制御の証拠、アクセスログ、外部処理者レビュー、保持、消去

  • MCP-native threat scan: hidden instructions、tool poisoning、exfiltration intent、overbroad local accessをdirect textに加え、bounded Unicode/confusable、escaped/percent/HTML、Base64、split-fragment、3行ローリング正規化で検出

  • Structured MCP config review: shell wrappers、mutable package launchers、plain remote HTTP、fixed credentials、unsafe links/read failures、fail-closed discovery boundsをproject/Codex/Grok/Antigravity config候補全体で確認

  • YARA-lite local rule pack: prompt-injectionマーカー、exfilコマンドマーカー、韓国一括スキーマヒント

  • Safe dynamic probe: localhost HTTPチェック、明示的に許可された外部オリジンチェック、任意のbounded deep exposureチェック、任意のユーザー提供read-onlyセッションヘッダー

  • Data Flow Risk Map: heuristic graphに加え、Python ASTと軽量JS/TS source -> sink taint分析。unique-import Pythonヘルパーのparameter-to-sink要約と限定JS/TS route-to-service IDOR要約を含む

  • MCP runtime observer/interceptor: JSON/JSONLとstream-readyイベントチェックでhidden instruction、PII-to-agentic/external sinkフロー、転送イベントストリームのbatch block/redact強制

  • Semgrep deep adapter: offline 40-rule profile、正確なスキャン対象証明、pinned 1.174.0 identity、ソーススナップショット結着、fail-closed JS/TS/Python/Java/Kotlin/Go/PHP/Ruby/C# findings

  • Nine-language validation pack: Python/JavaScript/TypeScript/Java/Kotlin/Go/PHP/Ruby/C# 90件のpinned vulnerable/cleanケース、TP/FN/FP/TNスコアリング、正確な2回実行フィンガープリント再現

  • Software composition analysis: bounded Python/npm/Go manifestとlockカバレッジをpip-audit、npm audit、govulncheckで実施。部分的なengine、lock、output、source-drift失敗はリリースをブロック

  • Streamable HTTP MCP proxy: POST/GET SSE/DELETE完全仲介、principal-bound lifecycle、default-deny JIT/JEA grants、フィルタリングされたtool inventory、bounded streams、HMAC-chained raw-free監査ログ

  • Database controls: SQLGlot AST allowlist、role/database/schema/table/column RBAC、EXPLAIN-before-read、SQLite query-only authorizer、path containment、row/cell/result/time予算

  • Read-only connectors: ローカルSQLite、log、JSON/CSV/TSVストレージサンプリングをraw値保存なしで実施。コネクタギャップはhigh findingになる

  • Retention/deletion review: 個人データシグナル存在時に保持・削除マーカーの欠落をフラグ

  • Cross-plane verdicts: Korean PII findingsとLLM/MCP/external/data-at-rest sink証拠を相関

  • FP/FN scoreboard: fixture corpus再現率とfalse-positive率。FPRはmeasurable_negative_countを分母として使用(clean negativesでexpected_absentなし)。negative_countは宣言された全negatives、targeted_absence_case_countはFPR分母に入らない選択ルールabsenceをカバー。ゼロmeasurable-negative分母はFPR 0.0として報告

  • SARIF/CI output: 設定された重大度でビルドを失敗させる

  • korean_senior Guardian profile: サイトセキュリティ、API露出、データ管理、運用リスクの4ドメインfail-closed契約

  • Primary MCP tools: check_my_app、continue_review、start_review_before_ship。内部標準エンジン: Guardian high。ガイド付きプロンプト: guided_review

  • Advanced MCP tools: scan_workspace、deep_analyzer_audit、validate_multilang_pack、software_composition_audit、validate_policy_controls、validate_streamable_http_runtime、scan_text、scan_diff、scan_mcp_config、probe_http、build_flow_map、observe_mcp_events、enforce_mcp_events、observe_mcp_event、score_fixture_corpus、data_release_gate、create_field_campaign_template、field_campaign_status、create_guardian_manifest_template、guardian_audit、explain_rule、suggest_fix、security_gate

インストール境界

release workflowが作成した正確なwheelとともに配布されるrequirements-evidence.lockを受け取ったユーザーは、リポジトリなしで以下のように監査済みdependency closureを再現できます。k-guard、k-guard-dashboard、k-guard-mcp、python -m k_guard_mcp.cli、python -m k_guard_mcp.serverはインストールされたwheelのコマンドです。

releaseにはSHA256SUMS、GitHub OIDCで署名されたSLSA provenance bundle、CycloneDX SBOM attestation bundleも含まれます。オンラインではgh attestation verify ./k_guard_mcp-0.1.0-py3-none-any.whl -R windmillstudio/k-guard-mcpでビルド主体とdigestを確認してからインストールします。checksumが一致するだけでattestationが検証されない場合は、公式release artifactとして扱いません。

python -m pip install --require-hashes -r ./requirements-evidence.lock
python -m pip install --no-deps ./k_guard_mcp-0.1.0-py3-none-any.whl
k-guard --help
k-guard install --client auto --profile local-dev --workspace .
k-guard doctor --client auto

Windowsアプリケーション制御ポリシーがpipのk-guard.exeコンソールランチャーをブロックする管理PCでは、同じwheelのモジュールエントリポイントを使用します。機能と判定契約は同じです。

python -m k_guard_mcp.cli --help
python -m k_guard_mcp.cli install --client auto --profile local-dev --workspace .
python -m k_guard_mcp.cli doctor --client auto

wheelのみインストールするとランタイムコマンドのみ提供されます。release sdistとリポジトリチェックアウトにはscripts/...、tests/fixtures/...、検証テンプレートが含まれます。開発環境はリポジトリルートで2つのlockを--require-hashesでインストールした後、python -m pip install --no-build-isolation --no-deps -e .で準備します。evidence lockはリリースdependency closureのバージョンと許可SHA-256を一緒に固定し、ライセンス・脆弱性・SBOM・fresh-wheel smokeが同じファイルを使用します。

先輩メガネ検収室

権限のあるサイトを画面で確認するには、ローカルダッシュボードを実行します。

k-guard-dashboard --port 8765

ブラウザでhttp://127.0.0.1:8765/を開きます。画面は先輩判定 → 発見 → 検査ログ → 露出マップの順序で、最終出荷権限は画面ではなくMCPのstart_review_before_shipにのみあります。ブランド画像はプロジェクト用に生成したオリジナル資産であり、provenanceはdocs/brand-assets.mdに記録します。

インストール済みwheel CLI

以下のコマンドのうちtests/fixtures/korean_fixture_corpus.jsonはソースチェックアウトからすぐ実行できる公開サンプルcorpusです。wheelのみインストールしたユーザーは同じスキーマの自前fixtureパスに置き換えます。

python -m k_guard_mcp.cli scan .
python -m k_guard_mcp.cli scan . --json report.json --markdown report.md
python -m k_guard_mcp.cli scan . --sarif k-guard.sarif --fail-on high
python -m k_guard_mcp.cli probe http://localhost:3000
python -m k_guard_mcp.cli probe http://localhost:3000 --deep-active
python -m k_guard_mcp.cli probe http://localhost:3000 --session-file session.headers.json --json
python -m k_guard_mcp.cli probe https://staging.example.com --allow-external --authorization-note "owned staging domain" --json
python -m k_guard_mcp.cli flow . --svg flow.svg --html flow.html
python -m k_guard_mcp.cli observe-mcp --events mcp-events.jsonl --json
python -m k_guard_mcp.cli mcp-proxy --report mcp-proxy-report.json --response-timeout 30 -- python -m your_upstream_mcp_server
python -m k_guard_mcp.cli mcp-http-proxy --upstream http://127.0.0.1:9000/mcp --port 8765 --report mcp-http-proxy.json --receipt-log mcp-http-proxy.receipts.jsonl
python -m k_guard_mcp.cli deep-analyze . --output deep-analyzer.json
python -m k_guard_mcp.cli language-validate --output language-validation.json
python -m k_guard_mcp.cli sca . --output sca.json
python -m k_guard_mcp.cli control-validate --output control-validation.json
python -m k_guard_mcp.cli runtime-validate --output runtime-validation.json
python -m k_guard_mcp.cli access-policy-template --output access-policy.json
python -m k_guard_mcp.cli agent-grant --policy access-policy.json --output agent.jwt --app-id APP --session-id SESSION --purpose RELEASE_REVIEW --subject AGENT --role release-reviewer --method tools/list --method tools/call --tool check_my_app --tool start_review_before_ship
python -m k_guard_mcp.cli score-corpus --corpus tests/fixtures/korean_fixture_corpus.json --output fixture-metrics.json --json
python -m k_guard_mcp.cli benchmark-template --output benchmarks/field-benchmark-template.csv
python -m k_guard_mcp.cli benchmark --manifest benchmarks/field-benchmark-template.csv --output field-benchmark.json --markdown field-benchmark.md --html field-benchmark.html
python -m k_guard_mcp.cli guardian-template --output benchmarks/guardian-targets.csv
python -m k_guard_mcp.cli suppression-template --output .k-guard/suppressions.csv
python -m k_guard_mcp.cli field-campaign-template --output benchmarks/field-app-roster.csv
python -m k_guard_mcp.cli field-campaign-status --roster benchmarks/field-app-roster.csv --output field-campaign-status.json
python -m k_guard_mcp.cli field-validation-template --ground-truth-output benchmarks/field-ground-truth.csv --review-output benchmarks/field-review.csv
python -m k_guard_mcp.cli field-validation-sign --ground-truth benchmarks/field-ground-truth.csv
python -m k_guard_mcp.cli field-validation-preregister --roster benchmarks/field-app-roster.csv --ground-truth benchmarks/field-ground-truth.csv --custodian-id split-custodian-a --output benchmarks/field-preregistration.json
python -m k_guard_mcp.cli guardian --manifest benchmarks/guardian-targets.csv --output guardian-report.json --markdown guardian-report.md --html guardian-report.html
python -m k_guard_mcp.cli guardian --manifest benchmarks/guardian-targets.csv --suppressions .k-guard/suppressions.csv --fail-on high --run-probes --run-sca --language-validation-report language-validation.json --mcp-http-proxy-report runtime-validation.json --control-validation-report control-validation.json --field-validation-report field-validation.json --output guardian-gate.json
python -m k_guard_mcp.cli field-validation-queue --guardian-report guardian-gate.json --output benchmarks/field-review.csv
python -m k_guard_mcp.cli field-validation-sign --review benchmarks/field-review.csv
python -m k_guard_mcp.cli field-validation-report --guardian-report guardian-gate.json --repeat-guardian-report guardian-gate-repeat.json --roster benchmarks/field-app-roster.csv --ground-truth benchmarks/field-ground-truth.csv --review benchmarks/field-review.csv --preregistration benchmarks/field-preregistration.json --profile field --output field-validation.json
python -m k_guard_mcp.cli mcp-intercept --events mcp-events.jsonl --forwarded-output forwarded.jsonl --report intercept-report.json --app-id YOUR_APP_ID --session-id RELEASE_SESSION_ID --guardian-report guardian-gate.json --fail-on-block
python -m k_guard_mcp.cli data-release-gate --guardian-report guardian-gate.json --guardian-manifest .k-guard/guardian-targets.csv --validation-source-guardian-report validation-source-guardian.json --validation-repeat-guardian-report validation-source-guardian-repeat.json --validation-report field-validation.json --validation-review benchmarks/field-review.csv --validation-ground-truth benchmarks/field-ground-truth.csv --validation-preregistration benchmarks/field-preregistration.json --validation-roster benchmarks/field-app-roster.csv --korean-fixture-corpus tests/fixtures/korean_fixture_corpus.json --korean-corpus-report fixture-metrics.json --mcp-intercept-report intercept-report.json --mcp-forwarded-output forwarded.jsonl --output data-release-gate.json

session.headers.json is short-lived and bound to one exact origin. Guardian only counts an authenticated comparison as complete when the asserted identity response also matches:

{
  "origin": "http://localhost:3000",
  "expires_at": "2026-07-14T12:30:00+09:00",
  "headers": {"Cookie": "session=<local-test-session>"},
  "identity_assertion": {
    "path": "/api/me",
    "expected_status": 200,
    "expected_body_sha256": "<64 lowercase hex characters>"
  }
}

Keep the file inside the invoked workspace, or beside the Guardian manifest. Files outside that boundary, links, expired sessions, mismatched origins, unsupported headers, and oversized files fail closed. The digest covers the exact bounded response bytes before UTF-8 decoding; raw session values and response bodies are not written to findings.

ソースチェックアウト専用検証

以下のscripts/**とpytestはwheelに含まれるユーザーコマンドではありません。

python -m pytest -q
python scripts/site_scale_calibration.py
python scripts/deep_probe_synthetic_calibration.py --targets 500 --output tmp/deep-probe-synthetic-500.json --markdown tmp/deep-probe-synthetic-500.md --html tmp/deep-probe-synthetic-500.html
python scripts/inner_core_product_gate.py --targets 500 --output tmp/inner-core-product-gate-500.json --markdown tmp/inner-core-product-gate-500.md --html tmp/inner-core-product-gate-500.html
python scripts/mcp_evasion_calibration.py --output evidence/regression/mcp-evasion-normalization.json
python examples/contest-demo/v1/demo.py run
python scripts/contest_readiness.py --output contest-readiness-report.json --markdown contest-readiness-report.md
python scripts/build_top_domain_manifest.py --output datasets/tranco-passive-homepage-10k.csv --limit 10000
python scripts/passive_homepage_calibration.py --targets datasets/tranco-passive-homepage-10k.csv --output reports/passive-homepage-10k-summary.json --checkpoint-jsonl reports/passive-homepage-10k-checkpoint.jsonl --max-targets 10000 --delay-ms 500

全ソース回帰のCoverage gate 90.00%はstatementとbranch opportunityを合わせて計算するbranch-inclusive combined coverageです。branch自体が90%という意味ではなく、precision=2とfail_under=90を使用するため89.90%は失敗します。公開リポジトリCIのpublic_source_only範囲は別途配布証拠・native caseを除外するため、全体88%、redaction.py 85%の閾値を適用し、2つの数値を互いに取り違えて主張しません。

ソースチェックアウトRelease Hygiene

Use the release hygiene check before CTO review or publish prep:

python scripts/release_hygiene.py --json

Default mode validates that a dirty release-candidate worktree is classified, free of visible runtime scratch output, and free of unresolved review-required artifacts. Use --strict-clean after the intended release commit; strict mode also compares every package build input byte with its Git index blob. Tagged publication additionally requires --expected-tag v{project.version}, and that exact tag must resolve to the checked-out HEAD commit. The release workflow waits for the reusable Windows/macOS/Linux CI matrix, creates attestations, and publishes the tag artifacts as a GitHub Release. Details are in docs/release-hygiene.md.

The Guardian Actions template currently installs the exact K-Guard source checkout selected by the workflow commit; it does not assume a PyPI package. Before copying it to another repository, vendor K-Guard at a commit-pinned path and set K_GUARD_SOURCE_PATH. After release artifacts exist, consumers should pin either an exact wheel plus its published SHA-256, or a full 40-character Git commit in a direct-reference requirement. Replace the placeholders only with an actual release location:

k-guard-mcp @ https://<artifact-host>/<exact-wheel>.whl#sha256=<published-sha256>
k-guard-mcp @ git+https://<repository-url>.git@<40-character-commit>

K-Guardの主要ライセンスはMITです。Apache-2.0のアップストリーム帰属、レビュー済みリビジョン、変更ファイルのマッピング、および除外ライセンスの境界は、THIRD_PARTY_NOTICES.mdとdocs/upstream-adoption.mdに記録されています。

MCP

python -m pip install --require-hashes -r requirements-build.lock
python -m pip install --require-hashes -r requirements-evidence.lock
python -m pip install --no-build-isolation --no-deps .
k-guard-mcp

MCP probe_http はデフォルトで無効です。信頼できる監査セッションでのみ有効にしてください:

K_GUARD_MCP_ENABLE_PROBE=1 python -m k_guard_mcp.server

MCPを通じた認証済み読み取り専用プロービングには、K_GUARD_MCP_ENABLE_SESSION_PROBE=1と、短命でオリジンにバインドされたローカルsession_fileも必要です。ヘッダー値はローカルで読み取られ、検出結果には書き込まれません。ヘッダーだけではログインを証明できません。Guardianは、認証済み比較カバレッジが合格する前に、オプションのidentity_assertionが一致することを要求します。

MCPを通じた境界付きディープアクティブプロービングには、K_GUARD_MCP_ENABLE_DEEP_ACTIVE_PROBE=1とprobe_http(..., deep_active=true)も必要です。このモードは、公開されたenv/git/backup/debugパスの小さな固定リストをチェックし、ログイン試行、変更、ファジング、エクスプロイトペイロードを回避します。

MCPを通じた承認済み外部プロービングには、K_GUARD_MCP_ENABLE_EXTERNAL_PROBE=1に加えて、K_GUARD_MCP_EXTERNAL_ALLOWED_HOSTS=example.com,staging.example.comまたはexternal_authorized=trueとauthorization_noteのいずれかが必要です。レポートは、DYN_EXTERNAL_TARGET_AUTHORIZATION_AUDITを使用して承認根拠を記録します。

インストールと接続はChatGPT、Grok、Codex、Antigravityの4つのクライアントに合わせており、詳細な手順はdocs/quickstart-ko.mdとdocs/mcp-client-install.mdにあります。

コンテスト結果報告書と実際の互換性エビデンスを準備する際は、docs/contest-2026-result-report-draft-ko.mdとdocs/client-interop-evidence-kit-ko.mdを使用します。実際の互換完了は、クライアント別のinstall → restart → tool list → check_my_app → reconnect録画、固有SHA-256、別途レビューのすべてがある範囲のみを集計します。

MCP呼び出しは、デフォルトで引数とインラインテキストの予算も強制します:

  • K_GUARD_MCP_MAX_FILES=1000

  • K_GUARD_MCP_MAX_MB=10

  • K_GUARD_MCP_MAX_TEXT_MB=1

  • K_GUARD_MCP_MAX_ARG_CHARS=4096

  • K_GUARD_MCP_GUARDIAN_MAX_TARGETS=100

  • K_GUARD_MCP_GUARDIAN_MAX_REQUESTS=200

Guardian MCP呼び出しは、ターゲット、フィルタリングされたファイル、バイト、および予測HTTPリクエスト予算に対してマニフェスト全体を事前チェックします。ファイル展開は、設定された制限に1つの検出エントリを加えた値に制限されるため、過大なツリーは全体を列挙せずに拒否されます。過大なマルチターゲット作業は、Guardian形式のフェイルクローズレポートを返します。意図的に大きなバッチにはCLIを使用するか、マニフェストを分割してください。動的HTTP検査は、デフォルトでレスポンスごとに最大1 MiBを読み取り、プローブ実行あたり16 MiB、80リクエスト、または30秒でも停止します。

安全デフォルト

  • JSON/Markdown/MCP出力は中央のリダクションレイヤーを通過します

  • SARIF出力も同じリダクションレイヤーを通過し、生データを含まないエビデンスを保存します

  • 動的プローブはデフォルトでlocalhost、127.0.0.1、::1のみを許可します

  • 外部動的プローブは明示的な承認エビデンスとオプトインを必要とし、その後も固定パス、読み取り専用、同一オリジン、リダイレクトなしのままです。各リクエストは許可リストに登録された公開アドレスのみを解決し、元のHTTP Host/TLS SNIを保持しながら選択された検証済みIPに接続します。

  • 動的プローブは許可リストにないホストへのリダイレクトを追跡しません

  • 動的プローブは非破壊的なHTTPメソッドのみを使用します

  • --deep-activeは、一般的な公開.env、.git/config、バックアップ/ダンプ、デバッグ/ランタイムパスに対する境界付きの承認済みチェックです。再帰的クローリング、パスワード推測、エクスプロイトペイロード、またはパスブルートフォース辞書ではありません。

  • 動的プローブはタイムアウトを使用し、サンプリングされたレスポンス本文を制限します

  • 外部シークレットの有効性チェックは実行されません

重大度と信頼度

重大度の値は中央で検証されます:

  • critical: 認証情報/秘密鍵/DB URLの露出、直接的な高リスク識別子、または未認証の機密ルート

  • high: 強く識別する組み合わせ、リスクのあるlocalhost露出、または機密フロー候補

  • medium: 単独の連絡先/場所/設定シグナルおよび強化に関する検出結果

  • low: 弱いヒューリスティックシグナル

  • info: 情報提供のための観察

信頼度の値はhigh、medium、lowです。

データフローと内部コアの制限

フローマップは明示的にEXPERIMENTALであり、heuristic+ast-taint+js-ts-taintとしてマークされ、line-distance+python-intra-procedural-ast+js-ts-intra-file+limited-interprocedural-taintの精度を持ちます。 これは開発者のトリアージ支援ツールです。Python ASTテイントがサポートされ、JS/TSには軽量なファイル内テイント、限定的なルート間サービスサマリー、Next.jsルートハンドラー/サーバーアクション、ExpressのIDOR形状ルートパラメータ、Supabaseのservice-role/RLS境界ヒント、Firebase Adminの認証境界ヒントに対するフレームワーク認識ヒューリスティックが追加されました。完全なTypeScript型チェック、エイリアス完全なインポート解決、ミドルウェアの証明、デプロイ済みRLS/Firebaseルールの証明、完全なプロシージャ間テイントはロードマップ項目のままです。 フロー検出結果には、機密値をエコーせずにエビデンスを再現可能にするため、生データを含まないソース/シンクラインのハッシュが含まれます。 フローの可視化は、外部JavaScriptやCDN依存関係なしにローカルSVG/HTMLとして生成されます。同じリダクションレイヤーがJSON、Markdown、SVG、HTML、MCPレスポンスを保護します。

ランタイムMCP観察は、observe_mcp_eventsを通じてJSONL/JSONイベントエクスポートを取り込み、observe_mcp_event(session_id=...)を通じて一度に1つのイベントを評価することもできます。CLI mcp-interceptは、転送されたJSONLを書き込む前に、バッチイベントストリームにそれらのblockおよびredact決定を適用します。CLI mcp-proxy -- <upstream argv>は、行区切りのstdio JSON-RPCに対するライブ強制パスです。CLI mcp-http-proxy --upstream <URL>は、Streamable HTTP POST、GET SSE、DELETEセッションライフサイクル全体で同じポリシーを強制し、公式Python MCP SDK相互運用性カバレッジを備えています。両方のプロキシは、アクセス拒否とコンテンツ許可/リダクト/ブロック決定に対して、同じ生データを含まないトランザクションリンクHMACレシートチェーンを発行します。設定されたサイドカーパーシスタンスは転送前に実行され、フェイルクローズします。HMACは共有シークレットタグであり公開鍵署名ではないため、改ざん耐性の主張にはオペレーターシークレットの検証が必要です。両方のプロキシは、無効なフレーミング、相関エラー、サイズまたはタイムアウト制限、トランスポート制御障害でフェイルクローズします。ストリーミングオブザーバー状態は、境界付きのアイドル/LRUセッション保持を持ちます。MCP enforce_mcp_eventsはレポートのみのままです。バイナリフレーミング、非標準トランスポート、およびすべてのMCPクライアント向けのユニバーサルドロップインプロキシはロードマップ作業のままです。

読み取り専用コネクタは、ローカルのSQLite/ログ/ストレージファイルのみを検査します。リモートのPostgres/Supabase/Firebase/S3、バックアップ、および実際の削除実行はロードマップ項目です。

フィードバックドリフトループ

k-guard feedback --type fn --rule PII_PHONE --text "missed sample" --output feedback.jsonl
k-guard feedback-export --input feedback.jsonl --output feedback-summary.json --reviewed

フィードバックファイルは書き込み前にサニタイズされ、コーパスチューニングのためにローカルで要約されます。偽陰性スニペットは、検出器が機密値を検出できなかった可能性があるため、追加の保守的なトークンマスキングを使用します。 feedback-exportは--reviewedまたはK_GUARD_FEEDBACK_EXPORT_REVIEWED=1を必要とするため、偶発的な自動エクスポートはフェイルクローズします。パートナー環境外で共有する前にfeedback-summary.jsonをレビューしてください。生のfeedback.jsonlを送信しないでください。

フィールドベンチマーク

benchmark-templateは20/20/10マニフェストを作成します:

  • 20の一般的なベースラインサイトまたはレポート

  • 20のバイブコードされた疑わしいサイトまたはレポート

  • 10の所有、パートナー承認、またはバグバウンティスコープのターゲット

benchmarkは、生データを含まないK-Guard JSONレポートを集計し、--run-probesを使用した場合のみ、mode=probeとマークされた承認済みマニフェスト行を集計します。コホートごとに、高/重大ターゲット率、強い識別子検出率、トップルール、手動偽陽性率を報告します。デフォルトのパスはレポートのみであるため、外部サイトに触れることなくダッシュボードエクスポートからベンチマーク作業を開始できます。

同じワークフローは、MCPでcreate_benchmark_templateおよびfield_benchmarkとして利用できます。MCPベンチマークプローブは、probe_httpと同じ明示的なプローブオプトインを必要とします。

Guardianモード

guardian-templateは、継続的な製品ガーディングのための承認済みターゲットマニフェストを作成します。行は、ローカルワークスペース、HTTPオリジン、MCPランタイムJSONLエクスポート、または既存の生データを含まないK-Guard JSONレポートを指すことができます。guardianは、ターゲットごとのゲート、新規/解決済み検出結果のドリフト、トップの繰り返しルール、suggest_fixからの修正レシピを含む、すべての行を1つの生データを含まないレポートに集約します。

Guardianマニフェストには、生データを含まないビジネス意図とスコープ表明フィールドも含まれます: business_purpose、data_classes、user_scope、public_endpoints、scope_basis、scope_proof_ref。K-Guardは人間レベルのビジネス理解を主張したり、それ自体で所有権を証明したりしません。それらの表明が存在するかどうかを記録し、ハッシュ化された参照のみを保存します。スコープ完了には明示的なscope_proof_refが必要です。ロケーターやレガシー承認メモは証明として扱われません。データリリースゲートには、それらのターゲットレベルの契約と、アーティファクトハッシュが現在のレポートと一致する検証済みオペレーターキー付きエビデンスバンドルが必要であり、その後でレポートを出荷エビデンスとして扱います。

新しいテンプレートはaudit_profile=korean_seniorを設定します。このプロファイルでは、ゼロブロッカーが見つかっただけではリリースゲートは合格しません。また、サポートされ正常にデコードされた本番ソースファイルを少なくとも1つ含む実質的なワークスペース、フロー分析、完了したディープHTTPレビュー、404のみではなく実際に2xx/3xx/401/403を返す宣言されたエンドポイントパス、および明示的な目的/データ/ユーザー/スコープの表明も必要です。Guardianは監査の直前と直後に各ワークスペースをコンテンツハッシュします。不一致はGUARDIAN_SOURCE_CHANGED_DURING_AUDITを発行し、ターゲットをブロックし、その実行を実質的カバレッジから除外します。リリース権限には不変のCIチェックアウトを使用してください。レポートはsite_security、api_exposure、data_management、operational_riskのreview_contract.domainsを公開します。必須ドメインのいずれかが不完全な場合、guardian_gate.passedはfalseのままです。audit_profileのないレガシーマニフェストは、より狭いstandardプロファイルのままであり、4ドメインのシニアカバレッジとして提示してはなりません。

public_endpointsは実行可能なレビュースコープであり、装飾的なメタデータではありません。Guardianは、そのフィールドからの有効な同一オリジンパスを固定GET/OPTIONSプローブセットに安全に追加します(最大50。絶対URL、親トラバーサル、テンプレート化されたパスは不可)。これにより、プローブを境界付きに保ちながら、APIレビューがアプリ固有の読み取り専用エンドポイントをカバーできます。

HTTP行にsession_fileが含まれる場合、Guardianは同じ境界付きパスセットを2回実行します: 1回は未認証、もう1回はオペレーター提供の読み取り専用セッションです。これにより、公開露出チェックが認証済みのみのビューに置き換えられるのではなく、可視のままになります。セッションは、認証壁の遷移と宣言されたIDレスポンスダイジェストの両方を証明する必要があります。korean_seniorゲートは、いずれかの証明が欠落している場合、プローブがリクエストまたは制御エラーを生成した場合、または有効な宣言済みエンドポイントスコープに到達しなかった場合、HTTPカバレッジを拒否します。

guardian --fail-on highは標準のリリース前ゲートです。これは、K-Guardが設定されたしきい値の下でターゲットアプリを出荷できるかどうかを決定する必要がある場合に使用するワークフローです。ワークスペースのみのscan --fail-onとMCP security_gateはクイックチェックです。これらはGuardianのマニフェスト、カバレッジギャップ、ドリフト、マルチターゲット実行契約を置き換えるものではありません。

デフォルトでは、guardianはレポートを書き込み、正常に終了するため、チームはそれをリリースブロッカーにせずに検出結果をレビューできます。同じレポートをCIゲートとして機能させる場合は--fail-on highを使用します。ブロッキングターゲットまたは新しいブロッキング検出結果が存在する場合、コード3で終了します。--previousなしの初回実行では、レポートはinitial_snapshotです。現在のブロッカーとカバレッジギャップは依然としてゲートを失敗させる可能性がありますが、K-Guardは現在のすべての検出結果を新しいドリフトとしてラベル付けしません。ゲートモードでは、マニフェスト内のHTTP行は--run-probesで実際に実行される必要があります。実行されない場合、サイレントパスではなくカバレッジギャップになります。

HTTP 行は、--run-probes が渡されない限り実行されません。CLI パスは信頼されたローカルオペレーター向けであり、明示的な CLI フラグ/マニフェスト行をオプトインとして使用します。MCP はエージェント仲介型でより厳格です:guardian_audit(..., run_probes=true) には K_GUARD_MCP_ENABLE_PROBE=1 が必要です。外部、ディープアクティブ、またはセッションプローブを要求するマニフェストには、それぞれ K_GUARD_MCP_ENABLE_EXTERNAL_PROBE=1、K_GUARD_MCP_ENABLE_DEEP_ACTIVE_PROBE=1、または K_GUARD_MCP_ENABLE_SESSION_PROBE=1 が追加で必要です。ガーディアンモードは依然として固定の安全な GET/OPTIONS プローブを使用し、ログイン試行、パスワード推測、ミューテーション、エクスプロイトペイロード、再帰的クロール、またはクロスホストリダイレクト追跡は実行しません。

MCP クライアントは、guardian_gate.passed の正規のリリースゲート判定のために guardian_audit に fail_on="high" を渡す必要があります。プロセス終了コードは CLI の関心事のままです。--previous previous-guardian-report.json を使用すると、レポートをドリフトモニターに変換できます。新たなブロッキング所見は、前回のレポートが読み込まれた場合にのみ個別にリストされます。それらの所見がリリースを停止すべき場合は、--previous を --fail-on と組み合わせてください。MCP 制御チェックがターゲット実行前にガーディアンを停止した場合、レポートモードとゲートモードの両方が execution_contract、summary、findings を含むガーディアン形式のレスポンスを返します。ゲートモードにはさらに guardian_gate.passed=false が含まれます。レポートには execution_contract セクションが含まれるため、スキップされたターゲット、エラーが発生したターゲット、実行されたターゲットが 1 か所で確認でき、Markdown および HTML エクスポートにも含まれます。

MCP の security_gate(path, fail_on) は、ワークスペースのみのクイックゲートです。無効なしきい値、引数予算、ワークスペース予算制限、スキャン例外などの MCP 制御障害時には security_gate.passed=false を返すようになりましたが、意図的に coverage_model="workspace_only" と報告します。HTTP ターゲット、MCP ランタイムエクスポート、以前のレポート、またはカバレッジギャップの計上を必要とするリリース判断には Guardian を使用してください。

抑制ポリシーはフェイルクローズドです。suppression-template は、すべての免除を app_id、audit_profile、現在のソーススナップショットまたはレビュー証拠ハッシュ、target_id、所見フィンガープリント、所有者、理由、将来の有効期限にバインドする CSV を作成します。免除は別のアプリや変更されたリリーススナップショットに対して再生することはできません。無効、古い、または期限切れの行は、高重大度のポリシー所見を追加します。抑制は Guardian のカバレッジギャップや MCP 制御障害ルールをクリアできません。field-validation-queue は、すべての高/クリティカル候補を、秘匿化されたフィンガープリント、検出器サブタイプ、アーティファクトスコープ、ファイル/ボディ/ヘッダーの場所の種類、利用可能なレスポンスハッシュとともにエクスポートします。厳格な field-validation-report --profile field の主張は、12〜20 の所有/パートナーアプリ、120 のラベル付きケース、50 のポジティブ、40 のネガティブ、5 のクリティカルケース、3 つの層、少なくとも 70 ケース・35 ポジティブ・35 ネガティブ・35 候補を含む事前登録済みホールドアウト、役割分離されたレビュアー/キュストディアン署名、および正確な 2 回目の正規 Guardian 実行パスがすべて固定しきい値を満たすまでクローズされたままです。全体/ホールドアウト精度、ホールドアウト高/クリティカル再現率、ホールドアウト特異度は、点推定と Wilson 95% 下限の両方を満たす必要があります。クリティカルホールドアウト再現率は正確に 1.0 のままです。すべての候補は、正確に 1 つの凍結された開発/ホールドアウトスコープにバインドする必要があります。候補の (false_positive + benign) / (true_positive + false_positive + benign) は偽発見率として報告され、偽陽性率はクリーンなケースのみに対して FP / (FP + TN) として計算されます。データリリースゲートはより厳格です:既知の偽陰性または良性の高/クリティカル候補があるとリリースがブロックされます。K_GUARD_FIELD_REVIEWER_HMAC_KEYS と K_GUARD_FIELD_CUSTODIAN_HMAC_KEY はオペレーター証拠キーとは異なる必要があります。これらのローカル HMAC は役割を分離しますが、実世界のアイデンティティや暗号的に独立した実行を証明するものではありません。レガシーの validation-* コマンドは候補ラベルのみを集約し、フィールド再現率を確立できません。

公開自動ブロック資格契約はフィールド検証とは別です。release_blocker_actionability_v3 には、少なくとも 100 の自動ブロッカーからなる事前登録済みセンサス、0.90 の候補アクション可能性、および 0.80 の Wilson 95% 下限が必要です。また、少なくとも 20 のアプリケーションに自動ブロッカーが必要です。アプリケーション内のすべての自動ブロッカーが true_positive とラベル付けされている場合のみ、そのアプリケーションは完全にアクション可能とみなされます。完全にアクション可能なアプリケーション率と Wilson 下限の両方が 0.90 と 0.80 を通過する必要があります。このアプリレベルの感度ゲートは、1 つのリポジトリ内の数十の相関行が誤った統計的信頼を生み出すことを防ぎます。手動レビューとポリシー整合性の保留はフェイルクローズドのままですが、自動ブロックのアクション可能性からは除外されます。

完全な証拠層、最初のベースライン、ラベリング、および再実行契約は docs/field-validation-v2-ko.md に文書化されています。

data-release-gate はより厳格です:K_GUARD_EVIDENCE_HMAC_KEY、元の Guardian マニフェスト、現在のレポートにバインドされた正規の high Guardian 主張、ターゲット証拠とソーススナップショット、個別に署名された一次および再実行検証ソース Guardian 原本、正確なグラウンドトゥルース/レビュアー CSV、元のキュストディアン事前登録、韓国語コーパス証拠、および実際の MCP インターセプタ転送ストリームが必要です。それらの原本からフィールド検証を再実行し、レビュアー/キュストディアン HMAC を再検証し、再計算された射影が提出されたレポートと等しいことを要求します。また、再実行 Guardian を再オープンし、コンテンツ、バンドル、実行証明、ツールチェーン、マニフェスト、ソース/HTTP/MCP 入力、および正確な候補マルチセットを独立してチェックします。デザインパートナー検証は、現在リリースされている単一のアプリから意図的に独立しています。その候補アプリ/ターゲット/所見参照は、リリースアプリのカバレッジを装うのではなく、検証ソース Guardian レポートと一致する必要があります。再利用可能な GitHub Actions テンプレートは docs/templates/github-actions/guardian-release-gate.yml にあります。

未認証 JSON はリスクによって分割されます。機密/プライベートレコード構造は高重大度の DYN_UNAUTH_API_JSON のままであり、それらの指標のない JSON は情報重大度の DYN_PUBLIC_API_JSON_REVIEW になり、意図的な公開 API が JSON を返すだけでリリースをブロックしないようにします。

scripts/site_scale_calibration.py は、大規模な一般的な HTML ノイズ、中規模の公開連絡先ページ、小規模な vibe コーディングされたバルク JSON、有効な強い識別子、銀行口座 JSON に対してローカルのブラックボックス HTTP フィクスチャを実行します。外部ネットワークアクセスは使用しません。

scripts/deep_probe_synthetic_calibration.py は、同じダッシュボードの scan_url(..., deep_active=True) パスを通じてローカルの合成ループバック較正ハーネスを実行します。デフォルトの証拠実行は、24 の境界付きシナリオにわたる 500 回のループバック呼び出しを使用します。これは 500 の実在ウェブサイトではなく、脆弱性発見でもペネトレーションテストでもありません。.env、.git/config、バックアップ SQL、デバッグエンドポイント、管理/API 露出、OpenAPI、ソースマップ、CORS、リダイレクト、PII/シークレットレスポンス層、およびログインウォール、SPA シェル、HTML フォールバックの偽陽性制御をカバーします。また、期待値対観測値スコアラーが注入された欠落ルールと予期しないルールを検出できることを証明するネガティブコントロールも含まれます。外部ネットワークアクセスは使用しません。実際の外部ディーププローブには依然として明示的なターゲット承認が必要です。

scripts/inner_core_product_gate.py は、「インナーコア」監査主張のためのより広範なローカル合成製品ゲートを実行します。500 ターゲットのループバックディーププローブ較正と、静的コード/設定/MCP テキストチェック、Python AST テイント、MCP ランタイム JSONL 観測、読み取り専用 SQLite/ログ/ストレージコネクタ、保持/削除レビュー、クロスプレーン PII からエージェント型/外部への判定、および生データなしの証拠グラフチェックを組み合わせます。このゲートは、欠落した必須ルールがゼロ、予期しないディーププローブルールがゼロ、ネガティブコントロールの合格、空でないフローグラフノード/エッジ、シリアル化されたレポートに禁止された生マーカーがないことを要求します。これは製品深度ゲートであり、第三者サイトの脆弱性発見の証明ではありません。

CI ワークフローは、プッシュ/プルリクエスト時に完全な pytest スイートと 24 ターゲットのインナーコアゲートを実行し、すべての合成シナリオを 1 回カバーします。スケジュール/手動監査ワークフローは 500 ターゲットのインナーコアゲートを実行し、その JSON/Markdown/HTML 証拠パックをアップロードします。リポジトリの自己 SARIF スキャンは非ゲーティング証拠としてアップロードされます。これは、このスキャナーリポジトリが K-Guard の所見をトリガーするはずの検出器ルール、フィクスチャ、ドキュメント例を意図的に含んでいるためです。監査対象の製品に対して --fail-on を使用し、プロジェクト固有のベースラインが存在しない限り K-Guard 自身のフィクスチャが多いソースツリーに対しては使用しないでください。

scripts/passive_homepage_calibration.py は、CSV マニフェストから GET / のみのホームページ較正を実行します。--max-targets、--delay-ms、--checkpoint-jsonl、--resume をサポートし、10k 規模のシャーディング実行に対応します。コホート、ランクバケット、結果、および well_managed_quiet、hardening_gap、boundary_redirect、messy_or_risky_signal などの衛生層集計を報告するため、ノイズの多い適切に管理されたサイトと乱雑なロングテールサイトを個別に較正できます。また、測定収量、高/クリティカル率、強い識別子率、境界リダイレクト率の合格/警告/失敗チェックを含む release_gate も出力します。/admin、/api、.env、.git、OPTIONS、または再帰的パスは要求しません。

scripts/build_top_domain_manifest.py は、公開のトップドメイン CSV または ZIP ソースからその受動的較正マニフェストを自動的に作成します。デフォルトソースは Tranco の最新の top-1m ZIP であるため、オペレーターが 10,000 の URL を手動で収集する必要はありません。--start-rank を使用してロングテールの乱雑な候補コホートを構築します。たとえば、ランク 900,001 から 910,000 などです。Majestic Million スタイルの CSV も --source-url で提供できます。

AI 限定コンテスト RC 証拠

コンテスト RC は、1 つのプールされた精度数値を公開する代わりに、開発証拠を別々のレーンに保持します:

python scripts/qualify_korean_privacy_ai_only.py --output evidence/qualification/korean-privacy-ai-only-v1.json
python scripts/ai_public_benchmark_scorecard.py --output evidence/qualification/ai-public-benchmark-scorecard-v1.json
python scripts/benchmark.py --profile contest --output benchmark-report.json
  • 韓国語資格レポートは、117 のフィクスチャケースと凍結された 68 ケースの評価者作成ホールドアウトを別々のレーンとして報告します。また、5 つのワークスペース契約、4 つの公式の一意識別子コンセプト、事業/法人番号の境界、6 つの機密語彙サーフェスもチェックします。プールされた混同行列を公開したり、ブラインド、人間による裁定、レジストリ、パートナー、またはフィールド精度を主張したりしません。

  • 公開スコアカードは、現在と履歴のレーンを個別に保持します。--require-integrity-pass は、選択された履歴アーティファクトにダイジェストまたはバインディングの不一致がある間は意図的に失敗します。不適格な履歴結果が黙って書き換えられたり削除されたりする代わりに表示されたままになるように、レポートを生成することは依然として可能です。

  • コンテストパフォーマンスプロファイルは、開示された 1 つのホスト上で正確な合成オールベニン低シグナルコーパスを測定します。これには、新規プロセスコールドと永続スキャナーウォームのレイテンシ、10/50/100 MiB スケーリング、インプロセス CPython スレッド並行性 1/4/8、ピーク RSS、完全な候補カバレッジ、生データなしの結果不変性が含まれます。所見密度の高いスケーリング、プロセスレベルの並列性、本番 SLO、フィールド精度、ハードウェア正規化比較、または第三者優位性は測定しません。

現在の制限

  • 製品の堅牢化ロードマップ: docs/pre-release-auditor-hardening-plan-ko.md

  • PDF/DOCX/HWP抽出はまだ含まれていません

  • 動的チェックは、明示的に許可リストに登録されている場合、またはオペレーターが所有、パートナー承認、バグ報奨金スコープの外部ターゲットについて証明した場合を除き、localhostのみです

  • ユーザー提供のセッションヘッダーは読み取り専用のGETリクエストにのみ添付され、ヘッダー値は保存されません

  • JS/TSのテイントは保守的かつ軽量で、ファイル内テイント、限定的なルートからサービスへの要約、一般的なNext.js/Express/Supabase/Firebase境界ミスに対するフレームワーク対応ヒューリスティックを備えています。Python ASTテイントはプロシージャ内です

  • ランタイムMCP観測とMCP enforce_mcp_eventsツールは助言的なものに留まります。mcp-proxyとmcp-http-proxyは、行区切りのstdio JSON-RPCとテスト済みのStreamable HTTPライフサイクルに対して実際の双方向強制を実行します。バイナリフレーミング、非標準トランスポート、およびすべてのクライアント向けの汎用ドロップインプロキシは、強制境界の外に留まります

  • リモートDB/ストレージ/バックアップと実際の削除実行はまだ検証されていません

  • 韓国のPIIパターンはルールベースであり、プロジェクト固有の誤検知調整が必要です

  • 韓国の事業者登録番号は、合成/ベンダー作成フィクスチャに対するチェックサム構文検証を使用します。過去の法人登録番号(2025-01-31以前に発行)は、旧付属書の交互1,2加重チェックサムを使用する場合があります。2025-01-31以降、現在の法人番号は4桁の登録局+2桁の種類+7桁の連番でチェックサムがないため、検出は明示的なフィールドコンテキスト/構文認識のみです。これらはいずれも自然人PII、ライブ登録検証、または独立したフィールド検証ではありません。コンテキストのみの現在値は、未検証の構文/コンテキスト認識です。プライバシー優先の曖昧さ: 妥当な韓国のRRN/FRNは、法人または事業者ラベル、ヘッダー、分割JSONキーよりも優先され、組織IDとして分類または編集されることはありません。

  • 評価者作成の68ケースの韓国機密/組織ホールドアウト(evidence/holdout/korean-sensitive-org-v1.cjson)は、合成オラクルの実装後検査であり、盲検フィールド精度または登録検証研究ではありません。すべてのmust_allルールが存在し、各must_anyグループに少なくとも1つの一致ルールがあり、forbiddenルールが出現しない場合(ケースごとの任意ルール再現率)、ケースは合格です。このパス後、凍結マニフェストは再現率1.0、特異度1.0、正確な2回実行の再現性で68/68をスコアします。これはライブフィールド精度の主張ではありません。

Available Tools

28 tools
build_flow_mapC

Build an EXPERIMENTAL heuristic data-flow risk map for source and sink patterns.

NameRequiredDescriptionDefault
pathYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility for behavioral disclosure. It only labels the tool as 'EXPERIMENTAL heuristic', which hints at unreliability but does not describe side effects, return behavior, or whether it is read-only. This is insufficient for a tool that might have complex outputs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence with no wasted words. It is front-loaded with the action and subject, making it easy to parse. However, it is minimal to the point of missing critical details, which slightly lowers the score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides only a high-level purpose and fails to explain the parameter, expected output, or any operational context. Given the lack of annotations and output schema, this is severely incomplete for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description does not mention the 'path' parameter at all. There is no explanation of what 'path' should point to or its format, leaving the agent completely uninformed about the only required input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool builds a data-flow risk map for source and sink patterns, using a specific verb and resource. It is not a tautology and is distinguishable from sibling audit tools, though it doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus others, nor any exclusions or alternative tools. The single-sentence description offers no contextual triggers or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_my_appB
Read-only

Review the complete bound workspace; poll with continue_review until terminal.

NameRequiredDescriptionDefault
pathNo검사할 프로젝트 경로. 설치 시 고정된 워크스페이스에서는 '.'을 사용합니다..
include_flowNo소스에서 입력·처리·외부 전송 흐름 분석을 함께 실행합니다.

Output Schema

NameRequiredDescription
methodYes
findingsNo
experienceYes
review_jobNo
guardian_gateNo
review_receiptNo
primary_workflowNo
application_assuranceNo
auditor_qualificationNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the polling behavior, which is genuinely useful beyond annotations, but it does not explain what 'terminal' means, what the response contains, or any side effects (e.g., state changes between polls). Since it adds some behavior context but not full transparency, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. The core purpose ('Review the complete bound workspace') is front-loaded, and the polling instruction is a necessary operational detail. It could arguably be more structured (e.g., listing return behavior), but it is appropriately concise for the amount of information it conveys.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a rich output schema (which likely explains the 'terminal' state and review results), so the description does not need to detail return types. However, the phrase 'until terminal' is ambiguous without context on how to recognize terminality, and the description does not clarify the scope of 'complete bound workspace' or what 'review' entails (e.g., security, code quality, dependencies). Given the complexity of a polling-based review, the description is minimally complete but leaves gaps that the schema and sibling definitions may or may not fill.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents both parameters fully (100% coverage), including the meaning of 'path' ('checks the project path; use '.' for the fixed workspace') and 'include_flow' (whether to run input/processing/external transmission flow analysis). The description adds nothing about parameters beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies a clear verb ('Review') and a resource ('the complete bound workspace'), so an agent can deduce the tool's core function. It also hints at a distinctive workflow (polling with continue_review) that sets it apart from simpler scans, but it doesn't explicitly name or contrast siblings, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The instruction 'poll with continue_review until terminal' gives a usage pattern, implying this is a long-running operation and that continue_review is the follow-up tool. However, it does not state when to prefer this over alternatives like scan_workspace or start_review_before_ship, nor does it give exclusions or prerequisites. The guidance is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

continue_reviewA
Read-onlyIdempotent

Wait briefly for a long review; repeat until state is completed or failed.

NameRequiredDescriptionDefault
review_idYescheck_my_app 또는 start_review_before_ship이 돌려준 검수 번호
wait_secondsNo한 번에 기다릴 시간(0~4초). 완료될 때까지 이 도구를 반복 호출합니다.
finding_limitNo완료 결과에 포함할 findings 수(1~50)
response_modeNocompact(기본) 또는 full(호환용 전체 결과)compact
finding_offsetNo완료 결과 findings 페이지 시작 위치

Output Schema

NameRequiredDescription
methodYes
findingsNo
experienceYes
review_jobNo
guardian_gateNo
review_receiptNo
primary_workflowNo
application_assuranceNo
auditor_qualificationNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds valuable context about the iterative waiting mechanism and the terminal states, which goes beyond what annotations declare. This clarifies that multiple calls may be needed and defines the loop exit condition without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that captures the essential behavior and stop condition. It contains no redundant details, and for a tool with 5 parameters, the schema fully covers parameter specifics, so brevity is both appropriate and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description conveys the core polling loop and terminal decisions, sufficient for an agent to understand the call pattern. With annotations covering safety and schema covering parameters, the description need not list parameters or response format. It could be more explicit about error handling or max retry expectations, but for a standard polling tool this is adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed per-parameter descriptions (e.g., wait_seconds limits, finding_limit range), so the description adds no parameter-level value. As per baseline for high schema coverage, a score of 3 is appropriate since the description effectively delegates parameter comprehension to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Wait briefly') and a specific resource ('a long review') with an explicit termination condition ('until state is completed or failed'). It distinguishes itself from sibling start_review_before_ship by being the polling/waiting counterpart, making its role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a polling loop but does not explicitly state when to call it, such as after start_review_before_ship or check_my_app. It lacks any mention of alternative tools or exclusion criteria, leaving preparation and sequencing to caller inference. The schema's review_id description helps but is not part of the tool description itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_benchmark_templateC

Create a 20/20/10 field benchmark manifest CSV template.

NameRequiredDescriptionDefault
output_pathYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only says 'Create' without disclosing side effects, such as whether it overwrites an existing file, what the return value looks like, or any permission requirements. The description adds no behavioral context beyond the trivial fact of creation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no waste. However, it is too terse, sacrificing necessary detail for brevity. Front-loading is acceptable, but the cryptic '20/20/10' and lack of any explanation reduce its effectiveness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no annotations, the description should at least explain what a 'benchmark manifest' is, whether the file is created or overwritten, and any output expectations. The description lacks these details, making it incomplete for an agent to use correctly without prior domain knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only one parameter, output_path, with zero description coverage. The description does not mention the parameter at all, so an agent has no information about the expected format, whether it's a directory or full path, or the file name conventions. The description fails to compensate for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Create') and a specific resource ('20/20/10 field benchmark manifest CSV template'). The 'benchmark' keyword distinguishes it from sibling template tools like create_field_campaign_template and create_guardian_manifest_template. It is specific but leaves the meaning of '20/20/10' unexplained, so not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus the sibling template tools. There is no mention of alternatives, exclusions, or selection criteria. An agent would have to infer usage from the name alone, which is not sufficient when similar templates exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_field_campaign_templateC

Create the empty 12-20 app owned/partner roster used before holdout preregistration.

NameRequiredDescriptionDefault
output_pathYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It only says 'create', which is generic and matches the tool name; it does not mention whether the operation is destructive, whether it overwrites existing files, what permissions are required, or what success/error responses look like. The description adds minimal value beyond the tool name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (a single sentence) with no wasted words. However, it is so terse that it omits essential details, making it under-specified rather than efficiently structured. It is neither bloated nor well-organized; it simply lacks substance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter, no output schema, and no annotations, the description should at least clarify what 'empty roster' means, what output_path should point to, and any prerequisites or side effects. The description only gives a vague workflow hint ('before holdout preregistration') and leaves the main operational details undocumented, making it insufficient for a correct call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no parameter descriptions (coverage 0%) and the tool description does not mention the 'output_path' parameter at all. Even though the parameter name is somewhat self-explanatory, the description fails to elaborate on expected format, path conventions, or default behavior. The description offers zero assistance for correct parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Create') and a specific resource ('empty 12-20 app owned/partner roster'), and gives a context cue ('before holdout preregistration'). It is clear about what the tool does, though it does not explicitly contrast with sibling template creators like create_benchmark_template or create_guardian_manifest_template. The purpose is distinguishable by the unique resource name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'used before holdout preregistration' implies a temporal context but does not give explicit when-to-use vs when-not-to-use guidance, nor does it mention any alternative tools or conditions for choosing this tool over a sibling. There is no guidance on preconditions or expected workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_guardian_manifest_templateC

Create a korean_senior Guardian manifest for four-domain pre-release reviews.

NameRequiredDescriptionDefault
output_pathYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing side effects. It says 'create' but does not describe whether the tool overwrites existing files, requires specific permissions, or produces a specific return value. The lack of behavioral detail (e.g., idempotency, error conditions) leaves the agent without important operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that is front-loaded with the action. It is concise without padding, but its brevity comes at the cost of missing critical details, making it more under-specified than efficiently concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool that creates a file, with no annotations, no output schema, and no parameter documentation, the description is far from complete. It omits details about the manifest structure, default behavior, and parameter semantics, which an agent would need to invoke the tool correctly and safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining the output_path parameter. It does not: the description only mentions the manifest creation and gives no guidance on the expected format, constraints, or usage of output_path. The parameter name is self-explanatory but the description adds no additional semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create' and the resource 'a korean_senior Guardian manifest', and adds the specific context of 'four-domain pre-release reviews.' This distinguishes it from sibling template tools like create_benchmark_template and create_field_campaign_template, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for pre-release reviews but does not explicitly state when to use this tool versus similar template creators, nor does it mention any exclusions or alternatives. An agent would have to infer the use case from the name and description, lacking explicit routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

data_release_gateC

Run the strict data shipment gate over Guardian, validation, Korean corpus, and MCP interceptor evidence.

NameRequiredDescriptionDefault
guardian_report_pathYes
guardian_manifest_pathYes
validation_report_pathYes
validation_review_pathYes
validation_roster_pathYes
korean_corpus_report_pathYes
mcp_forwarded_output_pathYes
mcp_intercept_report_pathYes
korean_fixture_corpus_pathYes
validation_ground_truth_pathYes
validation_preregistration_pathYes
max_validation_false_positive_rateNo
validation_repeat_guardian_report_pathYes
validation_source_guardian_report_pathYes

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description carries the full burden of behavioral disclosure. It only says 'Run' the gate, without stating whether it is read-only, destructive, requires specific inputs, or what happens on failure. With 14 parameters and no cautions, the agent has no idea of side effects or prerequisites—a serious gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action and lists evidence categories. There is no filler or redundancy. However, given the tool's complexity, it is overly terse, though conciseness itself is well-handled.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 14 required parameters, no annotations, no output schema, and no parameter descriptions, the description is grossly incomplete. It fails to explain what each path is for, what the gate checks, success criteria, side effects, or output format. An agent cannot confidently invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It groups evidence into Guardian, validation, Korean corpus, and MCP interceptor categories, which helps map high-level intent but does not explain the 14 specific path parameters, their expected formats, or relationships. This is insufficient for an agent to correctly populate all required fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb 'Run' and resource 'strict data shipment gate', and lists the evidence sources (Guardian, validation, Korean corpus, MCP interceptor). It is clear what the tool does overall, though it does not explicitly differentiate from sibling tools like security_gate or guardian_audit. The distinctive evidence components give some differentiation, hence a 4.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It omits prerequisites, exclusions, or context clues such as 'use this before shipping data' or 'do not use if X'. The agent must infer usage from the tool name and stack. This is a significant miss for a tool with many related siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deep_analyzer_auditC

Run the local fail-closed Semgrep deep profile; this is intrafile evidence, not an authorization proof.

NameRequiredDescriptionDefault
workspace_pathYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but only discloses a few behavioral traits: 'fail-closed' and 'intrafile evidence, not an authorization proof'. These are useful, but it does not mention permissions, side effects, rate limits, or output behavior. It adds some context beyond the schema but leaves many aspects undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—one sentence with two clauses—and front-loads the action. Every word earns its place, but the brevity leaves essential details missing, so it is efficient but not optimally informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that this is a security audit tool with only one parameter and no output schema, the description is incomplete. It does not explain the return value, the exact meaning of 'workspace_path', prerequisites, or how the result relates to other tools. The caveats about fail-closed and non-authorization are helpful, but the agent lacks critical operational details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the parameter 'workspace_path', but it provides no explanation of what this parameter expects, its format, or its purpose. The agent has no additional information beyond the variable name, making it difficult to invoke correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Run the local fail-closed Semgrep deep profile') and a clear resource (Semgrep deep profile), with an additional qualifier about its scope ('intrafile evidence, not an authorization proof'). It is clear about what the tool does, though it does not explicitly differentiate from sibling tools like scan_workspace or software_composition_audit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The phrase 'intrafile evidence' hints at a single-file analysis scope, but it does not state conditions or mention sibling tools. No exclusions or alternative routing is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

enforce_mcp_eventsC

Evaluate MCP runtime block/redact policy and return a raw-free report-only interceptor result.

NameRequiredDescriptionDefault
textYes
labelNomcp-runtime-events

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry all behavioral disclosure. It mentions 'report-only' (non-destructive) and 'raw-free' (does not expose raw data), which are helpful, but it does not clarify whether any state is modified, whether authentication is needed, or the exact nature of the interceptor result. The disclosure is partial despite carrying the full burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with the primary action front-loaded. It is concise and avoids filler, though it may be too terse for the tool's complexity. In terms of structure, it communicates the core action efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, minimal parameter documentation, and a relatively complex policy-evaluation task, the description is severely incomplete. It fails to explain the interceptor result, parameter semantics, or any side effects, leaving the agent without enough context to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not explain the purpose of the 'text' or 'label' parameters. An agent cannot infer what text to pass or how label affects the call. The description adds no meaning beyond the generic parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Evaluate') and resource ('MCP runtime block/redact policy') and indicates the output type ('raw-free report-only interceptor result'). It distinguishes from siblings like observe_mcp_event (observation) and scan_mcp_config (scanning), though 'raw-free' and 'interceptor' are jargon that could confuse agents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus its siblings. It does not mention alternatives, exclusions, or prerequisites. The only implicit signal is the verb 'Evaluate' suggesting policy enforcement, but nothing clarifies a selection condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_ruleB
Read-onlyIdempotent

Explain a K-Guard rule in plain language with impact, fix steps, and verification.

NameRequiredDescriptionDefault
rule_idYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds that the tool provides impact, fix steps, and verification, which is useful context beyond a generic 'explain'. However, it does not disclose output format, error handling, or any other behavioral traits, so the added value is moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the action and lists the key outputs. There is no fluff, and it is concise without being under-specified—every word contributes to describing the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and annotations covering safety, the description is minimal but conveys the purpose. However, it lacks usage guidance and parameter semantics, and it does not contextually place itself among the many sibling tools. An agent would not know when to call it or how to find the rule_id, leaving notable gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only the parameter name 'rule_id' with type string and no description. The tool description does not explain what a rule_id is, how to obtain it, or its format. With 0% schema description coverage, the description wholly fails to compensate, leaving the agent with no semantic context for the sole required parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Explain a K-Guard rule') on a specific resource, and lists the content of the explanation (impact, fix steps, verification). This distinguishes it from siblings like suggest_fix, which focuses on proposing fixes rather than explaining a rule.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like suggest_fix or scan_workspace. It does not mention why one would prefer an explanation over a fix suggestion, nor any conditions or prerequisites, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

field_benchmarkC

Aggregate field benchmark reports by cohort; probes require explicit MCP probe opt-in.

NameRequiredDescriptionDefault
run_probesNo
review_pathNo
manifest_pathYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must convey behavioral traits such as side effects, return values, or error conditions. It only discloses that probes need explicit opt-in and that results are aggregated by cohort. It does not describe what the tool returns, whether it is read-only, or any side effects. The sparse disclosure leaves the agent uncertain about the tool's full behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no redundant wording. The primary action is stated first, followed by a specific constraint. Every word adds some value, and the structure is front-loaded with the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three parameters, no output schema, and no annotations, the description is insufficient. It does not explain what manifest_path should reference, what run_probes does beyond the opt-in hint, or the role of review_path. An agent would need external knowledge to invoke this correctly. The description covers only a fraction of the necessary context for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must explain the parameters. It does not define manifest_path, run_probes, or review_path beyond their names. The mention of cohort and probe opt-in hints at some parameter usage, but not enough for an agent to correctly fill in all parameters without further knowledge. The description compensates poorly for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Aggregate') and resource ('field benchmark reports') with a clear qualifier ('by cohort'). It distinguishes the tool from siblings like create_benchmark_template or field_campaign_status, which deal with creation or status rather than aggregation. The probe opt-in clause adds a specific characteristic, but the description does not explicitly name any sibling for comparison.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool over alternatives. It states a requirement about probes ('probes require explicit MCP probe opt-in') but does not explain when aggregation is appropriate or when to choose another tool. There is no mention of context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

field_campaign_statusC

Validate the app roster and emit a raw-free fail-closed campaign status.

NameRequiredDescriptionDefault
output_pathYes
roster_pathYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. 'Fail-closed' hints at error handling but doesn't explain side effects, required permissions, or what happens on failure. 'Raw-free' suggests output transformation but is undefined.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no waste, but it sacrifices substance for brevity. It is concise in length but not in delivering necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With two required parameters and no output schema, an agent cannot infer what output looks like, what 'raw-free' means, or what 'fail-closed' implies. The description is inadequate for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must define both required parameters. It never mentions roster_path or output_path, leaving their purpose entirely unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific action ('validate') and resource ('app roster'), with a defined outcome ('emit a campaign status'). It is distinct from sibling validation tools by focusing on campaign status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives like validate_policy_controls or scan_workspace. It does not state prerequisites, exclusions, or selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

guardian_auditC

Run Guardian; korean_senior rows require four review domains and fail closed when fail_on is set.

NameRequiredDescriptionDefault
fail_onNo
run_scaNo
run_probesNo
manifest_pathYes
previous_report_pathNo
mcp_http_proxy_report_pathNo
field_validation_report_pathNo
control_validation_report_pathNo
language_validation_report_pathNo

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description must carry the full burden of behavioral disclosure. It does reveal two behaviors: the requirement for four review domains for korean_senior rows and the fail-closed behavior when fail_on is set. However, it does not disclose whether the tool is read-only, what it modifies, any authentication requirements, or any side effects. This is insufficient for an audit tool of this complexity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that combines two unrelated pieces of information with a semicolon. It is concise but severely under-specified for a tool with 9 parameters. The structure does not front-load the most important information about the tool's purpose or usage; instead it focuses on an edge case about korean_senior rows.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters, no annotations, and no output schema, the description is drastically incomplete. An agent has no understanding of what the tool returns, what most parameters do, or what the audit covers. The description only addresses a narrow scenario, leaving the agent to guess about the rest.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate by explaining key parameters. It only hints at 'fail_on' by mentioning it in the fail-closed clause, but does not explain its values or purpose. Parameters like run_sca, run_probes, and various report paths are left completely unexplained, making it hard for an agent to know how to set them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Run Guardian' which identifies the action, but it does not explain what Guardian does or why it would be used. The mention of 'korean_senior rows' and 'four review domains' suggests a specific audit context, but without knowing what Guardian does, the purpose remains ambiguous. It distinguishes from siblings only by name, not by functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a specific condition: 'korean_senior rows require four review domains' and 'fail closed when fail_on is set.' This hints at when this tool might be needed, but it does not explicitly state when to use this tool over alternatives like deep_analyzer_audit or software_composition_audit. There is no guidance on exclusions or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

observe_mcp_eventC

Observe one MCP runtime event and return stream-ready block/redact policy decisions.

NameRequiredDescriptionDefault
textYes
labelNomcp-runtime-event
session_idNodefault

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It mentions 'observe' which hints at read-only, but does not state whether the tool has side effects, modifies state, requires specific permissions, or what 'stream-ready block/redact policy decisions' entail. The description is too vague to inform an agent about side effects or constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the core action and output. It is concise with zero wasted words, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters, no output schema, and no annotations, the description is incomplete. It does not explain how to construct the input, what the return value looks like, or any operational context (e.g., streaming behavior, policy format). An agent calling this tool would lack essential details to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the schema provides no explanation for parameters. The description does not compensate by explaining the role of 'text', 'label', or 'session_id'. There is no guidance on what content to pass or how these parameters influence the output. This is a significant gap for a 3-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('observe'), a specific object ('one MCP runtime event'), and the result ('return stream-ready block/redact policy decisions'). It clearly differentiates from sibling tools like observe_mcp_events (plural) and enforce_mcp_events by emphasizing the singular scope and the decision-returning action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus its siblings. The description implies usage for a single event but does not state when to prefer it over observe_mcp_events or enforce_mcp_events. No exclusions or alternative conditions are provided, leaving the agent to infer the context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

observe_mcp_eventsB

Observe MCP runtime/proxy JSONL events for PII, hidden instructions, and agentic/external flow.

NameRequiredDescriptionDefault
textYes
labelNomcp-runtime-events

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does explain that the tool scans for PII, hidden instructions, and agentic/external flow, which gives insight into its function. However, it does not explicitly state whether the tool is read-only, has side effects, or requires network access. The term 'observe' implies passivity, but this is not confirmed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that delivers the core purpose upfront and appends the specific detection targets. It contains no superfluous words and is highly efficient, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description should at least hint at what the tool returns. It does not mention output format or return values. Additionally, it fails to explain the role of the optional 'label' parameter. For a tool with only two parameters, the description is reasonably complete for the primary action but leaves critical context gaps for a fully informed call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate for parameter clarity. The description implies that the 'text' parameter contains JSONL events (from 'Observe MCP runtime/proxy JSONL events'), but it does not explicitly map description content to parameters, and the 'label' parameter is completely unexplained. This leaves the agent uncertain about parameter formatting and purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (observe) and the resource (MCP runtime/proxy JSONL events) and specifies the focus (PII, hidden instructions, agentic/external flow). This distinguishes it from sibling tools like 'observe_mcp_event' (singular) and 'enforce_mcp_events' (different action) without needing to inspect their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives. It does not mention specific scenarios or indicate conditions where a different tool would be more appropriate. No exclusions or alternative references are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

probe_httpC

Run safe read-only HTTP probes against localhost or explicitly authorized external targets.

NameRequiredDescriptionDefault
base_urlYes
deep_activeNo
session_fileNo
authorization_noteNo
external_authorizedNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does state 'safe read-only', indicating non-mutating behavior, and restricts targets to localhost or authorized external, which is useful. However, it fails to disclose behaviors related to parameters, response format, authentication needs, or rate limiting, leaving significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core purpose and target constraint. It avoids redundancy and is easy to parse. However, it is perhaps too brief given the other gaps, but for conciseness alone it is strong.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters, no output schema, and no annotations, a complete description would need to cover parameter semantics, expected return values, and use cases. This description only provides a high-level purpose and target restriction, leaving the agent without enough information to call the tool correctly. It is substantially incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameters. It offers no explanation for any of the five parameters (base_url, deep_active, session_file, authorization_note, external_authorized). The agent cannot infer their meaning or usage from the description, which is a severe deficiency.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a read-only HTTP prober with specific target constraints (localhost or explicitly authorized external targets). It uses a concrete verb ('Run') and a resource ('HTTP probes'), making the purpose unambiguous. While it doesn't name a sibling, no sibling tool appears similar, so it stands alone effectively.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for probing HTTP endpoints but provides no explicit scenarios, alternatives, or exclusions. It does not mention when to prefer another tool or when this tool should not be used. The guidance is inferred from the purpose statement rather than directly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_diffB

Scan only a git diff, without echoing raw diff content in the MCP response.

NameRequiredDescriptionDefault
base_refNoHEAD~1
head_refNoHEAD
workspace_pathNo.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It states that raw diff content is not echoed, which is a meaningful behavior. However, it does not describe what the tool does return, whether it is read-only, or any side effects. For a scan tool, this is a partial disclosure; more detail on the output format would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the core purpose and the key behavioral absence. It is concise with no redundant wording. However, given the tool's parameters and lack of annotations, it may be slightly under-specified, but it earns its place as an efficient opening statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three parameters, no output schema, and no annotations. The description does not explain parameter semantics, expected output, or usage context beyond the scope of a git diff. An agent would lack crucial details to invoke the tool correctly, making the description inadequate for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% (no parameter descriptions), so the description must compensate. It does not mention base_ref, head_ref, or workspace_path at all. The parameter names and defaults in the schema give some hints, but the description adds no additional meaning, leaving an agent unsure how to set the refs or workspace path correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (a git diff) and the action (scan), and adds a specific behavioral distinction ('without echoing raw diff content in the MCP response'). This unmistakably differentiates it from sibling scan tools like scan_workspace and scan_text, which target different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (for scanning a git diff) but does not explicitly mention alternatives or exclusions. An agent can infer the primary use case, but there is no guidance on when NOT to use it versus scan_workspace or scan_text. The scope is clear enough to make an inference, so it is not a complete miss.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_mcp_configC

Discover and scan project MCP configs plus agent instruction and skill components.

NameRequiredDescriptionDefault
pathNo.

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Discover and scan' implies a read operation, but it doesn't state whether it modifies anything, what it returns, how thorough the scan is, or whether it only scans the given path. There is no disclosure of potential side effects or performance implications. Minimal value beyond the literal meaning.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise and front-loads the main verb. However, it is under-specified rather than efficiently detailed. Every word is used, but the ambiguity (e.g., 'discover and scan' vs just 'scan') means the sentence doesn't earn its place as the sole content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations and output schema, the description must explain the tool's return value and behavior. It does not mention what the scan produces (list of files? config contents?), how to interpret results, or whether the path is required (though default '.' is in schema). For a tool that likely serves as an inventory/analysis entry point, the description is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter 'path' with no description and 0% schema coverage. The description does not explain what 'path' refers to (directory root? file?) or how it affects the scan. Since the schema provides no semantic help and the description adds nothing, parameter understanding is left to guessing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb+resource pattern ('Discover and scan project MCP configs plus agent instruction and skill components'), which states what the tool does. It is specific enough about the resource type to distinguish from generic scan tools like scan_workspace, but it doesn't fully delimit scope (what counts as 'agent instruction and skill components' is vague). Not a tautology, but could be sharper.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no mention of when to use this tool versus the many sibling scanning tools (scan_workspace, scan_text, scan_diff, etc.). No context about typical use cases, prerequisites, or exclusions. The description offers no guidance on selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_textB

Scan an inline text snippet without writing it to disk.

NameRequiredDescriptionDefault
textYes
labelNoinline-text

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose one meaningful trait: the operation does not write to disk. But it doesn't mention whether the scan is read-only, what side effects or requirements exist, or what the return format is. This is partial disclosure, but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that leads with the primary action and key constraint. Every word adds value, and it avoids redundant phrasing. It is appropriately sized for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 params, no output schema), the description covers the core behavior but leaves gaps: parameter semantics are unexplained, and differentiation from sibling scan tools (scan_workspace, scan_diff, etc.) is only implicit. An agent might not know exactly when to choose this over alternatives without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no information about the parameters. While the names 'text' and 'label' are fairly self-explanatory, the description does not clarify expected formats, defaults, or how the label is used. The description fails to compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'scan' and the resource 'inline text snippet', clearly distinguishing it from file- or workspace-based scans. However, it doesn't specify the type or goal of the scan (e.g., security, content analysis), leaving some ambiguity about what the scan actually does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'inline text snippet' and 'without writing it to disk' strongly imply the intended use case: scanning text passed directly rather than from a file. However, it doesn't explicitly name alternative tools (e.g., scan_workspace, scan_diff) or state when those would be preferred, so the usage guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_workspaceB

Scan a local workspace for secrets, Korean PII, composite PII, config risks, and flow risks.

NameRequiredDescriptionDefault
pathYes
include_flowNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does not state whether the scan is read-only, whether it modifies files, what 'flow risks' entail, or what the return format looks like. The tool appears to be a scan, but its side effects and operational implications are opaque, which is a significant gap for a security-related tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no wasted words. It leads with the action and resource, then lists the detection categories. It is efficient, though it could be improved by adding a sentence about parameters or usage without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (scanning a whole workspace for multiple risk types) and the absence of an output schema and annotations, the description is insufficient. It does not explain what results are returned, how to interpret them, or the role of the include_flow parameter, leaving an agent with significant uncertainty about how to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must explain each parameter, but it only indirectly references 'path' via 'local workspace' and completely omits the 'include_flow' boolean. An agent would not know what toggling 'include_flow' does or why it defaults to true. The description fails to compensate for the schema's lack of documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Scan'), a resource ('local workspace'), and enumerates the exact categories it detects (secrets, Korean PII, composite PII, config risks, flow risks). This clearly distinguishes it from sibling tools like scan_text or scan_diff that operate on different input types, so an agent can immediately tell what this tool is for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (scanning a directory) via the phrase 'local workspace' and the required 'path' parameter, but it does not explicitly state when to choose this over alternatives like scan_text or scan_diff, nor does it mention any prerequisite conditions. The guidance is present but only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

score_fixture_corpusB

Evaluate a local fixture corpus and return FP/FN precision/recall scoreboard.

NameRequiredDescriptionDefault
corpus_pathYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It mentions returning a scoreboard but does not disclose whether the operation is read-only, whether it modifies the corpus, requires specific permissions, or has side effects. The lack of explicit safety cues is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence front-loads the core purpose and output. Every word is informative with no filler, earning a top score for efficiency and clarity of structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one required param, no output schema), but the description lacks essential context: required input format, what constitutes a corpus, and any prerequisites. With no annotations to fall back on, this is not complete enough for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain the 'corpus_path' parameter. It only hints at 'local fixture corpus' without specifying path format, file/directory requirements, or any constraints. This is insufficient for an agent to determine correct input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Evaluate'), a clear resource ('local fixture corpus'), and an explicit output ('FP/FN precision/recall scoreboard'). It uniquely identifies this tool among siblings, which are focused on scanning, validation, and audits rather than scoring a fixture corpus.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives or any exclusions. The description only states what it does, leaving the agent to infer applicability without any contextual cues or usage conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

security_gateC
Read-onlyIdempotent

Run the quick workspace gate. Use guardian_audit(fail_on=...) for the canonical release gate.

NameRequiredDescriptionDefault
pathNo.
fail_onNohigh
include_flowNo

TDQS

C2.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering mutation safety and side effects. The description adds 'quick' and 'workspace' context, which is slightly beyond annotations. However, it does not disclose what the gate actually does (e.g., what it scans, how it reports failures, whether it touches files). With annotations present, a 3 is appropriate – it adds minimal context but does not contradict or amplify the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (two sentences) and front-loaded with the action, but it is under-specified. There is no wasted wording, yet the conciseness does not earn its place because it conveys almost no actionable information. A description this brief would be acceptable only if the schema and annotations carried the load, but they do not for parameters and purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, no parameter descriptions, and a minimal description. There is no explanation of what the gate checks, what fail_on levels mean, what include_flow does, or how results are returned. Even with annotations, the agent lacks essential context to decide when and how to call this tool correctly. The description is far from complete for a security gate with three parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the tool description does not mention any of the three parameters (path, fail_on, include_flow). The agent must rely purely on parameter names and defaults, which is insufficient for correct invocation. The description completely fails to compensate for the lack of schema descriptions, leaving parameter semantics entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Run the quick workspace gate' – a verb and resource, but 'workspace gate' is vague and does not specify what checks are performed, what outcomes are produced, or what 'gate' means in this context. It distinguishes from guardian_audit but does not define its own purpose clearly. A more specific statement like 'Run a lightweight security scan on the workspace' would be clearer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly names guardian_audit as the canonical release gate, implying this tool is for a quicker, non-canonical check. This is partial guidance – it tells the agent when *not* to use this tool (for canonical releases) but does not state conditions for when to use this tool itself. It lacks direct 'use this when...' language, but the alternative reference provides some routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

software_composition_auditB

Audit Python/npm/Go locks; explicit authorization is required because engines may consult advisory databases.

NameRequiredDescriptionDefault
workspace_pathYes
authorize_advisory_lookupNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses a key behavioral trait: explicit authorization is required because engines may consult advisory databases, implying external network access. However, it does not state whether the tool modifies files or only reads, nor does it describe any other side effects. The disclosure is useful but incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the core purpose and then adds the critical authorization note. There is no fluff or redundancy; every word contributes to understanding the tool's function and a key prerequisite.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is incomplete for a tool that audits lock files. It does not explain what 'audit' means in terms of output (e.g., vulnerability report, risk score), what happens during the audit, or how parameters like 'authorize_advisory_lookup' affect behavior. With no output schema and only minimal description, an agent would struggle to correctly invoke and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It barely touches on the 'authorize_advisory_lookup' parameter via the authorization mention, but it does not explain either parameter's purpose or how to set them. The description adds minimal value beyond what the schema shows (names and defaults). This is insufficient for a tool where parameters are not self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool audits Python/npm/Go locks, specifying the verb 'audit' and the target resources. It distinguishes from generic audit tools like deep_analyzer_audit by focusing on lock files for specific ecosystems. However, it does not explicitly name sibling alternatives, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: use when you need to audit lock files for Python, npm, or Go. It does not provide explicit when-not guidance or mention alternatives, but the scope is clear enough to infer the primary use case. No exclusions or alternative suggestions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_review_before_shipD

Start Guardian high only after a completed first review of the same source snapshot.

NameRequiredDescriptionDefault
app_idYes이 릴리스에서 변하지 않는 앱 식별자(예: my-shop-web)
live_urlNo선택 사항인 실제 앱 URL. 승인 없는 외부 능동 검사는 실행하지 않습니다.
user_scopeYes사용자와 권한 범위(예: anonymous, member, admin)
data_classesYes다루는 데이터 종류. 쉼표로 구분합니다(예: account, korean_pii, payment)
workspace_pathNo설치 시 고정된 프로젝트는 '.'을 사용합니다..
live_authorizedNo외부 live 대상의 능동 검수 권한을 운영자가 확인했는지 여부
run_live_reviewNo허가된 live URL에 동적 검수를 실행할지 여부
scope_proof_refYes검수 권한을 확인할 수 있는 운영자 측 근거의 참조값. 비밀 원문은 넣지 않습니다.
business_purposeYes앱이 실제로 제공하는 기능과 이용 목적
public_endpointsNo허가된 공개 엔드포인트 목록(예: /,/api/health)
initial_review_idYes완료된 check_my_app 검수 번호. 코드 수정 후에는 check_my_app을 다시 실행한 번호여야 합니다.
authorization_noteNo능동 검수 권한 범위에 대한 짧은 설명. 자격증명 원문은 넣지 않습니다.
previous_report_pathNo선택 사항인 이전 raw-free Guardian 보고서 경로
run_software_compositionNo의존성·라이선스·공급망 분석을 함께 실행합니다.

Output Schema

NameRequiredDescription
methodYes
findingsNo
experienceYes
review_jobNo
guardian_gateNo
review_receiptNo
primary_workflowNo
application_assuranceNo
auditor_qualificationNo

TDQS

D1.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not reveal what side effects occur, whether the action is destructive, what permissions are needed, or what operational impact 'starting Guardian high' has. The tool appears to be a state-changing action with zero transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but grossly under-specified. It omits essential information and does not front-load any useful detail. Conciseness without substance is not effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (14 parameters, 6 required) and an output schema, the description needs to explain the tool's purpose, return value, and usage context. It does none of that. The single sentence leaves an agent without enough information to know when or how to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 14 parameters. The description adds no parameter-specific meaning, which aligns with the baseline of 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Start Guardian high' but never defines what 'Guardian high' is. It mentions a precondition (after a completed first review) but does not state the tool's actual function, resource, or outcome. This is vague and could be confused with sibling tools like continue_review or guardian_audit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides one usage condition (only after a completed first review) but gives no guidance on when to use this tool versus siblings like check_my_app, continue_review, or guardian_audit. There is no mention of alternatives or exclusions beyond the single prerequisite.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_fixC
Read-onlyIdempotent

Return a dry-run fix recipe and regression-test suggestions for a rule.

NameRequiredDescriptionDefault
rule_idYes
frameworkNogeneric

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true and idempotentHint=true, so the description correctly aligns by stating 'dry-run,' which implies no changes are applied. However, it does not mention any additional behavioral aspects like rate limits, required authentication, or the shape of the response. It adds a small amount of context about being a dry-run but stays within the safety profile the annotations already establish.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, focused sentence that states the core functionality without any filler. The key concept (dry-run fix recipe) is front-loaded, and there is zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's relative simplicity (two parameters, read-only operation) and the presence of safety annotations, the description covers the basic operation. However, without an output schema, the agent does not know what a 'fix recipe' or 'regression-test suggestions' looks like, and the framework parameter's effect is unaddressed. This makes the description incomplete for a correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no descriptions for rule_id or framework, and the description only refers to 'a rule,' which indirectly hints at rule_id but does not explain what a rule is or how framework modifies the output. With 0% schema coverage and no parameter explanation, the description fails to compensate, leaving the agent to guess at the meaning and semantics of both parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear action (return) and a specific object of that action: a dry-run fix recipe and regression-test suggestions for a rule. It distinguishes itself from siblings like explain_rule by focusing on fixes rather than explanations, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no explicit guidance on when to choose this tool over the many siblings, such as explain_rule or scan tools. The only implicit usage is that it applies to a rule, but there is no information about prerequisites, contexts, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_multilang_packC

Run the pinned nine-language pack twice; this does not claim field accuracy.

NameRequiredDescriptionDefault
pack_pathNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description is the sole source of behavioral disclosure. It discloses that the tool runs twice and explicitly states it does not claim field accuracy, which is a useful limitation. However, it does not describe side effects, return values, or what the validation process actually does beyond running twice, leaving significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the action and includes a caveat. It contains no redundant words or unnecessary detail, making it concise and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter and no output schema, the description should explain what pack_path should point to, what running twice accomplishes, and what the expected output or result indicates. The description only instructs to run it twice and disclaims accuracy, which is insufficient for an agent to invoke it correctly without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter (pack_path) with 0% description coverage, meaning the schema provides no meaning. The tool description does not mention the parameter at all, offering no context about what path to supply, its format, or its purpose. The description completely fails to compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Run the pinned nine-language pack twice') on a named resource, making the primary action clear. The tool name 'validate_multilang_pack' reinforces the purpose of validation, and the caveat 'does not claim field accuracy' differentiates it from accuracy-focused tools. However, it does not explicitly state that it validates a multilingual pack, relying on the name for that.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus siblings like validate_policy_controls or scan_workspace. It does not mention prerequisites, scenarios, exclusions, or alternatives. An agent has no basis for choosing this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_policy_controlsC

Run the repeated synthetic JIT/JEA and database AST/RBAC/isolation control pack.

NameRequiredDescriptionDefault
output_pathNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Run', implying execution but does not state side effects, whether it is read-only, what output it produces, or any dependencies. The phrase 'repeated synthetic' hints at repetition but remains vague and unexplained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundant words. It front-loads the primary action and resource. While it lacks structure or headers, it is efficient and easy to read for its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool lacks an output schema, annotations, and rich parameter documentation. The description gives only a terse summary that assumes domain knowledge about JIT/JEA and AST/RBAC. It does not explain what the validation entails, what the output looks like, or any prerequisites, leaving the agent under-informed for a validation/control tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description does not mention the sole parameter 'output_path' at all. The parameter name suggests it is an output destination, but that is not clarified. The description adds no meaning beyond what the schema already shows, and fails to compensate for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Run') and a specific resource ('the repeated synthetic JIT/JEA and database AST/RBAC/isolation control pack'). It provides enough specificity to distinguish it from siblings like validate_multilang_pack, though the jargon-heavy phrasing ('synthetic JIT/JEA' and 'AST/RBAC/isolation') may be ambiguous without domain context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention any sibling tools, conditions, or exclusions. The description simply states what it does, leaving the agent to infer context from the name and context signals.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_streamable_http_runtimeD

Run the repeated Streamable HTTP authorization, lifecycle, SSE, and audit matrix.

NameRequiredDescriptionDefault
output_pathNo

TDQS

D1.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavior disclosure. It only says it 'runs' something, without disclosing side effects, read-only vs mutating nature, auth requirements, or output format. This is a serious gap for a tool that likely performs complex validation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, but it is under-specified rather than concise. It contains almost no actionable information, so the words do not earn their place. It is more of a heading than an explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that likely executes a multi-faceted validation matrix, the description provides no context on what the matrix entails, how to interpret results, or how the output_path is used. With no output schema and minimal description, an agent cannot confidently call this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, output_path, has 0% schema description coverage and the description does not mention it at all. The description adds no meaning to the parameter, failing to compensate for the schema's lack of explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Run') and resource ('Streamable HTTP'), and lists topics it covers (authorization, lifecycle, SSE, audit). However, 'repeated ... matrix' is vague and does not clearly convey what the tool actually does. It does not explicitly differentiate from sibling validation tools like validate_policy_controls or validate_multilang_pack, but the resource name gives some distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus its siblings. It does not mention prerequisites, scenarios, or exclusions. An agent would have no cue for choosing this over other validation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 28 tool updatesv0.1.0
    • First observedbuild_flow_map
    • First observedcheck_my_app
    • First observedcontinue_review
    • First observedcreate_benchmark_template
    • First observedcreate_field_campaign_template
    • First observedcreate_guardian_manifest_template
    • First observeddata_release_gate
    • First observeddeep_analyzer_audit
    • First observedenforce_mcp_events
    • First observedexplain_rule
    • First observedfield_benchmark
    • First observedfield_campaign_status
    • First observedguardian_audit
    • First observedobserve_mcp_event
    • First observedobserve_mcp_events
    • First observedprobe_http
    • First observedscan_diff
    • First observedscan_mcp_config
    • First observedscan_text
    • First observedscan_workspace
    • First observedscore_fixture_corpus
    • First observedsecurity_gate
    • First observedsoftware_composition_audit
    • First observedstart_review_before_ship
    • First observedsuggest_fix
    • First observedvalidate_multilang_pack
    • First observedvalidate_policy_controls
    • First observedvalidate_streamable_http_runtime

TDQS

C2.5/5.0

Scored across 28 tools

Disambiguation4/5

Most tools have clearly distinct purposes with detailed descriptions. However, a few near-duplicates exist (e.g., observe_mcp_event vs observe_mcp_events, security_gate vs guardian_audit) that could slightly confuse an agent. Overall, the set is well-separated.

Naming Consistency2/5

Tool names mix conventions inconsistently. Many follow verb_noun (scan_workspace, create_field_campaign_template, explain_rule), but several use noun_noun (software_composition_audit, data_release_gate, field_campaign_status, security_gate). There is also singular/plural inconsistency (observe_mcp_event vs observe_mcp_events). This makes naming patterns unpredictable.

Tool Count2/5

With 28 tools, this exceeds the 25+ threshold and feels heavy. While the domain is broad, many tools overlap in function (multiple validation and audit tools). The server could consolidate some related tools (e.g., separate scan_* tools) without losing clarity.

Completeness4/5

The tool surface covers the main security workflow: scanning, validation, audits, templates, explanations, fixes, and status gates. Minor gaps exist (e.g., no explicit rule management or history retrieval), but the core lifecycle is present and agents can complete typical tasks.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server that enables AI coding tools to scan projects for security vulnerabilities, secret leaks, and compliance issues, generating Korean-language audit reports.
    15
    9
    PolyForm Noncommercial 1.0.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI coding tools to scan projects for security vulnerabilities, hardcoded secrets, injection flaws, and privacy violations with 699 rules and 76 MCP tools, all running locally with zero telemetry.
    6 npm
    7
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP-compatible AI agents to scan code for leaked secrets, copyleft licenses, unprotected routes, missing privacy policies, and risky card handling before committing or shipping.
    115 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides on-machine security scanning for Copilot-generated code, including SAST, secrets, dependency, container, and configuration checks, plus AI-specific risk detection, with findings and fixes available via MCP tools.
    Apache 2.0