Skip to main content
Glama
CSOAI-ORG

NIS2 Compliance MCP

๐Ÿ” Free tier: 50 calls/day. Need audit-ready proof?

Pro (ยฃ199/mo) turns every result into an HMAC-signed attestation with a public verify URL your auditor validates without an account โ€” EU AI Act Art 11/12 ready. โ†’ Start: https://proofof.ai ยท pip install meok-attestation-verify to verify any cert.

MCP Scorecard: 86/100

Nis2 Compliance MCP

MEOK AI Labs PAYG enabled EU AI Act License PyPI

NIS2 (Directive EU 2022/2555) Article 21+23 compliance MCP

NIS2 (Directive EU 2022/2555) Article 21+23 compliance MCP. Entity classification, 10 measures audit, incident reporting. MIT


๐Ÿš€ Quick Start

# Install via pip
pip install nis2_compliance_mcp

# Or install via Smithery
npx -y @smithery/cli@latest install nis2-compliance-mcp --client claude

Related MCP server: EU AI Act Compliance MCP

โšก Pay-per-call (PAYG) โ€” no subscription

This MCP supports universal pay-per-call billing across the MEOK compliance fleet:

# One-time setup
export MEOK_PAYG_KEY="your_topup_token"

# Every tool call now deducts ยฃ0.05 from your balance.
# When balance hits zero, the tool returns a top-up URL.
# Works across all 7 MEOK compliance MCPs with the same token.
  • No subscription โ€” top up once, deduct per call.

  • ยฃ0.05/call default (configurable via MEOK_PAYG_RATE_GBP).

  • USDC on Base L2 accepted โ€” set MEOK_X402_RECEIVER and pay via stablecoin.

  • Backward-compatible โ€” when MEOK_PAYG_KEY is unset, behaviour is unchanged.

Get a token: councilof.ai/payg (ยฃ10 / ยฃ50 / ยฃ200 top-up tiers).

โœจ Features

  • MCP protocol compliant

  • Easy installation

  • Well-documented API

  • Production-ready

  • Active maintenance

๐Ÿ“– Documentation

๐Ÿ›ก๏ธ Compliance

This MCP server is built with EU AI Act compliance built-in:

  • โœ… Article 9 โ€” Risk Management System

  • โœ… Article 13 โ€” Transparency & Instructions for Use

  • โœ… Article 15 โ€” Bias Detection & Testing

  • โœ… Article 26 โ€” FRIA Support (where applicable)

  • โœ… Article 50 โ€” AI Content Watermarking (where applicable)

Need help getting compliant? Book a free 15-min diagnostic โ†’

๐Ÿข Enterprise

Need custom development, SLA guarantees, or white-label deployment?

  • Pro: ยฃ79/mo โ€” Full MCP suite + EU AI Act tracking

  • Enterprise: ยฃ499/mo โ€” Custom dev + SLA + Dedicated support

View Pricing โ†’ | Contact Sales โ†’

๐Ÿค Part of the MEOK Ecosystem

This server is part of the MEOK AI Labs ecosystem โ€” 26 PyPI packages ยท ~16,300 monthly installs.

Domain

Purpose

councilof.ai

EU AI Act compliance marketplace

safetyof.ai

AI safety & monitoring

meok.ai

Sovereign AI platform

cobolbridge.ai

Legacy modernization

๐Ÿ“œ License

MIT ยฉ CSOAI-ORG


Configuration

Add to your claude_desktop_config.json (Claude Desktop) or your MCP client config:

{
  "mcpServers": {
    "nis2-compliance-mcp": {
      "command": "uvx",
      "args": ["nis2-compliance-mcp"]
    }
  }
}

Or: pip install nis2-compliance-mcp then run the nis2-compliance-mcp command (stdio transport).

Examples

Once configured, ask your assistant, for example:

  • "Use classify_entity to โ€ฆ"

  • "Use list_article_21_measures to โ€ฆ"

  • "Use audit_article_21 to โ€ฆ"

See also

MEOK compliance MCP fleet: ai-incident-reporting-mcp, meok-eu-ai-act-art-26-fria-mcp

Available Tools

7 tools
audit_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_descriptionYes
current_controlsNo
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior5/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 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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_descriptionYes
employeesNo
turnover_million_eurNo
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior5/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
incident_descriptionYes
users_affectedNo
duration_hoursNo
cross_borderNo
data_breachNo
financial_loss_eurNo
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_nameYes
overall_scoreYes
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior5/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

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

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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. Dates show when Glama detected each change.

  1. 7 tool updatesv1.2.4
    • First observedaudit_article_21
    • First observedclassify_entity
    • First observedclassify_incident
    • First observedenforcement_status
    • First observedget_nis2_certificate
    • First observedlist_article_21_measures
    • First observedmanagement_body_checklist

TDQS

A4.2/5.0
Disambiguation5/5

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.

Naming Consistency3/5

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.

Tool Count5/5

Seven tools cover the key NIS2 compliance tasks without bloat. The count is well-scoped for a focused compliance assessment server.

Completeness4/5

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

ActivityStale
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CSOAI-ORG/nis2-compliance-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server