Skip to main content
Glama
ark-forge

eu-ai-act-scanner

by ark-forge

EU AI Act Compliance Scanner — CLI + MCP 服务器

PyPI 版本 GitHub Stars 免费开始 Pro 计划 — €29/月 适用于 Claude 适用于 Cursor

一条命令,无需配置。10 秒内获得完整的欧盟 AI 法案 + GDPR 合规报告。

pip install eu-ai-act-scanner
eu-ai-act-scanner /path/to/your/project

检测你代码库中的 16 个 AI 框架,将每个框架映射到有约束力的法律条款,返回通过/失败状态及修复说明。免费层,无需 API 密钥。

2026 年 8 月 2 日执法截止日期。罚款最高 3500 万欧元或全球营业额的 7%。

如果这个工具对你的合规工作有帮助,在 GitHub 上点个 ⭐ 可以帮助其他人发现它。

需要审计级别的证据? 通过 ArkForge Trust Layer 为每次扫描认证——防篡改、带时间戳的合规证据。每月 500 份免费证明。

获取你的合规报告 →

快速开始

CLI(10 秒内扫描任何项目)

pip install eu-ai-act-scanner   # or: pip install mcp-eu-ai-act
cd your-project/
eu-ai-act-scanner

输出:

========================================================================
  EU AI Act Compliance Scanner
========================================================================

  Files scanned: 42
  AI frameworks detected: 2
    - openai (in 3 files)
    - langchain (in 1 file)

  Risk category: limited
  Compliance score: 4/7 (57%)
  Checks:
    [PASS] Transparency
    [PASS] User Disclosure
    [FAIL] Technical Documentation  → Create docs/TECHNICAL_DOCUMENTATION.md
    [FAIL] Risk Management          → Create docs/RISK_MANAGEMENT.md
    [FAIL] Data Governance          → Create docs/DATA_GOVERNANCE.md

或者直接指定路径:eu-ai-act-scanner /path/to/your/project

随时间跟踪合规性(免费):eu-ai-act-scanner . --register you@email.com

Related MCP server: EU AI Act Compliance MCP Server

免费版 vs Pro 版

免费版

Pro 版 (€29/月)

认证版 (€99/月)

每日扫描次数

5

无限制

无限制

AI 框架检测

✓ (16 个框架)

✓ (16 个框架)

✓ (16 个框架)

风险类别建议

✓

✓

✓

合规检查

—

✓ (内容评分 0-100)

✓

完整合规报告

—

✓ (高管 + 技术)

✓

合规路线图

—

✓ (逐周计划)

✓

附件 IV 包

—

✓ (审计就绪的 ZIP)

✓

GDPR 扫描

—

✓

✓

欧盟 AI 法案 + GDPR 合并

—

✓ (双重合规热点)

✓

Trust Layer 认证

—

—

✓ (加密证明)

CI/CD 集成

—

✓

✓

API 密钥

不需要

✓

✓

可用工具

2

10

10 + 认证

免费层:无需注册,无需 API 密钥——只需 pip install 然后扫描。Pro 版解锁团队在 2026 年 8 月截止日期前所需的完整合规工具包。

→ 比较计划并获取你的 API 密钥

v2 新增功能

功能

说明

generate_compliance_roadmap

逐周行动计划,在截止日期前达到合规

generate_annex4_package

审计就绪的 ZIP,包含从代码中填充的所有 8 个附件 IV 部分

certify_compliance_report

通过 Trust Layer 提供加密证明(欧盟 AI 法案第 12 条)

内容评分

check_compliance 现在对文档内容评分(0-100),而不仅仅是存在性

条款映射

每个发现结果映射到特定的欧盟 AI 法案条款

MCP 服务器(从源码)

git clone https://github.com/ark-forge/mcp-eu-ai-act.git
cd mcp-eu-ai-act
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python3 server.py

运行测试

pip install pytest
pytest tests/ -v

MCP 集成

从 PyPI 安装(推荐)

pip install eu-ai-act-scanner

Claude Code

claude mcp add eu-ai-act -- eu-ai-act-mcp

Claude Desktop

添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "eu-ai-act": {
      "command": "eu-ai-act-mcp"
    }
  }
}

Cursor

添加到 .cursor/mcp.json:

{
  "mcpServers": {
    "eu-ai-act": {
      "command": "eu-ai-act-mcp"
    }
  }
}

HTTP 模式(用于 CI/CD 或远程客户端)

pip install uvicorn
python3 server.py --http
# Listening on 0.0.0.0:8089

工具参考

1. scan_project

检测源代码和配置文件/清单文件中的 AI 框架使用情况。支持 16 个框架,涵盖 Python、JS、TS、Go、Java 和 Rust。

关键参数: project_path(字符串,必填)

示例输出:

{
  "files_scanned": 42,
  "ai_files": [
    {"file": "src/chat.py", "frameworks": ["openai"]},
    {"file": "requirements.txt", "frameworks": ["openai"], "source": "config"}
  ],
  "detected_models": {"openai": ["src/chat.py", "requirements.txt"]}
}

2. check_compliance

对文档内容质量评分(0-100),并将每个发现结果映射到特定的欧盟 AI 法案条款。得分 ≥40 = 通过。完全向后兼容 v1。

关键参数: project_path(字符串,必填),risk_category(字符串,默认:limited)

示例输出(v2):

{
  "risk_category": "high",
  "compliance_score": "4/6",
  "compliance_percentage": 66.7,
  "content_scores": {
    "RISK_MANAGEMENT.md": 82,
    "TRANSPARENCY.md": 45,
    "DATA_GOVERNANCE.md": 12
  },
  "article_map": {
    "art_9": {"status": "pass", "score": 82},
    "art_10": {"status": "fail", "score": 12},
    "art_13": {"status": "pass", "score": 45}
  }
}

3. generate_compliance_roadmap — v2 新增

感知截止日期、逐周行动计划的欧盟 AI 法案合规方案,目标是在 2026 年 8 月 2 日前达成。使用关键性 × 1/努力度算法优先排序速赢项。

关键参数: project_path(字符串,必填),risk_category(字符串),target_date(字符串,ISO 格式,默认:2026-08-02)

示例输出:

{
  "weeks_remaining": 16,
  "phases": [
    {
      "week": 1,
      "action": "Add TRANSPARENCY.md with user disclosure statement",
      "article": "Art. 13",
      "effort_days": 1,
      "priority": "critical"
    },
    {
      "week": 2,
      "action": "Draft risk management procedure covering Art. 9 requirements",
      "article": "Art. 9",
      "effort_days": 3,
      "priority": "high"
    }
  ],
  "estimated_completion_week": 8
}

4. generate_report

运行扫描 + 合规检查,返回包含两级输出的综合报告:面向 DPO/法务的高管总结和面向开发者的技术分解。包含逐条条款引用。

关键参数: project_path(字符串,必填),risk_category(字符串,默认:limited)

示例输出:

{
  "executive_summary": {
    "compliance_percentage": 67,
    "deadline": "2026-08-02",
    "days_remaining": 117,
    "gap_count": 3,
    "verdict": "Action required — 3 gaps must be addressed before deadline"
  },
  "technical_breakdown": {
    "art_9": {"status": "fail", "missing": ["hazard identification section", "residual risk log"]},
    "art_13": {"status": "pass", "score": 78}
  },
  "recommendations": [
    {"article": "Art. 9", "action": "Add hazard identification section to RISK_MANAGEMENT.md", "effort": "2 days"}
  ]
}

5. suggest_risk_category

根据纯文本描述将你的 AI 系统分类到欧盟 AI 法案风险类别。匹配第 5 条(禁止)、附件 III(高风险)、第 52 条(有限)和最低风险。

关键参数: system_description(字符串,必填)

示例输出:

{
  "suggested_category": "high",
  "confidence": "high",
  "matched_criteria": ["Annex III, Category 4 — AI in employment decisions"],
  "obligations_summary": "Technical documentation, risk management, human oversight, data governance, transparency"
}

6. generate_compliance_templates

返回每个必需合规文档的起始 Markdown 模板。保存在 docs/ 目录中并填写方括号内的部分。

关键参数: risk_category(字符串,默认:high)

对于 high 风险:风险管理(第 9 条)、技术文档(第 11 条)、数据治理(第 10 条)、人工监督(第 14 条)、鲁棒性(第 15 条)、透明度(第 13 条)。


7. generate_annex4_package — v2 新增

生成审计就绪的 ZIP,包含从实际项目文件中填充的所有 8 个附件 IV 部分。可选择使用 Trust Layer 认证以提供加密证明。

关键参数: project_path(字符串,必填),sign_with_trust_layer(布尔值,默认:false),trust_layer_key(字符串,可选)

示例输出:

{
  "package_path": "/tmp/annex4_myproject_20260407.zip",
  "sha256": "a3f8c2d1...",
  "sections_populated": 8,
  "sections_missing_data": ["section_6_accuracy_metrics"],
  "proof_id": "prf_01j9z8x7w6v5u4t3s2r1",
  "verification_url": "https://trust.arkforge.tech/verify/prf_01j9z8x7w6v5u4t3s2r1"
}

8. certify_compliance_report — v2 新增

使用 ArkForge Trust Layer 认证任何合规报告。返回防篡改的 proof_id 和给你的审计员使用的公开验证 URL(欧盟 AI 法案第 12 条审计跟踪)。

关键参数: report_data(字符串,JSON 序列化的报告),trust_layer_key(字符串,必填)

示例输出:

{
  "proof_id": "prf_01j9z8x7w6v5u4t3s2r1",
  "timestamp": "2026-04-07T14:32:00Z",
  "sha256": "a3f8c2d1e4b5...",
  "verification_url": "https://trust.arkforge.tech/verify/prf_01j9z8x7w6v5u4t3s2r1",
  "article": "EU AI Act Art. 12"
}

9. gdpr_scan_project

扫描个人数据处理模式:PII 字段、跟踪像素、地理位置、文件上传、Cookie 模式。映射到 GDPR 第 22/35 条要求。

关键参数: project_path(字符串,必填)


10. combined_compliance_report

同时运行 GDPR + 欧盟 AI 法案扫描,识别双重合规热点——即同时适用两项法规的文件。

关键参数: project_path(字符串,必填),risk_category(字符串,默认:limited)

示例输出:

{
  "hotspots": [
    {
      "file": "src/hiring_model.py",
      "eu_ai_act_risk": "high",
      "gdpr_risk": "high",
      "overlap_patterns": ["AI+PII", "AI+automated_decision"],
      "combined_articles": ["EU AI Act Art. 14", "GDPR Art. 22"],
      "priority": "critical"
    }
  ],
  "key_insight": "2 files require simultaneous GDPR + EU AI Act remediation"
}

认证你的合规性(欧盟 AI 法案第 12 条)

唯一一个生成加密认证合规证据的 MCP。

# Step 1: Generate Annex IV package and certify it
generate_annex4_package(
    project_path="/path/to/project",
    sign_with_trust_layer=True,
    trust_layer_key="your_trust_layer_key"
)
# → Returns proof_id + public verification URL for your auditor

# Step 2: Or certify any compliance report directly
certify_compliance_report(
    report_data='{"compliance_percentage": 87, "risk_category": "high"}',
    trust_layer_key="your_trust_layer_key"
)

免费 Trust Layer 账户:每月 500 份认证证明 → arkforge.tech

定价

计划

价格

包含内容

免费版

€0

5 次扫描/天 · scan_project + suggest_risk_category

Pro 版

€29/月

无限扫描 · 所有 10 个工具 · 合规路线图 · 附件 IV 包

认证版

€99/月

Pro 版所有内容 + 每份报告的 Trust Layer 认证

获取你的 API 密钥 →

REST API

独立的 HTTP API(paywall_api.py)为 CI/CD 和外部客户端提供速率限制的 REST 端点。

python3 paywall_api.py
# Listening on 0.0.0.0:8091

方法

路径

认证

说明

GET

/api/v1/status

无

服务状态 + 你的速率限制

GET

/api/usage

无

当前 IP 的免费层使用量

POST

/api/v1/scan

免费版/Pro 版

扫描项目的 AI 框架

POST

/api/v1/check-compliance

免费版/Pro 版

检查欧盟 AI 法案合规性

POST

/api/v1/generate-report

免费版/Pro 版

完整合规报告

POST

/api/v1/scan-repo

免费版(速率限制)

通过 URL 扫描 GitHub 仓库

POST

/api/checkout

无

Stripe 结账会话

POST

/api/webhook

Stripe 签名

Stripe webhook 处理器

免费层:每个 IP 每天 5 次扫描,无需注册。 Pro 版:无限扫描,需要 X-API-Key 头。29 欧元/月 via arkforge.tech/pricing。

示例:通过 REST 扫描

curl -X POST https://arkforge.tech/mcp/api/v1/scan \
  -H "Content-Type: application/json" \
  -d '{"project_path": "/path/to/your/project"}'

配置

对于 REST API(Stripe 支付、邮件通知),创建 settings.env:

STRIPE_LIVE_SECRET_KEY=sk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...
TRUST_LAYER_INTERNAL_SECRET=<random-64-char-hex>
SMTP_HOST=ssl0.ovh.net
IMAP_USER=contact@example.com
IMAP_PASSWORD=...

将 SETTINGS_ENV_PATH 设置为文件位置(默认为 /opt/claude-ceo/config/settings.env)。

支持的框架(16 个)

框架

检测覆盖范围

OpenAI

GPT-3.5、GPT-4、GPT-4o、o1、o3、嵌入模型

Anthropic

Claude(Opus、Sonnet、Haiku)

Google Gemini

Gemini Pro、Ultra、1.5、2、3、Flash

Vertex AI

Google Cloud AI 平台

Mistral

Mistral Large/Medium/Small、Mixtral、Codestral、Magistral

Cohere

Command-R、Command-R+、嵌入模型

HuggingFace

Transformers、Diffusers、Accelerate、SmolAgents

TensorFlow

Keras、.h5 模型文件

PyTorch

.pt/.pth 模型文件、nn.Module

LangChain

Core、Community、OpenAI、Anthropic 集成

AWS Bedrock

Bedrock Runtime、Agent Runtime

Azure OpenAI

Azure AI OpenAI 服务

Ollama

本地模型推理

LlamaIndex

VectorStoreIndex、SimpleDirectoryReader

Replicate

云端模型推理

Groq

快速推理 API

检测同时覆盖源代码中的导入语句和配置文件中的依赖声明。

欧盟 AI 法案风险类别

类别

示例

主要义务

不可接受

社会评分、大规模生物识别监控

禁止

高风险

招聘、信用评分、执法

文档记录、风险管理、人工监督

有限风险

聊天机器人、内容生成

透明度、用户告知、内容标记

最低风险

垃圾邮件过滤器、电子游戏

无

局限性

  • 仅进行静态分析——检测导入和模式,而非运行时行为

  • 无法仅从代码自动确定风险类别(请使用 suggest_risk_category 并提供描述)

  • check_compliance 对内容质量进行评分——包含模板/占位符文本的文档将得分较低

  • 文件扫描限制为 5,000 个文件,每个文件最大 1 MB

  • 出于安全考虑,某些系统路径被禁止扫描

ArkForge 生态系统

本扫描器是首个通过 ArkForge 信任层自主销售的服务——该信任层是一个认证代理,可将 API 调用转化为可验证、已付费、防篡改的交易。

Agent Client  →  Trust Layer  →  EU AI Act Scanner
   pays            certifies         delivers

组件

描述

仓库

信任层

认证代理——计费、证明链、验证

ark-forge/trust-layer

MCP EU AI Act

合规工具包(本仓库)

ark-forge/mcp-eu-ai-act

证明规范

证明格式的开放规范及测试向量

ark-forge/proof-spec

代理客户端

自主买家——非人类客户的概念验证

ark-forge/arkforge-agent-client

社区

路线图

  • v3:通用人工智能(GPAI)义务模块(第 51-55 条,2025 年 7 月实践准则)

  • v3:用于 CI/CD 合规门控的 GitHub Action

  • v3:运行时代理合规执行(第 14 条)


觉得有用? 在 GitHub 上点个 ⭐ 能帮助其他合规团队发现此工具包。只需 2 秒钟,却能带来很大帮助。

许可证

MIT

Available Tools

16 tools
certify_compliance_reportAInspect

Make your compliance report tamper-proof for Art. 12 audit trail — pass the report JSON, get back a proof_id and a public verification URL you can hand to auditors. Certified plan required. Run generate_report() first to produce the report.

ParametersJSON Schema
NameRequiredDescriptionDefault
report_dataYesJSON string of the compliance report to certify.
trust_layer_keyYesArkForge Trust Layer API key.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral disclosure. It explains the transformation (tamper-proofing), the output (proof_id, URL), and prerequisites (generate_report, certified plan). It does not cover rate limits or side effects, but for a certification action this is reasonable and informative.

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 two sentences with no redundant words. The main purpose and key outputs are front-loaded, and the prerequisites are in the second sentence. Every piece contributes to understanding.

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 explains the return values (proof_id, verification URL) and the audit context (Art. 12, auditors), which compensates for the absence of an output schema. It also gives a prerequisite and a required plan. Minor gaps like error handling or key input are not significant given the simple parameter set.

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 schema already describes both parameters fully (report_data as JSON string, trust_layer_key as API key). The description reinforces 'pass the report JSON' but adds no new parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate.

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 starts with a specific verb phrase 'Make your compliance report tamper-proof' and identifies the resource (compliance report) and the outcome (proof_id and public verification URL). It clearly distinguishes this certification tool from sibling tools like generate_report and check_compliance.

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

Usage Guidelines4/5

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

It provides a clear prerequisite: 'Run generate_report() first to produce the report' and notes 'Certified plan required.' This gives strong guidance on when to use the tool, though it does not explicitly state when not to use it or name alternative tools.

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

check_complianceAInspect

Check whether your project passes or fails each EU AI Act requirement — no arguments, 5 seconds. See exactly which articles you violate (Art. 52 transparency, Art. 11 documentation, Art. 14 human oversight, Art. 15 robustness) and get step-by-step fix instructions for every gap. Call combined_compliance_report() for EU AI Act + GDPR together.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoPath to the project root. Omit entirely or pass '.' to check the current working directory..
risk_categoryNoEU AI Act risk category: 'minimal', 'limited' (default, fits most AI apps), 'high', or 'unacceptable'.limited

TDQS

A3.9/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 speed (~5 seconds), that it returns pass/fail per requirement, and that it provides fix instructions. However, it incorrectly claims 'no arguments' while the schema defines two optional parameters, and it does not state whether the operation is read-only (though 'check' implies it).

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 compact (three sentences) and front-loaded with the main purpose. The phrase 'no arguments' is inaccurate and wasteful, but otherwise every sentence adds useful context such as specific articles and the alternative combined tool.

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 explains what results look like (pass/fail, article-level violations, step-by-step fixes), so return values are covered despite no output schema. It does not mention risk_category semantics, but the schema provides that. The tool is sufficiently described for an optional-parameter check tool.

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 baseline is 3. The description does not add param semantics, and its claim of 'no arguments' is misleading given the optional project_path and risk_category parameters. Schema descriptions already cover both parameters, so the description neither helps nor hurts beyond the baseline.

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 tool checks EU AI Act compliance, lists specific articles (Art. 52, 11, 14, 15), and mentions fix instructions. It also distinguishes itself from combined_compliance_report for GDPR+AI Act.

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

Usage Guidelines4/5

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

It explicitly directs users to call combined_compliance_report() for combined EU AI Act + GDPR, implying this tool is for EU AI Act only. It does not mention when to prefer this over gdpr_check_compliance, but the name and the mention of EU AI Act requirements provide sufficient context.

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

combined_compliance_reportAInspect

Run this before your next deploy. One call reveals every EU AI Act + GDPR gap in your codebase — no arguments, no setup, under 10 seconds, free. Detects AI frameworks and personal data flows, flags where both laws overlap, returns pass/fail per article with a prioritized fix list. EU AI Act fines up to 35M EUR, GDPR up to 20M EUR. Replaces separate scan_project() and gdpr_scan_project() calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoPath to the project root. Omit entirely or pass '.' to scan the current working directory — no arguments required..
risk_categoryNoEU AI Act risk category: 'minimal', 'limited' (default, fits most AI apps), 'high', or 'unacceptable'.limited
processing_roleNoGDPR processing role: 'controller' (default, most common), 'processor', or 'minimal_processing'.controller

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of disclosing behavior. It states 'no arguments, no setup, under 10 seconds, free,' describes detection scope ('AI frameworks and personal data flows'), and explains the return format ('pass/fail per article with a prioritized fix list'). This is solid behavioral context, though it does not explicitly state that the operation is read-only or non-destructive, which is implied by 'detects.'

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 front-loaded with a strong call to action and efficiently packs key facts: scope, speed, cost, detection targets, output structure, and sibling replacement. The sentence about fines adds persuasive context but is not strictly necessary for tool invocation; however, it reinforces urgency and value. Overall, it's tight and well-ordered.

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?

Given there is no output schema, the description compensates by explicitly describing the return value: 'pass/fail per article with a prioritized fix list.' It covers the tool's scope, performance, and positioning relative to alternatives. It does not describe edge cases or how the optional parameters affect results, but the schema already documents those parameters, so the description is sufficiently complete for a scan tool.

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%, and each parameter is fully explained in the schema (e.g., 'Omit entirely or pass '.' to scan the current working directory'). The description adds no new parameter information beyond saying 'no arguments,' which is consistent with all parameters being optional with defaults. Baseline 3 is appropriate because the schema handles parameter semantics.

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: 'Run this before your next deploy' and 'One call reveals every EU AI Act + GDPR gap in your codebase.' It explicitly distinguishes the tool from siblings by saying 'Replaces separate scan_project() and gdpr_scan_project() calls,' making it unambiguous what this tool does and how it differs.

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

Usage Guidelines5/5

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

The description gives a clear when-to-use instruction ('Run this before your next deploy') and explicitly names the alternatives it replaces ('scan_project() and gdpr_scan_project()'). This provides concrete guidance for selecting this tool over siblings.

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

gdpr_check_complianceCInspect

Check whether your project passes or fails each GDPR requirement — no arguments. See pass/fail for lawful basis (Art. 6), consent (Art. 7), data subject rights (Art. 15–22), security (Art. 32), and breach notification (Art. 33–34) with fix instructions for every gap. GDPR fines reach 20M EUR or 4% turnover. For EU AI Act + GDPR together, call combined_compliance_report().

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoPath to the project root. Leave empty or pass '.' to check the current directory..
processing_roleNoGDPR role: controller, processor, or minimal_processing.controller

TDQS

C2.8/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 reveals the output format (pass/fail per article, fix instructions) but fails to mention that the tool takes arguments (or that they are optional), and does not explain how the compliance check is performed (e.g., static analysis, scanning files). The 'no arguments' statement is actively misleading about the tool's behavior.

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 reasonably concise (four sentences) and front-loads the primary purpose. However, the sentence about GDPR fines ('GDPR fines reach 20M EUR or 4% turnover') is promotional and not directly relevant to tool invocation, adding unnecessary noise. The structure could be tightened by removing that filler and correcting the parameter claim.

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 and no annotations, so the description needs to provide complete context. It does well by outlining the covered articles and the pass/fail output with fix instructions. But it fails to mention the two optional parameters, misrepresents argument usage, and lacks any explanation of the underlying mechanism (e.g., does it scan the project path?). This leaves significant gaps for an agent deciding how to call it.

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 coverage is 100% (both project_path and processing_role have descriptions), so the baseline would be 3. However, the description's assertion 'no arguments' directly contradicts the schema, adding no value and potentially confusing an agent. The parameter descriptions in the schema are self-explanatory, but the false claim in the description outweighs the baseline benefit.

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's purpose: 'Check whether your project passes or fails each GDPR requirement' and lists specific articles (Art. 6, 7, 15–22, 32, 33–34), giving a focused scope. It also distinguishes itself from combined_compliance_report by directing users there for EU AI Act + GDPR. However, the claim 'no arguments' is inaccurate given the input schema, which slightly undermines clarity.

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 an alternative: 'For EU AI Act + GDPR together, call combined_compliance_report().' This provides a clear when-to-use vs. alternative. However, the misleading statement 'no arguments' contradicts the actual schema and could cause an agent to ignore the optional project_path and processing_role parameters, which is a significant usage guidance flaw.

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

gdpr_generate_reportAInspect

Generate the GDPR report your DPO needs — no arguments. Combines personal data inventory, gap analysis, and remediation steps in one structured document for DPO review, audit prep, or regulatory response. For EU AI Act + GDPR together, call combined_compliance_report().

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoPath to the project root. Leave empty or pass '.' to scan the current directory..
processing_roleNoGDPR role: controller, processor, or minimal_processing.controller

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden. It states 'no arguments' but the schema defines two optional parameters, which is misleading. It also doesn't disclose whether the tool performs read-only scanning, requires permissions, or has side effects. The intended output content is described, but behavioral transparency is undermined by the inaccurate 'no arguments' claim.

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?

Two concise sentences, front-loaded with the core purpose. The first sentence states the tool's function and output; the second covers the alternative. No filler or redundancy.

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?

Given there's no output schema, the description explains what the report contains and its use cases, which is sufficient for basic understanding. It doesn't clarify how the report is generated or the return format, but considering the tool's simplicity and sibling alternatives, it's reasonably 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% and the parameter descriptions are clear (project_path and processing_role with their defaults). The description itself adds nothing beyond the schema, and the 'no arguments' phrase conflicts with the existence of parameters, but the schema sufficiently documents the parameters.

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 tool generates a GDPR report, listing specific contents (personal data inventory, gap analysis, remediation steps). It also explicitly differentiates from combined_compliance_report, 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 Guidelines4/5

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

Provides strong context (DPO review, audit prep, regulatory response) and explicitly names combined_compliance_report for EU AI Act + GDPR cases. However, it doesn't distinguish when to use this over other GDPR siblings like gdpr_check_compliance or gdpr_scan_project, leaving some ambiguity.

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

gdpr_generate_templatesAInspect

Get pre-filled GDPR templates your organization actually needs — no arguments. Privacy Policy, DPIA, Records of Processing Activities (ROPA), and Data Breach Procedure tailored to your processing role. Fill in [bracketed] sections. Run gdpr_check_compliance() first to see which documents you're missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
processing_roleNoGDPR role: controller, processor, or minimal_processing.controller

TDQS

A3.6/5.0
Behavior2/5

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

The description falsely claims 'no arguments' while the schema includes an optional processing_role parameter. This misleads the agent about the tool's configurability. No annotations exist to carry safety or side-effect information, so the description must disclose behavior; it fails to mention that the processing role affects output or that the default is 'controller'. The 'no arguments' statement actively contradicts the schema, reducing transparency significantly.

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 relatively concise at four sentences, front-loading the core function and list of templates. The flow moves from what you get to usage ('Fill in [bracketed] sections') to prerequisite. However, the erroneous 'no arguments' phrase wastes space and could be removed, preventing a top score.

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 no output schema and no annotations, the description should clarify what the tool returns (e.g., text, downloadable files) and how the processing role affects the templates. It neither mentions the output format nor explains the role's effect. The false 'no arguments' claim adds confusion. The prerequisite reference is helpful but does not make up for missing critical details about return type and role-driven customization.

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?

Although the schema description covers 100% of the parameter, the tool description says 'no arguments', directly contradicting the existence of processing_role. The description does not add any value to the parameter meaning; instead it actively misleads. This lowers the effective parameter semantics below the baseline for high schema coverage because the misinformation outweighs the schema's clarity.

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 it retrieves pre-filled GDPR templates, listing specific document types (Privacy Policy, DPIA, ROPA, Data Breach Procedure). It also distinguishes itself from siblings like gdpr_generate_report and check_compliance by focusing on template generation. The verb 'Get' plus resource and scope makes the purpose highly clear.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance by instructing to 'Run gdpr_check_compliance() first to see which documents you're missing.' This establishes a clear workflow and prerequisite, helping an agent decide when to invoke this tool versus alternatives. It also implies the tool is useful when missing specific documents, which is strong usage direction.

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

gdpr_scan_projectAInspect

Find every file in your project that touches personal data — no arguments, 5 seconds, free. Detects PII fields, cookies, tracking pixels, analytics SDKs, and consent flows. Returns flagged files with data categories and applicable GDPR articles. GDPR fines reach 20M EUR or 4% turnover. For EU AI Act + GDPR together, call combined_compliance_report().

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoPath to the project root. Leave empty or pass '.' to scan the current directory..

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses return value composition ('flagged files with data categories and applicable GDPR articles') and implies a read-only scan ('Find every file'). It also mentions '5 seconds' and 'free' as operational traits. The 'no arguments' claim is slightly offset by the optional project_path parameter, but not harmful.

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 utility sentence 'GDPR fines reach 20M EUR or 4% turnover' is irrelevant to selecting or invoking the tool and wastes a slot. The useful information (function, speed, cost, output) is front-loaded, but the fine scare line is extraneous.

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

Completeness5/5

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

The tool is simple (one optional parameter, no output schema) and the description sufficiently explains what it does, what it scans for, and what it returns. It also provides a pointer to an alternative for combined requirements, making it complete for practical use.

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 a single optional parameter already well-described ('Leave empty or pass '.' to scan the current directory'). The tool description adds no parameter-specific meaning beyond saying 'no arguments', which actually understates the optional project_path parameter. Thus baseline 3 applies.

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 verb and resource: 'Find every file in your project that touches personal data.' It enumerates what is detected (PII, cookies, tracking pixels, analytics SDKs, consent flows) and distinguishes itself from generic scan_project by focusing on GDPR. It also points to combined_compliance_report for a different scope.

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

Usage Guidelines4/5

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

The description provides context on when to use this tool ('no arguments, 5 seconds, free') and explicitly directs users to combine with EU AI Act via combined_compliance_report(). However, it does not articulate exclusions or contrast with sibling tools like gdpr_check_compliance or scan_project.

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

generate_annex4_packageBInspect

Build the Annex IV evidence package your auditor needs for high-risk AI — no arguments. All 8 mandatory sections auto-populated from your project scan, SHA-256 integrity hash included. High-risk rules apply Aug 2026. Pro plan required.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoPath to the project root. Leave empty or pass '.' to scan the current directory..
trust_layer_keyNoArkForge Trust Layer API key. Required if sign_with_trust_layer is True.
sign_with_trust_layerNoCertify the package via Trust Layer for Art. 12 audit trail.

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description must carry the burden of behavioral disclosure. It does mention the SHA-256 hash, Pro plan requirement, and auto-population, but it misleadingly claims 'no arguments' while the schema defines three optional parameters. It also fails to state side effects, prerequisites like a prior project scan, or output location.

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 efficiently structured into three concise sentences, with the core action front-loaded. Each clause adds relevant context (audience, auto-population, integrity hash, compliance date, plan requirement). The only minor flaw is the misleading 'no arguments' phrase, which costs a point.

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 description gives a high-level overview of purpose and constraints but omits operational details such as where the package is saved, what file format is produced, and whether a previous scan_project call is required. With no output schema and no annotations, these gaps leave the agent without complete invocation 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?

The input schema provides full descriptions for all three parameters, which would normally warrant a baseline of 3. However, the description's 'no arguments' statement actively contradicts and muddies the schema, adding no value and potentially confusing users into thinking parameters don't exist.

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 opens with a specific verb and resource: 'Build the Annex IV evidence package' and immediately identifies the audience ('your auditor') and the context ('high-risk AI'). It also highlights the deliverable's 8 mandatory sections, distinguishing it from sibling compliance and reporting tools.

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 for high-risk AI audits and notes the Aug 2026 applicability, giving context for when the tool is relevant. However, it does not explicitly state when not to use it or mention alternatives like check_compliance or generate_report, so it lacks explicit exclusions and alternatives.

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

generate_compliance_roadmapAInspect

Get a prioritized, week-by-week plan to close every compliance gap before Aug 2027 — no arguments. Auto-scans your project, ranks fixes by impact, sequences quick wins first, tells you whether your deadline is achievable. Pro plan required — run check_compliance() for a free gap summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
deadlineNoTarget compliance deadline in ISO format.2027-08-02
project_pathNoPath to the project root. Leave empty or pass '.' to scan the current directory..
risk_categoryNoEU AI Act risk category.high

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it does well: it discloses that the tool auto-scans the project, ranks fixes by impact, sequences quick wins first, tells whether the deadline is achievable, and requires a Pro plan. The only notable gap is that it does not describe the output format or clarify that optional parameters exist despite saying 'no arguments.'

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?

Three sentences, all informative and front-loaded. The first sentence states the core deliverable, the second explains the tool's behavior, and the third provides access requirements and a fallback option. There is no fluff or redundant restating of the tool name.

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?

For a tool with no output schema and many siblings, the description provides enough context: the roadmap is week-by-week, prioritized, deadline-aware, and requires Pro. It also includes an alternative for free users. The main gap is that it does not describe the exact return structure or how optional parameters affect the generated roadmap, though these are partly covered by the schema.

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%, so the schema already documents all three parameters (deadline, project_path, risk_category). The description adds limited semantic value by saying 'no arguments' and noting auto-scan behavior, which helps explain the defaults, but it does not elaborate on the optional parameters. This matches the baseline 3 for a fully schema-documented parameter set.

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 opens with a specific deliverable: 'Get a prioritized, week-by-week plan to close every compliance gap before Aug 2027.' This clearly identifies the tool as a roadmap generator and distinguishes it from sibling tools like check_compliance and generate_report. The mention of ranking, sequencing, and deadline feasibility further sharpens its unique purpose.

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

Usage Guidelines4/5

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

The description gives clear context: it is a Pro-plan tool and points users to check_compliance() as a free alternative. It also implies this is the tool to use when a full prioritized plan is needed rather than a simple gap summary. It does not explicitly discuss other siblings like combined_compliance_report, but the stated alternative is a useful decision point.

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

generate_compliance_templatesAInspect

Stop writing compliance docs from scratch — get pre-filled templates for risk management, technical documentation, transparency notice, and human oversight policy tailored to your risk category. High-risk systems get all 6 mandatory documents. Save to docs/, fill in [bracketed] sections. Run check_compliance() first to see which documents you're missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
risk_categoryNoEU AI Act risk category. Templates are most useful for 'high' risk.high

TDQS

A4.4/5.0
Behavior4/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 discloses that templates are pre-filled, tailored to risk category, and highlights that high-risk systems get all 6 mandatory documents. It also instructs to 'Save to docs/, fill in [bracketed] sections,' conveying the output format and intended use. It does not mention potential side effects like overwriting files, but the behavior is clearly outlined.

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 concise and front-loaded. The first sentence immediately conveys the core value proposition, and the second sentence adds essential usage details (save location, fill-in instructions, prerequisite). Every sentence earns its place, with no redundant or vague language.

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?

Given moderate complexity (single parameter, no output schema, no annotations), the description provides sufficient context: what the tool does, how to use it (save/fill), and a workflow hint (run check_compliance first). It doesn't discuss edge cases like unacceptable risk or all possible document types, but it covers the main usage adequately for an agent to invoke it correctly.

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

Parameters4/5

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

The input schema already provides a detailed description for risk_category ('EU AI Act risk category. Templates are most useful for high risk.'), achieving 100% coverage. The tool description adds further meaning by specifying that 'High-risk systems get all 6 mandatory documents,' implying that different categories produce different outputs. This goes beyond the schema's baseline.

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 tool's function: 'get pre-filled templates for risk management, technical documentation, transparency notice, and human oversight policy.' It also specifies the resource (templates) and scope (tailored to risk category, with high-risk systems receiving 'all 6 mandatory documents'), distinguishing it from sibling tools like generate_report or check_compliance.

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

Usage Guidelines4/5

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

The description explicitly tells the user to 'Run check_compliance() first to see which documents you're missing,' providing a clear prerequisite and workflow. It implies usage for EU AI Act compliance template generation and differentiates from manual writing ('Stop writing compliance docs from scratch'), but it does not explicitly list alternative tools when not to use.

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

generate_reportAInspect

Generate the compliance report your legal team is asking for — no arguments. One call auto-detects AI frameworks, runs gap analysis, and produces a structured remediation plan ready for legal review or DPIA attachment. No API key needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoPath to the project root. Omit entirely or pass '.' to scan the current working directory..
risk_categoryNoEU AI Act risk category: 'minimal', 'limited' (default), 'high', or 'unacceptable'.limited

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral transparency burden. It discloses that one call auto-detects AI frameworks, runs gap analysis, produces a structured plan, and requires no API key—valuable operational details. It does not address side effects or error cases, but for a read/analysis tool this is sufficient.

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?

Two sentences front-load the core purpose and immediately follow with the value proposition. Every clause adds information (target audience, zero-config, auto-detection, output artifact, auth requirement), with no filler or redundancy.

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 tool's simplicity (two optional params, no output schema) is well matched by a description that explains purpose, behavior, and output. The only minor gap is not explicitly mentioning the optional parameters' existence, but the schema covers them. Overall, an agent can confidently invoke this tool without further clarification.

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?

Both parameters are fully documented in the schema with descriptions and defaults (100% coverage), so the baseline is 3. The description adds slight semantic value by emphasizing 'no arguments' and the auto-detection behavior, implying parameters are optional conveniences. It does not elaborate on how risk_category influences the report beyond the schema's enum explanation.

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 uses a specific verb-resource pair ('Generate the compliance report') and extends the purpose with concrete deliverables (gap analysis, structured remediation plan). It distinguishes itself as a zero-argument report tool aimed at legal review, which differentiates it from siblings like gdpr_generate_report or generate_compliance_roadmap.

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 use case ('your legal team is asking for') and notes 'no arguments' and 'No API key needed', but it never explicitly contrasts with sibling report tools (e.g., combined_compliance_report, gdpr_generate_report) or states when to choose an alternative. This leaves the selection decision to the agent without clear guidelines.

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

get_pricingAInspect

See pricing and features for every plan — Free (10 scans/day, full reports), Pro (29 EUR/mo, unlimited + CI/CD), Certified (cryptographic audit trail). No arguments. Call register_free_key() to activate your free API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/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 discloses the tool's output content (plan details, prices, features), states 'No arguments,' and hints at dependency on API key activation via register_free_key. While it doesn't explicitly say 'read-only' or list auth requirements, the behavior is clear: it simply displays pricing information without side effects.

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 compact and front-loaded: the first clause states the purpose, followed by a dash-separated plan summary, and ends with a useful cross-reference to register_free_key. Every sentence serves a purpose, and the entire description is just two sentences with no wasted words.

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

Completeness5/5

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

Given the tool's simplicity (zero parameters, no output schema, a simple informational task), the description is complete. It explains what the user will see (plan details), confirms no arguments are needed, and offers a relevant next step for API key activation. There are no gaps for the agent to misinterpret.

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

Parameters4/5

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

The tool has zero parameters, so baseline is 4. The description reinforces this with 'No arguments,' which is all that is needed. It adds no additional parameter semantics because there are none to explain.

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 tool's function with a specific verb and resource: 'See pricing and features for every plan.' It enumerates the plans, which distinguishes it from all sibling tools that deal with compliance, scanning, or key management. No ambiguity about what this tool does.

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

Usage Guidelines4/5

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

The description implies usage by stating 'See pricing and features' and then gives concrete next steps with 'Call register_free_key() to activate your free API key.' This provides clear context for when to use the tool, though it does not explicitly mention alternatives or exclusions. Since no sibling tool offers pricing, this is effective guidance.

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

register_free_keyAInspect

Activate a free API key — unlocks scan history and CI/CD integration. Pass the user's email, no password or credit card. IMPORTANT: ask the user to type their email first, wait for their reply, then call this with the exact email they typed. Do NOT pass a placeholder or fabricated email.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe user's email address. MUST come from the user's message, not generated by the agent.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the effect ('unlocks scan history and CI/CD integration') and clarifies input constraints ('no password or credit card'). It also adds a critical behavioral warning about not passing fabricated emails. While it does not discuss reversibility or potential side effects, it goes beyond a minimal mutation description.

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 concise, front-loaded with the main purpose, and every clause carries essential information. The important warning about email sourcing is highlighted with 'IMPORTANT' without excessive verbosity.

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?

For a simple one-parameter tool with no output schema, the description covers the core action, expected effects, and a critical interaction requirement. It does not explain the response format or error cases, but the tool's simplicity and clear guidance make it sufficiently complete for an agent to use correctly.

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

Parameters4/5

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

Schema coverage is 100% for the single email parameter, and the schema already states the email must come from the user's message. The description adds operational detail ('ask the user to type their email first, wait for their reply') and reinforces the prohibition on fabricated emails, which is valuable for agent behavior beyond the schema's static description.

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 uses a specific verb ('Activate') and identifies the resource ('free API key') with a concrete outcome ('unlocks scan history and CI/CD integration'). It clearly distinguishes from sibling tools like validate_api_key and get_pricing by focusing on activation rather than validation or pricing.

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

Usage Guidelines4/5

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

Provides clear context for when to use the tool: after the user has provided their email. It includes an explicit workflow ('ask the user to type their email first, wait for their reply, then call this'). However, it does not explicitly mention alternatives or edge cases (e.g., when to use validate_api_key instead), so it falls short of a 5.

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

scan_projectAInspect

Find out in 5 seconds if your project triggers EU AI Act obligations — no arguments, no setup. Scans for 22 AI/ML frameworks (OpenAI, Anthropic, LangChain, HuggingFace, PyTorch, TensorFlow, scikit-learn…), returns your risk category and the legal actions required before you ship. Enforcement live since Feb 2025 — fines up to 35M EUR. For EU AI Act + GDPR together, call combined_compliance_report() instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoPath to the project root. Omit entirely or pass '.' to scan the current working directory — no path discovery needed..
follow_importsNoWhen true, also flag files that transitively import AI-flagged modules. Default false is fine for most projects.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description covers key behaviors: it is a fast scan (5 seconds), requires no arguments or setup, scans across 22 frameworks, and returns a risk category plus required legal actions. It does not mention side effects or network usage, but for a read-only scan tool these omissions are minor, so a slight deduction from full marks 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.

Conciseness5/5

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

The description is concise and front-loaded; the first sentence states the core value proposition, the second explains what it scans and returns, and the third gives a necessary alternative. No unnecessary words or redundancy.

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

Completeness5/5

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

For a tool with zero required parameters and full schema coverage, the description provides a complete picture: purpose, behavior, output, and a clear alternative. The return value is described as 'risk category and the legal actions required', which is sufficient without an output schema.

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 provides descriptions for both parameters (100% coverage). The description adds little beyond saying 'no arguments', which is consistent with both parameters having defaults. Since the schema handles parameter semantics, the baseline of 3 applies.

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 tool's function: 'Find out in 5 seconds if your project triggers EU AI Act obligations' and specifies it scans for 22 AI/ML frameworks. It distinguishes itself from siblings by explicitly telling users to call combined_compliance_report instead for EU AI Act + GDPR combined.

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

Usage Guidelines5/5

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

Explicit usage guidance is provided: 'For EU AI Act + GDPR together, call combined_compliance_report() instead.' This directly tells the agent when not to use this tool and offers a clear alternative, satisfying the when/when-not criterion.

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

suggest_risk_categoryAInspect

Describe what your AI system does in plain language — get back your EU AI Act risk tier, the articles that apply, and your first compliance step. Returns matched category (minimal/limited/high/unacceptable) with confidence level and triggering risk indicators. No project scan needed, no API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
system_descriptionYesShort description of what the AI system does, e.g. 'chatbot for customer support' or 'CV screening tool for recruitment'.

TDQS

A4.2/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It discloses the output (category, confidence, indicators, articles, first step) and key constraints (no project scan, no API key). It does not mention potential caveats like the assessment being preliminary or non-authoritative, but it gives a clear picture of what to expect.

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 concise and front-loaded: it immediately tells the user what to do and what to expect. Every sentence adds value (input, output, constraints) without repetition or filler.

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?

For a one-parameter tool with no output schema, the description adequately covers input requirements and output contents, including the specific fields returned (category, confidence, indicators). It lacks details on the format of articles and compliance steps, but these are secondary to the core purpose.

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 schema already covers 100% of the parameter with a clear description and example. The tool description reinforces 'plain language' but adds no new meaning beyond the schema, so the baseline of 3 applies.

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 tool's function: it takes a plain-language description of an AI system and returns the EU AI Act risk tier, applicable articles, and first compliance step. It further specifies the returned data (matched category, confidence level, triggering indicators) and distinguishes itself from siblings with 'No project scan needed, no API key.'

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

Usage Guidelines4/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: when you have a system description and need a quick risk classification. It contrasts with project-scanning siblings by noting no scan or API key is required, which provides useful context. However, it does not explicitly state alternative tools for other use cases or provide explicit 'when not to use' guidance.

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

validate_api_keyAInspect

Check your API key status — returns plan tier (free/pro/certified), email, and usage stats (total scans, last scan date).

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYesThe API key to validate.

TDQS

A4/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 the return output (plan tier, email, usage stats), which is useful. However, it does not explicitly indicate whether the operation is read-only or what happens for invalid keys, leaving some behavioral ambiguity.

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 immediately states the action and then enumerates the return data. Every word is informative and there is no wasted text.

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?

For a simple one-parameter tool with no output schema, the description is complete enough: it states what the tool does and what the user gets back. It does not specify error handling, but the scope is small and the return values are well covered. A 4 is appropriate.

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 parameter 'api_key' is already well-documented. The description does not add any new parameter-specific meaning beyond what the schema provides, matching the baseline score of 3 for high coverage.

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 tool's purpose with a specific verb ('Check') and resource ('your API key status') and lists specific return values (plan tier, email, usage stats). It distinguishes itself from siblings like register_free_key and get_pricing by focusing on validation of an existing key rather than registration or pricing.

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

Usage Guidelines4/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: when you need to check an API key's status. It provides clear context (checking status) but does not explicitly mention alternatives or when not to use it. This fits the 'clear context, no exclusions' level.

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. 16 tool updatesv1.5.0
    • First observedcertify_compliance_report
    • First observedcheck_compliance
    • First observedcombined_compliance_report
    • First observedgdpr_check_compliance
    • First observedgdpr_generate_report
    • First observedgdpr_generate_templates
    • First observedgdpr_scan_project
    • First observedgenerate_annex4_package
    • First observedgenerate_compliance_roadmap
    • First observedgenerate_compliance_templates
    • First observedgenerate_report
    • First observedget_pricing
    • First observedregister_free_key
    • First observedscan_project
    • First observedsuggest_risk_category
    • First observedvalidate_api_key

TDQS

A3.6/5.0

Scored across 16 tools

Disambiguation3/5

Several tools perform project scans and gap analysis (scan_project, check_compliance, generate_report, combined_compliance_report), which creates real overlap in purpose. However, each description clarifies a different output type, and combined_compliance_report explicitly supersedes the separate scans.

Naming Consistency4/5

Tool names mostly follow a consistent snake_case verb_noun pattern like scan_project, check_compliance, and generate_report. Minor deviations such as combined_compliance_report (adjective-noun rather than verb-noun) and the gdpr_*/generate_* variety keep it from being perfect.

Tool Count4/5

16 tools is slightly above the ideal 3-15 range, but the count is reasonable given that the server covers EU AI Act, GDPR, combined reporting, templates, pricing, and API key management. The duplication between separate scans and the combined report adds minor bloat.

Completeness4/5

The tool surface covers risk categorization, project scanning, compliance checking, report generation, templates, roadmap, certification, pricing, and API key handling for both EU AI Act and GDPR. The main gap is conceptual redundancy rather than missing functionality, though true CRUD-style lifecycle coverage is not expected for a scanner.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides automated EU AI Act compliance tools, including risk classification, role determination, transparency disclosures, content watermarking, deepfake labeling, and security threat detection.
    16
    33
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Local-first AI compliance scanner via Model Context Protocol, scanning codebases for violations of DPDPA 2023, RBI FREE-AI, SEBI AI/ML, and the EU AI Act.
    18 PyPI
    1
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables EU AI Act compliance assessment by classifying AI systems, listing obligations, computing deadlines, and scanning repos for required documentation, all running locally.
    4
    2
    MIT