Skip to content

MCP Server

Crate: nis2-mcp-server | Files: protocol.rs, tools.rs, server.rs | Tests: 13

What it does

Exposes the rule engine as 4 callable tools via the Model Context Protocol (MCP spec 2024-11-05). Communicates over stdin/stdout using JSON-RPC 2.0.

Protocol methods

MethodDescription
initializeHandshake, returns server capabilities
notifications/initializedClient confirms initialization
tools/listReturns definitions for all 4 tools
tools/callExecutes a tool by name with JSON arguments

Tools

See MCP Tools for full input/output documentation.

  • verifica_applicabilita -- applicability check (3 params: settore, dipendenti, fatturato_mln_eur)
  • calcola_sanzione -- Art. 34 sanction calculation (same 3 params)
  • lista_obblighi -- list all 16 obligations with legal text (same 3 params)
  • valuta_compliance -- full evaluation returning ComplianceStatus JSON (8 params)

Claude Desktop configuration

json
{
  "mcpServers": {
    "nis2-compliance": {
      "command": "cargo",
      "args": ["run", "--bin", "mcp-server", "--manifest-path", "/path/to/nis2-model/Cargo.toml"]
    }
  }
}

Tests (13)

Server tests: initialize_returns_capabilities, tools_list_returns_four_tools, tools_call_verifica_applicabilita, tools_call_unknown_returns_error, unknown_method_returns_error

Tool tests: list_tools_returns_four, verifica_applicabilita_energy, verifica_applicabilita_out_of_scope, calcola_sanzione_essential, lista_obblighi_returns_16, valuta_compliance_full, unknown_tool_returns_error, missing_params_returns_error

Released under the EUPL-1.2 License.