Skip to main content
Glama
Ansvar-Systems

maltese-cybersecurity-mcp

Maltese Cybersecurity MCP

The Maltese cybersecurity corpus is now served through the Ansvar Gateway. Connect your AI assistant (Claude, Copilot, Cursor, or any MCP client) to https://gateway.ansvar.eu/mcp — one OAuth connection, free tier available, covering this corpus plus EU regulations, national law across 28 audited jurisdictions (Europe + the US), and CVE/security intelligence, every result with a verbatim source citation. Start at https://ansvar.eu/docs/quickstart

Connect

Claude Code (one line):

claude mcp add ansvar --transport http https://gateway.ansvar.eu/mcp

Claude Desktop / Cursor — add to claude_desktop_config.json (or mcp.json):

{
  "mcpServers": {
    "ansvar": {
      "type": "url",
      "url": "https://gateway.ansvar.eu/mcp"
    }
  }
}

Claude.ai — Settings → Connectors → Add custom connector → paste https://gateway.ansvar.eu/mcp

First request opens an OAuth signup flow (setup details: ansvar.eu/docs/quickstart). After signup, your client is bound to your account; tier (free / premium / team / company) determines fan-out, quota, and which downstream MCPs are reachable.


Self-host this MCP

You can also clone this repo and build the corpus yourself. The schema, fetcher, and tool implementations all live here. What is not in the repo is the pre-built database — TDM and standards-licensing constraints on the upstream sources mean we host the corpus on Ansvar infrastructure rather than redistribute it as a public artifact.

Build your own: run this repo's ingestion script (entry-point varies per repo — typically scripts/ingest.sh, npm run ingest, or make ingest; check the repo root).

Maltese cybersecurity data for AI compliance tools.

License CI

Query Maltese cybersecurity data -- regulations, decisions, and requirements from CSIRTMalta -- directly from Claude, Cursor, or any MCP-compatible client.

Built by Ansvar Systems -- Stockholm, Sweden


Related MCP server: Estonian Cybersecurity MCP

Available Tools (6)

Tool

Description

mt_cyber_search_guidance

Full-text search across CSI Malta cybersecurity guidelines, technical standards, and policy documents. Covers nationa...

mt_cyber_get_guidance

Get a specific CSI Malta guidance document by reference (e.g.,

mt_cyber_search_advisories

Search CSI Malta security advisories and incident alerts. Returns advisories with severity, affected products, and CV...

mt_cyber_get_advisory

Get a specific CSI Malta security advisory by reference (e.g.,

mt_cyber_list_frameworks

List all CSI Malta cybersecurity frameworks covered in this MCP, including national cybersecurity strategy and NIS2 i...

mt_cyber_about

Return metadata about this MCP server: version, data source, coverage, and tool list.

All tools return structured data with source references and timestamps.


Data Sources and Freshness

All content is sourced from official Maltese regulatory publications:

  • CSIRTMalta -- Official regulatory authority

Data Currency

  • Database updates are periodic and may lag official publications

  • Freshness checks run via GitHub Actions workflows

  • Last-updated timestamps in tool responses indicate data age

See sources.yml for full provenance metadata.


Security

This project uses multiple layers of automated security scanning:

Scanner

What It Does

Schedule

CodeQL

Static analysis for security vulnerabilities

Weekly + PRs

Semgrep

SAST scanning (OWASP top 10, secrets, TypeScript)

Every push

Gitleaks

Secret detection across git history

Every push

Trivy

CVE scanning on filesystem and npm dependencies

Daily

Docker Security

Container image scanning + SBOM generation

Daily

Socket.dev

Supply chain attack detection

PRs

Dependabot

Automated dependency updates

Weekly

See SECURITY.md for the full policy and vulnerability reporting.


Important Disclaimers

Not Regulatory Advice

THIS TOOL IS NOT REGULATORY OR LEGAL ADVICE

Regulatory data is sourced from official publications by CSIRTMalta. However:

  • This is a research tool, not a substitute for professional regulatory counsel

  • Verify all references against primary sources before making compliance decisions

  • Coverage may be incomplete -- do not rely solely on this for regulatory research

Before using professionally, read: DISCLAIMER.md | PRIVACY.md

Confidentiality

Queries go through the Claude API. For privileged or confidential matters, use on-premise deployment. See PRIVACY.md for details.


Development

Setup

git clone https://github.com/Ansvar-Systems/maltese-cybersecurity-mcp
cd maltese-cybersecurity-mcp
npm install
npm run build
npm test

Running Locally

npm run dev                                       # Start MCP server
npx @anthropic/mcp-inspector node dist/index.js   # Test with MCP Inspector

Data Management

npm run build:db       # Rebuild SQLite database from seed data
npm run check-updates  # Check for new regulatory data

More Ansvar MCPs

Full fleet coverage at ansvar.eu/coverage.

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.


License

Apache License 2.0. See LICENSE for details.

Data Licenses

Regulatory data sourced from official government publications. See sources.yml for per-source licensing details.


About Ansvar Systems

We build AI-powered compliance and legal research tools for the European market. Our MCP fleet provides structured, verified regulatory data to AI assistants -- so compliance professionals can work with accurate sources instead of guessing.

ansvar.eu -- Stockholm, Sweden


Available Tools

6 tools
mt_cyber_aboutA

Return metadata about this MCP server: version, data source, coverage, and tool list.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It states the tool returns metadata, which suggests a read-only operation, but does not explicitly confirm safety, idempotency, or potential rate limits. The description is functional but lacks explicit behavioral disclosure.

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 efficiently conveys the tool's purpose and what it returns. Every word earns its place; no 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 the tool's simplicity (0 params, no output schema), the description is sufficient. It lists the expected metadata items. Without an output schema, a bit more detail on return format could help, but overall it is complete enough for an agent to understand the tool's output.

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?

There are no parameters (0 params, schema coverage 100%). Baseline is 4, and the description does not add parameter semantics, but none are needed. The tool is parameterless, so the description is adequate.

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 'Return' and specifies the resource: metadata about this MCP server, listing version, data source, coverage, and tool list. It clearly distinguishes from sibling tools which search or get guidance/advisories/frameworks.

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 (when server metadata is needed) but lacks explicit when-not-to-use or alternatives. However, given the tool's clear purpose and distinctive function among siblings, the guidance is reasonably clear.

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

mt_cyber_get_advisoryA

Get a specific CSI Malta security advisory by reference (e.g., 'MITA-ADV-2024-001').

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesCSI Malta advisory reference (e.g., 'MITA-ADV-2024-001')

TDQS

A4/5.0
Behavior2/5

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

No annotations provided. Description does not disclose read-only nature, authentication, rate limits, or any behavioral traits beyond the basic operation.

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?

Single, front-loaded sentence with verb and resource. No extraneous words.

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 tool with one parameter, the description covers the main purpose adequately. Lacks behavioral context but otherwise complete.

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 covers 100% of parameters; description adds value by providing a concrete example of the reference format ('MITA-ADV-2024-001').

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?

Description clearly specifies action (Get), resource (CSI Malta security advisory), and method (by reference). Distinguishes from siblings like search_advisories.

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?

Example clarifies input format. Context implies use when you have a specific reference; exclusions are not explicit but name/description differentiate.

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

mt_cyber_get_guidanceA

Get a specific CSI Malta guidance document by reference (e.g., 'MITA-CS-2024-01', 'MT-NIS2-2024').

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesCSI Malta document reference (e.g., 'MITA-CS-2024-01')

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states 'Get' implying read-only, but does not explicitly disclose that no data is modified, no authentication requirements, or any other behavioral traits. For a simple retrieval, this is minimally adequate but could be richer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is a single sentence with zero redundancy. It front-loads the action and resource, immediately informing the agent of the tool's core function.

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 one required parameter and no output schema, the description covers key aspects: what it does and how to specify the document. It does not describe the output format, but that is likely clear from the domain (guidance document). Adequate for the simplicity.

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% with a description for the 'reference' parameter. The tool description adds examples of reference values, reinforcing the schema. No extra constraints are needed as the parameter is straightforward.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get'), the resource ('specific CSI Malta guidance document'), and the method ('by reference'). It provides concrete examples of reference formats, distinguishing it from sibling tools like mt_cyber_search_guidance which is for searching.

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 when you have an exact document reference, with examples. It does not explicitly state when not to use or mention alternatives, but the sibling tool names (e.g., search_guidance) provide context. Slight lack of explicit guidance holds it back from a 5.

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

mt_cyber_list_frameworksA

List all CSI Malta cybersecurity frameworks covered in this MCP, including national cybersecurity strategy and NIS2 implementation framework.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided; description indicates a read operation (listing). It does not disclose any additional behavioral traits such as filtering or ordering. Adequate for a simple list tool.

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?

Single sentence that is front-loaded with the verb and resource, no wasted words.

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 is simple with no parameters and no output schema. The description sufficiently explains what is listed. Could possibly mention the output format (e.g., list of names) but not required.

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?

No parameters exist in schema (100% coverage). The description adds value by specifying the scope (CSI Malta frameworks) and examples, which is beyond the empty 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 lists CSI Malta cybersecurity frameworks, including examples like national cybersecurity strategy and NIS2 framework. It distinguishes from siblings (search/get guidance/advisories) by focusing on framework listing.

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

Usage Guidelines2/5

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

No guidance on when to use this list vs. sibling search tools. The description does not mention when to prefer listing over searching or getting specific items.

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

mt_cyber_search_advisoriesB

Search CSI Malta security advisories and incident alerts. Returns advisories with severity, affected products, and CVE references where available.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return. Defaults to 20.
queryYesSearch query (e.g., 'critical vulnerability', 'ransomware', 'data breach')
severityNoFilter by severity level. Optional.

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that results include severity, affected products, and CVE references 'where available', which is helpful. However, it does not mention rate limits, authentication, pagination, or behavior when no results are found. The description is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is two sentences long, front-loaded with the purpose, and contains no extraneous information. Every sentence is meaningful and efficiently communicates the core functionality.

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

Completeness3/5

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

Given the moderate complexity and no output schema, the description partially covers return values but lacks detail on response structure and pagination. It mentions key return fields but omits the overall format. Adequate but incomplete.

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 parameters are already documented. The description adds value by hinting at return fields but does not elaborate on how parameters affect behavior beyond what the schema provides. Baseline score of 3 is appropriate.

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 searches CSI Malta security advisories and incident alerts, and mentions specific return fields. It distinguishes from sibling tools like 'search_guidance' and 'get_advisory' by its focus on searching advisories, though it does not explicitly contrast them.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., 'get_advisory' for a single advisory, 'search_guidance' for non-advisory content). There is no mention of prerequisites or limitations.

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

mt_cyber_search_guidanceB

Full-text search across CSI Malta cybersecurity guidelines, technical standards, and policy documents. Covers national cybersecurity strategy, NIS2 implementation guidance, MITA technical standards, and critical infrastructure protection frameworks. Returns matching documents with reference, title, series, and summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by document type. Optional.
limitNoMaximum number of results to return. Defaults to 20.
queryYesSearch query (e.g., 'NIS2 compliance', 'incident response', 'critical infrastructure security')
seriesNoFilter by series. Optional.
statusNoFilter by document status. Defaults to returning all statuses.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It describes search behavior and return fields but lacks details on pagination, result ordering, or other operational traits. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

Extremely concise with two sentences, front-loaded with key purpose. No wasted words.

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 what is searched and what is returned. Lacks mention of default limit (though schema mentions 20) and any special considerations. Reasonably complete given the straightforward search functionality.

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 clear parameter descriptions. The description does not add extra meaning beyond the schema, so baseline of 3 is appropriate.

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 it performs full-text search across specific cybersecurity documents (guidelines, standards, policy) and lists covered topics and return fields. It distinguishes from siblings like mt_cyber_search_advisories by focusing on guidance documents, though not explicitly.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus siblings or alternatives. The description implies its scope but does not state when not to use it or provide context for selection.

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. 6 tool updatesv0.1.0
    • First observedmt_cyber_about
    • First observedmt_cyber_get_advisory
    • First observedmt_cyber_get_guidance
    • First observedmt_cyber_list_frameworks
    • First observedmt_cyber_search_advisories
    • First observedmt_cyber_search_guidance

TDQS

A4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clear, distinct purpose: searching vs. retrieving specific guidance documents, searching vs. retrieving specific advisories, listing frameworks, and providing metadata. No overlap in functionality.

Naming Consistency5/5

All tools follow a consistent 'mt_cyber_verb_noun' pattern, using verbs like search, get, list, and about. The naming is predictable and aids agent understanding.

Tool Count5/5

With 6 tools, the set is well-scoped for a focused cybersecurity document retrieval server. Each tool serves a necessary purpose without redundancy or bloat.

Completeness5/5

The tool surface covers all expected operations for a read-only knowledge base: searching and retrieving guidance documents and advisories, listing frameworks, and providing server metadata. No obvious gaps.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers