Skip to main content
Glama

K-Guard MCP

안경선배 · 바이브코딩 선배

不打断创作流程,也不草率放行交付。

K-Guard MCP 是一个本地优先的 MCP 审计官,在交付 vibe coding 成果之前,对站点、API 暴露、数据管理、运营风险进行联合检查。Guardian 区分"没有问题"和"尚未检查到",并以韩语返回 可交付 / 修复后交付 / 检查范围不足 的判定和后续行动。

K-Guard 不是替代人类商业判断或法律审查的保证书。它自动化了资深开发者在交付前会提出的问题,以及 fail-closed 门禁。

5分钟安装 · 安装·设计验证 · 使用指南 · GitHub 公开指南 · 必备 qualification · 产品北极星 · 完整 dogfood 判定 · 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 从其他工作目录启动,也会检查该项目,并拒绝边界之外的路径(high HOLD)。ChatGPT doctor/run 还需要当前 shell 中具有 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 客户端 → 后续行动。自动化使用 install --json、doctor --json。竞赛评审·发布复现和代码修改请使用5分钟安装的评审·复现验证路径,以 --require-hashes 安装 build·evidence lock。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 及其兼容别名 experience.details.presentation,顺序固定为 verdict → why → next_actions → details。Guardian 将应用风险显示为 application_assurance,将审计工具自身的验证状态显示为 auditor_qualification。experience.verdict_code、experience.verdict_message、experience.summary 是兼容现有报告的字段。

检查内容

K-Guard 结合了:

  • 静态扫描:韩语 PII、复合 PII、韩语组织标识符(사업자등록번호 校验和语法验证;법인등록번호 历史 Annex 校验和或 2025-01-31 之后的 4+2+7 显式上下文/语法识别,不进行实时注册表验证)、密钥

  • 配置扫描:CORS/debug/source map/env 前缀风险

  • 资深应用风险扫描:直接 request-to-SQL/command/file/URL/HTML sink、mass assignment、开放重定向、浏览器 token 存储、弱 cookie、明文密码比较、以及 JWT 解码但不验证

  • 韩语数据治理扫描:唯一/敏感字段声明、加密/访问控制证据、访问日志、外部处理者审查、保留期、删除

  • MCP 原生威胁扫描:隐藏指令、工具投毒、外泄意图、以及跨直接文本加受限 Unicode/confusable、转义/百分号/HTML、Base64、分段碎片、三行滚动归一化的过度本地访问

  • 结构化 MCP 配置审查:shell 包装器、可变包启动器、明文远程 HTTP、固定凭据、不安全链接/读取失败、以及跨 project/Codex/Grok/Antigravity 配置候选的 fail-closed 发现边界

  • YARA-lite 本地规则包:prompt 注入标记、外泄命令标记、韩语批量 schema 提示

  • 安全动态探测:localhost HTTP 检查、明确授权的外部源检查、可选的有界深度暴露检查、以及可选用户提供的只读会话头

  • 数据流风险图:启发式图加 Python AST 和轻量 JS/TS source → sink 污点分析,包括唯一导入 Python 辅助函数参数到 sink 摘要和有限 JS/TS 路由到服务 IDOR 摘要

  • MCP 运行时观察器/拦截器:JSON/JSONL 和流式事件检查,用于隐藏指令、PII 到 agentic/外部 sink 流,以及对转发事件流的批量阻止/脱敏执行

  • Semgrep 深度适配器:离线 40 规则 profile、精确扫描目标证明、固定 1.174.0 身份、源码快照绑定、以及 fail-closed JS/TS/Python/Java/Kotlin/Go/PHP/Ruby/C# 发现

  • 九语言验证包:Python/JavaScript/TypeScript/Java/Kotlin/Go/PHP/Ruby/C# 90 个固定易受攻击/干净用例、TP/FN/FP/TN 评分、以及精确两次运行指纹复现

  • 软件成分分析:使用 pip-audit、npm audit 和 govulncheck 对 Python/npm/Go manifest 和 lock 进行有界覆盖;部分引擎、lock、输出或源码漂移失败会阻断发布

  • Streamable HTTP MCP 代理:POST/GET SSE/DELETE 完全中介、principal 绑定生命周期、默认拒绝 JIT/JEA 授权、过滤工具清单、有界流、以及 HMAC 链式无原始审计日志

  • 数据库控制:SQLGlot AST 白名单、role/database/schema/table/column RBAC、读取前 EXPLAIN、SQLite 仅查询授权器、路径包含、以及行/单元格/结果/时间预算

  • 只读连接器:本地 SQLite、日志、JSON/CSV/TSV 存储采样,不存储原始值;连接器缺口成为 high 发现

  • 保留/删除审查:当存在个人数据信号时,标记缺失的保留/删除标记

  • 跨平面判定:将韩语 PII 发现与 LLM/MCP/外部/静态数据 sink 证据关联

  • FP/FN 记分板:fixture 语料召回率和误报率。FPR 使用 measurable_negative_count 作为分母(无 expected_absent 的干净负例);negative_count 是所有声明的负例,targeted_absence_case_count 覆盖不进入 FPR 分母的选定规则缺失。零可测量负例分母报告为 FPR 0.0。

  • SARIF/CI 输出:按配置的严重级别使构建失败

  • korean_senior Guardian profile:站点安全、API 暴露、数据管理、运营风险四个领域的 fail-closed 契约

  • 主要 MCP 工具:check_my_app、continue_review、start_review_before_ship;内部规范引擎:Guardian high;引导提示:guided_review

  • 高级 MCP 工具: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/...、验证模板。开发环境在仓库根目录以 --require-hashes 安装两个 lock 后,用 python -m pip install --no-build-isolation --no-deps -e . 准备。evidence lock 同时固定 release 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 的用户请替换为相同 schema 的自有 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 是短生命周期的,且绑定到唯一精确 origin。Guardian 仅在断言身份响应也匹配时,才将认证比较视为完成:

{
  "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>"
  }
}

将文件保留在被调用的 workspace 内,或 Guardian manifest 旁边。边界之外的文件、链接、过期会话、origin 不匹配、不支持的 header、以及超大文件都会 fail closed。digest 覆盖 UTF-8 解码之前的精确有界响应字节;原始会话值和响应体不会写入 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 门禁 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% 阈值,两者不可互换声称。

源码检出 Release Hygiene

在 CTO 审查或发布准备之前,请使用 release hygiene 检查:

python scripts/release_hygiene.py --json

默认模式验证脏的 release-candidate worktree 已被分类、没有可见的运行时临时输出、没有未解决的 review-required 工件。在预期的 release commit 之后使用 --strict-clean;严格模式还会将每个包构建输入字节与 Git index blob 进行比较。打标签发布额外要求 --expected-tag v{project.version},且该精确标签必须解析到已检出的 HEAD commit。release workflow 等待可复用的 Windows/macOS/Linux CI 矩阵、创建 attestation、并将标签工件发布为 GitHub Release。详情见 docs/release-hygiene.md。

Guardian Actions 模板当前安装由 workflow commit 选择的精确 K-Guard 源码检出;它不假设 PyPI 包。在复制到其他仓库之前,请将 K-Guard 供应商到 commit 固定的路径,并设置 K_GUARD_SOURCE_PATH。release 工件存在后,消费者应固定精确 wheel 加其已发布 SHA-256,或在直接引用 requirement 中固定完整的 40 字符 Git commit。仅将占位符替换为实际 release 位置:

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)。此模式检查一小部分固定的暴露环境变量/git/备份/调试路径,并且仍然避免登录尝试、变更、模糊测试和漏洞利用载荷。

通过 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 四个客户端进行了适配,详细步骤见 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 请求预算对整个清单进行预检。文件展开被限制在配置上限加一条检测记录,因此过大的目录树会在枚举整个目录树之前被拒绝。过大的多目标工作返回 Guardian 格式的失败关闭报告;对于有意更大的批次,请使用 CLI 或拆分清单。动态 HTTP 检查默认每个响应最多读取 1 MiB,并且每次探测运行在 16 MiB、80 个请求或 30 秒处停止。

安全默认值

  • JSON/Markdown/MCP 输出通过集中式脱敏层

  • SARIF 输出也通过相同的脱敏层,并存储无原始数据的证据

  • 动态探测默认仅允许 localhost、127.0.0.1 和 ::1

  • 外部动态探测需要明确的授权证据和选择加入,然后保持固定路径、只读、同源且不重定向。每个请求仅解析允许列表中的公共地址,并连接到选定的已验证 IP,同时保留原始 HTTP Host/TLS SNI。

  • 动态探测不跟随到非允许列表主机的重定向

  • 动态探测仅使用非破坏性 HTTP 方法

  • --deep-active 是对常见暴露的 .env、.git/config、备份/转储以及调试/运行时路径的有界授权检查。它不是递归爬取、密码猜测、漏洞利用载荷或路径暴力破解字典。

  • 动态探测使用超时并限制采样的响应体

  • 不执行外部密钥有效性检查

严重性和置信度

严重性值集中验证:

  • critical:凭据/私钥/数据库 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 规则证明以及完整的跨过程污点分析仍是路线图项目。 流程发现包括无原始数据的源/汇行哈希,以便在不回显敏感值的情况下使证据可复现。 流程可视化生成为本地 SVG/HTML,不依赖外部 JavaScript 或 CDN。相同的脱敏层保护 JSON、Markdown、SVG、HTML 和 MCP 响应。

运行时 MCP 观察通过 observe_mcp_events 摄取 JSONL/JSON 事件导出,也可以通过 observe_mcp_event(session_id=...) 一次评估一个事件。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 收据链,用于访问拒绝和内容允许/脱敏/阻止决策;配置的 sidecar 持久化在转发之前发生,并失败关闭。操作员密钥验证对于防篡改声明是必需的,因为 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 个 vibe-coded 疑似站点或报告

  • 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 的修复方案。

Guardian 清单还携带无原始数据的业务意图和范围断言字段:business_purpose、data_classes、user_scope、public_endpoints、scope_basis 和 scope_proof_ref。K-Guard 不声称具有人类级别的业务理解或自行证明所有权;它记录这些断言是否存在,并且仅存储哈希引用。范围完成需要显式的 scope_proof_ref;定位器和遗留授权说明不被视为证明。数据发布门禁要求这些目标级契约和经过验证的操作员密钥证据包,其工件哈希与当前报告匹配,然后才将报告视为发布证据。

新模板设置 audit_profile=korean_senior。在此配置文件中,发布门禁不会仅仅因为发现零个阻止项而通过。它还需要一个实质性的工作区,其中至少包含一个受支持且成功解码的生产源文件、流程分析、完成的深度 HTTP 审查、声明的端点路径实际返回 2xx/3xx/401/403 而不仅仅是 404,以及明确的目的/数据/用户/范围断言。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 配置文件中,不得呈现为四域高级覆盖。

public_endpoints 是可执行的审查范围,而非装饰性元数据。Guardian 安全地将该字段中的有效同源路径添加到固定的 GET/OPTIONS 探测集(最多 50 个;不允许绝对 URL、父级遍历或模板化路径)。这使 API 审查能够覆盖应用特定的只读端点,同时保持探测有界。

当 HTTP 行包含 session_file 时,Guardian 运行相同的有限路径集两次:一次未认证,一次使用操作员提供的只读会话。这使公共暴露检查保持可见,而不是用仅认证视图替换它们。会话必须同时证明认证墙转换和声明的身份响应摘要。当任一证明缺失、探测产生请求或控制错误,或未达到有效的声明端点范围时,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 实际执行,否则它们将成为覆盖缺口而不是静默通过。

除非传入 --run-probes,否则不会执行 HTTP 行。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。Guardian 模式仍使用固定的安全 GET/OPTIONS 探针,不执行登录尝试、密码猜测、变异、漏洞利用载荷、递归爬取或跨主机重定向跟随。

MCP 客户端应向 guardian_audit 传入 fail_on="high",以在 guardian_gate.passed 中获得规范的发布门禁判定;进程退出码仍属于 CLI 关注事项。使用 --previous previous-guardian-report.json 将报告转变为漂移监控器。仅当加载了先前报告时,新的阻塞性发现才会单独列出;当这些发现应阻止发布时,请将 --previous 与 --fail-on 结合使用。如果 MCP 控制检查在目标执行前停止 guardian,报告模式和门禁模式都会返回包含 execution_contract、summary 和 findings 的 guardian 形状响应;门禁模式还额外包含 guardian_gate.passed=false。报告包含 execution_contract 部分,使跳过、出错和已执行的目标在一处可见,包括 Markdown 和 HTML 导出。

MCP security_gate(path, fail_on) 是一个快速的工作区专用门禁。它现在在 MCP 控制失败时返回 security_gate.passed=false,例如无效阈值、参数预算、工作区预算限制或扫描异常,但它有意报告 coverage_model="workspace_only"。对于需要 HTTP 目标、MCP 运行时导出、先前报告或覆盖缺口核算的发布决策,请使用 Guardian。

抑制策略为失败关闭(fail-closed)。suppression-template 创建一个 CSV,将每个豁免绑定到 app_id、audit_profile、当前源快照或审查证据哈希、target_id、发现指纹、所有者、原因和未来到期时间。豁免不能针对其他应用或更改后的发布快照重放;无效、过期或已到期的行会添加高严重性策略发现。抑制不能清除 Guardian 覆盖缺口或 MCP 控制失败规则。field-validation-queue 导出每个高/严重候选,包含脱敏指纹、检测器子类型、工件范围、文件/正文/头部位置类型和可用的响应哈希。严格的 field-validation-report --profile field 声明保持关闭,直到 12-20 个自有/合作伙伴应用、120 个已标注案例、50 个阳性、40 个阴性、五个严重案例、三个分层、一个至少包含 70 个案例、35 个阳性、35 个阴性和 35 个候选的预注册保留集、角色分离的审查员/保管人签名,以及一次精确的第二次规范 Guardian 执行全部通过固定阈值。总体/保留集精确率、保留集高/严重召回率和保留集特异度必须同时通过点估计和 Wilson 95% 下限;严重保留集召回率保持恰好 1.0。每个候选必须恰好绑定到一个冻结的开发/保留集范围。候选 (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。这种应用级敏感性门禁防止一个仓库中数十个相关行产生虚假的统计置信度。人工审查和政策完整性保留仍为失败关闭,但被排除在自动阻止可操作性之外。

完整的证据层级、首次基线、标注和重复运行合同记录在 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 目标内核心门禁,该门禁覆盖每个合成场景一次。计划/手动审计工作流运行 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。也可以使用 --source-url 提供 Majestic Million 风格的 CSV。

仅 AI 竞赛 RC 证据

竞赛 RC 将开发证据保持在独立轨道中,而不是发布一个汇总的准确率数字:

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 个案例评估者撰写的保留集作为独立轨道。它还检查五个工作区合同、四个官方唯一标识符概念、企业/公司编号边界和六个敏感词汇表面。它不发布汇总的混淆矩阵,也不声称盲测、人工裁决、注册表、合作伙伴或现场准确率。

  • 公共记分卡分别保留当前和历史轨道。当任何选定的历史工件存在摘要或绑定不匹配时,--require-integrity-pass 会故意失败;仍然可以生成报告,因此不可采信的历史结果保持可见,而不是被静默重写或丢弃。

  • 竞赛性能配置文件在一个公开的主机上测量精确的合成全良性低信号语料库,包括新进程冷启动和持久扫描器热启动延迟、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 生命周期执行实际的双向强制。二进制帧、非标准传输以及适用于每个客户端的通用即插即用代理仍不在强制边界之内

  • 远程数据库/存储/备份和实际删除执行尚未验证

  • 韩语 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 组至少有一个匹配规则、且没有 forbidden 规则出现时(逐例任意规则召回),该案例即通过。通过此检查后,冻结的清单得分为 68/68,召回率 1.0,特异性 1.0,且两次运行完全重复。这并不代表实时字段准确性的声明。

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.
    17 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