NIS2 Compliance MCP
NIS2コンプライアンスMCP
18のセクターにわたる重要および主要な事業体向けのNIS2(指令2022/2555)コンプライアンスを自動化します。
国内法への移行期限:2024年10月17日。罰則:最大1,000万ユーロまたは全世界売上高の2%。
なぜこれが必要なのか
NIS2は、NIS1の下で約10,000だった対象事業体を、EU全体で推定160,000以上に拡大しました。貴社がエネルギー、輸送、銀行、医療、水道、デジタルインフラ、ICTサービス管理、行政、宇宙、郵便サービス、廃棄物管理、化学、食品、製造、デジタルプロバイダー、または研究の分野で事業を行っている場合、貴社は対象となります。
加盟国はそれぞれ異なる速度でNIS2を国内法に移行しています。ドイツのBSI NIS2登録(第30条/第32条)では、自己登録とインシデント報告が義務付けられています。このMCPは、単一のプロンプトから、貴社のセクター分類を確認し、第21条および第23条に基づく義務をマッピングし、インシデント通知のタイムラインを生成し、サプライチェーンのリスク評価を作成します。
Related MCP server: EU AI Act Compliance MCP
インストール
pip install nis2-compliance-mcpツール
ツール | NIS2条項 | 機能 |
| 第3条 | 重要事業体と主要事業体の分類 |
| 第21条 | 10項目のサイバーセキュリティリスク管理評価 |
| 第23条 | インシデント通知タイムライン (24時間/72時間/1ヶ月) |
| 第21条(2)(d) | サプライチェーンセキュリティ評価 |
| 第20条 | 管理機関の責任チェック |
| すべて | 完全なNIS2準備状況評価 |
| — | HMAC-SHA256署名付きコンプライアンス証明書 |
例
Prompt: "We're a German SaaS company providing cloud ERP to hospitals.
Classify us under NIS2, check our Article 21 cybersecurity measures,
and generate the BSI registration requirements."
Result: Classified as "important entity" (ICT service management +
healthcare supply chain). Article 21 gap analysis with 3 critical
findings (incident response < 24h not met, supply chain risk
assessment missing, MFA not enforced). BSI Section 30 registration
checklist generated. Each finding signed with attestation cert.料金
プラン | 価格 | 内容 |
無料 | £0 | 1日10回まで — 事業体分類 + 監査 |
Pro | £199/月 | 無制限 + HMAC署名付き証明書 + URL検証 |
Enterprise | £1,499/月 | マルチテナント + コブランドレポート + Webhook |
証明API
POST https://meok-attestation-api.vercel.app/sign
GET https://meok-attestation-api.vercel.app/verify/{cert_id}ゼロ依存関係の検証ツール: pip install meok-attestation-verify
リンク
ウェブサイト: meok.ai
ドイツNIS2 BSI登録: meok-nis2-de-register-mcp
DORA + NIS2 クロスウォーク: dora-nis2-crosswalk-mcp
すべてのMCPサーバー: meok.ai/labs/mcp/servers
エンタープライズサポート: nicholas@csoai.org
ライセンス
MIT
Available Tools
7 toolsaudit_article_21A
Audit your current controls against NIS2 Article 21's 10 mandatory risk-management measures. Returns per-measure evidence status + gap list + sanction exposure tier.
Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need to assess, audit, or verify compliance requirements. Ideal for gap analysis, readiness checks, and generating compliance documentation.
When NOT to use: Do not use as a substitute for qualified legal counsel. This tool provides technical compliance guidance, not legal advice.
Args: entity_description (str): The entity description to analyze or process. current_controls (str): The current controls to analyze or process. api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_description | Yes | ||
| current_controls | No | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and fully discloses all relevant behaviors: read-only, stateless, idempotent, rate limits (10/day free), authentication needs (none for basic), error handling, and data privacy. This exceeds requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections but contains redundancy, notably the 'Behavior' and 'Behavioral Transparency' sections that repeat the same points (read-only, idempotent). This could be condensed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has moderate complexity (auditing against NIS2) and an output schema is indicated. The description covers return values (evidence status, gaps, sanction tier), usage guidance, and behavior. However, parameter descriptions are vague, and with 3 parameters (1 required), more specific guidance on entity_description and current_controls would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. However, the 'Args' section only restates parameter names and types generically (e.g., 'The entity description to analyze') without explaining expected formats, examples, or constraints. This adds little value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool audits controls against NIS2 Article 21's 10 measures. The verb 'audit' and resource 'controls against NIS2 Article 21 measures' are specific, and sibling tools like classify_entity or enforce_status have different purposes, making this distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit 'When to use' (assessment, gap analysis) and 'When NOT to use' (not legal advice) sections, offering clear context. However, it does not explicitly contrast with sibling tools like classify_entity or list_article_21_measures, which could further guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_entityA
Classify an entity's NIS2 scope (essential / important / out-of-scope) + sector. Size-cap rules (Article 2): essential if in Annex I AND medium-size (>50 FTE or >€10M) — generally large (>250 FTE or >€50M). Important if Annex II + medium-size.
Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need to assess, audit, or verify compliance requirements. Ideal for gap analysis, readiness checks, and generating compliance documentation.
When NOT to use: Do not use as a substitute for qualified legal counsel. This tool provides technical compliance guidance, not legal advice.
Args: entity_description (str): The entity description to analyze or process. employees (int): The employees to analyze or process. turnover_million_eur (float): The turnover million eur to analyze or process. api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_description | Yes | ||
| employees | No | ||
| turnover_million_eur | No | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description covers side effects (read-only, stateless), authentication (no auth for basic, API key for pro), rate limits (free 10/day), error handling, idempotency, and data privacy. Very thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections, but contains redundancy (e.g., 'Behavioral Transparency' repeated). Some sentences could be merged for better conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers size-cap rules, rate limits, auth, and error handling. With an output schema present, return values are not needed. Lacks clarity on possible sector values, but overall adequate for agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. The 'Args' section adds generic phrases like 'to analyze or process' that barely clarify meaning. Although the main description mentions size-cap rules, parameter-specific semantics are weak.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool classifies an entity's NIS2 scope (essential/important/out-of-scope) and sector, with specific rules. It distinguishes from siblings like classify_incident by focusing on entity classification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit 'When to use' and 'When NOT to use' sections provide context for gap analysis and compliance checks, and warn against legal advice. However, it does not contrast with sibling tools or specify when to prefer alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
classify_incidentA
Classify a cyber incident against NIS2 Article 23 thresholds. Returns whether 'significant' — triggering 24h early warning, 72h incident notification, 1-month final report.
Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need to assess, audit, or verify compliance requirements. Ideal for gap analysis, readiness checks, and generating compliance documentation.
When NOT to use: Do not use as a substitute for qualified legal counsel. This tool provides technical compliance guidance, not legal advice.
Args: incident_description (str): The incident description to analyze or process. users_affected (int): The users affected to analyze or process. duration_hours (float): The duration hours to analyze or process. cross_border (bool): The cross border to analyze or process. data_breach (bool): The data breach to analyze or process. financial_loss_eur (float): The financial loss eur to analyze or process. api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| incident_description | Yes | ||
| users_affected | No | ||
| duration_hours | No | ||
| cross_border | No | ||
| data_breach | No | ||
| financial_loss_eur | No | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description comprehensively covers read-only, stateless, idempotent nature, authentication requirements, rate limits, error handling, and data privacy. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (behavior, usage, args, transparency) and front-loaded purpose. However, the arg descriptions are repetitive, slightly reducing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and an output schema present, the description covers behavior, authentication, rate limits, and error handling well. The output format (returning 'significant' status and triggers) is implied but not fully explicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the arg descriptions are generic ('The X to analyze or process'), adding minimal meaning beyond parameter names and types. They fail to explain how each parameter influences classification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool classifies cyber incidents against NIS2 Article 23 thresholds and specifies the 'significant' output triggering regulatory timelines. It distinguishes from sibling tools like 'classify_entity' or 'audit_article_21' by its incident-specific focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit 'When to use' (gap analysis, compliance checks) and 'When NOT to use' (not legal advice) sections, providing clear context and differentiation from alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enforcement_statusA
Current NIS2 enforcement status + national transposition tracker.
Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need to assess, audit, or verify compliance requirements. Ideal for gap analysis, readiness checks, and generating compliance documentation.
When NOT to use: Do not use as a substitute for qualified legal counsel. This tool provides technical compliance guidance, not legal advice.
Args: api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description thoroughly discloses side effects (none), authentication requirements, rate limits, error handling, idempotency, and data privacy, exceeding basic expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections, but somewhat verbose. Could be shortened without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all necessary aspects given the tool's simplicity: behavior, when to use, side effects, error handling, and output schema exists. Very complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds little beyond the schema for the only parameter (api_key), mentioning it in the Args section but without additional detail. With 0% schema description coverage, more guidance would be beneficial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides 'Current NIS2 enforcement status + national transposition tracker' and lists specific use cases like gap analysis and readiness checks, distinguishing it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (assess, audit, verify compliance) and when NOT to use (not a substitute for legal counsel). Provides clear context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_nis2_certificateA
Generate a timestamped signed NIS2 compliance certificate (Pro/Enterprise tier).
Behavior: This tool generates structured output without modifying external systems. Output is deterministic for identical inputs. No side effects. Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need to assess, audit, or verify compliance requirements. Ideal for gap analysis, readiness checks, and generating compliance documentation.
When NOT to use: Do not use as a substitute for qualified legal counsel. This tool provides technical compliance guidance, not legal advice.
Args: entity_name (str): The entity name to analyze or process. overall_score (float): The overall score to analyze or process. api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_name | Yes | ||
| overall_score | Yes | ||
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and excels: discloses read-only nature, authentication requirements, rate limits per tier, error handling, idempotency, and data privacy. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections, but contains redundancy (e.g., 'Behavior' line repeats later 'Behavioral Transparency' details). Slightly verbose for the amount of unique information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers behavioral aspects thoroughly but lacks detail on output format or semantics of parameters (entity_name, overall_score). Output schema exists but description doesn't hint at certificate structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, yet the description's 'Args' only restates parameter names and types without adding meaning (e.g., format, constraints, examples). This fails to compensate for the sparse schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a timestamped signed NIS2 compliance certificate, specifying the resource and action. It is distinct from sibling tools which audit, classify, or list, making purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit 'When to use' and 'When NOT to use' sections, covering appropriate contexts like gap analysis and warning against legal substitution. Lacks direct comparison to siblings but is sufficient for differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_article_21_measuresA
List all 10 cybersecurity risk-management measures required under NIS2 Article 21.
Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need to assess, audit, or verify compliance requirements. Ideal for gap analysis, readiness checks, and generating compliance documentation.
When NOT to use: Do not use as a substitute for qualified legal counsel. This tool provides technical compliance guidance, not legal advice.
Args: api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavioral traits: read-only, stateless, idempotent, rate limits, authentication requirements, error handling, and data privacy. This exceeds the minimum needed for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Behavior, When to use, etc.), front-loads the main purpose, and every sentence adds value. It is appropriately sized for the detail provided.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, output schema exists), the description covers purpose, usage, behavior, authentication, rate limits, and error handling comprehensively. It meets all needs for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions the api_key parameter as 'The api key to analyze or process,' but this is vague and does not clarify its actual role (e.g., for rate limiting or authentication). The behavioral transparency section explains authentication separately, creating confusion. Given 0% schema coverage, the description should provide clearer parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all 10 cybersecurity risk-management measures under NIS2 Article 21, using a specific verb and resource. It distinguishes itself from siblings like audit_article_21 or classify_entity by focusing on listing measures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit 'When to use' and 'When NOT to use' sections, providing context for compliance assessment and gap analysis while warning against substituting for legal counsel. This gives clear guidance on appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
management_body_checklistA
NIS2 Article 20 — management body accountability checklist. Directors can be held personally liable.
Behavior: This tool is read-only and stateless — it produces analysis output without modifying any external systems, databases, or files. Safe to call repeatedly with identical inputs (idempotent). Free tier: 10/day rate limit. Pro tier: unlimited. No authentication required for basic usage.
When to use: Use this tool when you need to assess, audit, or verify compliance requirements. Ideal for gap analysis, readiness checks, and generating compliance documentation.
When NOT to use: Do not use as a substitute for qualified legal counsel. This tool provides technical compliance guidance, not legal advice.
Args: api_key (str): The api key to analyze or process.
Behavioral Transparency: - Side Effects: This tool is read-only and produces no side effects. It does not modify any external state, databases, or files. All output is computed in-memory and returned directly to the caller. - Authentication: No authentication required for basic usage. Pro/Enterprise tiers require a valid MEOK API key passed via the MEOK_API_KEY environment variable. - Rate Limits: Free tier: 10 calls/day. Pro tier: unlimited. Rate limit headers are included in responses (X-RateLimit-Remaining, X-RateLimit-Reset). - Error Handling: Returns structured error objects with 'error' key on failure. Never raises unhandled exceptions. Invalid inputs return descriptive validation errors. - Idempotency: Fully idempotent — calling with the same inputs always produces the same output. Safe to retry on timeout or transient failure. - Data Privacy: No input data is stored, logged, or transmitted to external services. All processing happens locally within the MCP server process.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It includes a dedicated 'Behavioral Transparency' section covering side effects (read-only, no side effects), authentication, rate limits, error handling, idempotency, and data privacy. This is comprehensive and fully informs the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections and front-loaded purpose. However, there is slight redundancy between the initial 'Behavior' paragraph and the later 'Behavioral Transparency' section, which could be merged for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description needn't detail return values. It covers input, behavior, usage, and limitations. Lacks only deeper context about the checklist content, but overall sufficient for agent selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for its only parameter (api_key). The description merely repeats 'api key to analyze or process', adding minimal value. It fails to explain the key's purpose, source, or format, which is insufficient for a parameter with no schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a checklist for NIS2 Article 20 management body accountability, using a specific verb ('assess, audit, verify'). It distinguishes itself from sibling tools like audit_article_21 and classify_entity by focusing on this specific compliance aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use (gap analysis, compliance documentation) and when not to use (substitute for legal counsel). However, it does not mention when to prefer this over specific siblings, missing a chance for clearer differentiation.
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.
7 tool updates
v1.2.4- First observed
audit_article_21 - First observed
classify_entity - First observed
classify_incident - First observed
enforcement_status - First observed
get_nis2_certificate - First observed
list_article_21_measures - First observed
management_body_checklist
TDQS
Scored across 7 tools
Each tool addresses a distinct compliance aspect: scope classification, incident classification, auditing, listing measures, enforcement tracking, certificate generation, and management accountability. No two tools have overlapping purposes.
Names mix verb_noun patterns (audit_article_21, classify_entity) with noun_phrases (enforcement_status, management_body_checklist) and get_ prefix (get_nis2_certificate). While mostly understandable, the inconsistency reduces predictability.
Seven tools cover the key NIS2 compliance tasks without bloat. The count is well-scoped for a focused compliance assessment server.
Core compliance workflows are covered (scoping, incident classification, auditing, listing, enforcement, certification, management accountability). Missing remediation guidance or supply chain checks, but no critical dead ends.
Maintenance
Related MCP Connectors
AI governance MCP server for EU AI Act compliance and jurisdiction verification
EU compliance corpus across 8 frameworks (NIS2, DORA, AI Act, ISO 27001 + more) via MCP.
Compliance frameworks (SOC 2, ISO 27001, CMMC, NIST, more) delivered to AI agents as MCP tools.
MEOK MCP Hardening MCP — automated security red-team for any MCP server. Maps OWASP LLM Top 10
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceISO 27001 AI - MCP server providing AI-powered tools and automation by MEOK AI Labs11 npm49 PyPI3MIT- AlicenseAqualityBmaintenanceEU AI Act Compliance - MCP server providing AI-powered tools and automation by MEOK AI Labs1113 npm68 PyPI1MIT
- AlicenseAqualityBmaintenanceCybersecurity AI - MCP server providing AI-powered tools and automation by MEOK AI Labs58 npm34 PyPIMIT

SOC2 Compliance AI MCPofficial
AlicenseAqualityCmaintenanceSOC2 Compliance AI - MCP server providing AI-powered tools and automation by MEOK AI Labs65 npm105 PyPIMIT