swiss-cybersecurity-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@swiss-cybersecurity-mcpSearch for guidance on ransomware protection"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Swiss Cybersecurity MCP
The Swiss 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/mcpClaude 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).
Swiss cybersecurity data for AI compliance tools.
Query Swiss cybersecurity data -- regulations, decisions, and requirements from NCSC.ch (National Cyber Security Centre Switzerland) -- 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 |
| Full-text search across NCSC-CH guidelines and technical reports. Covers Swiss ISB (Information Security in the Feder... |
| Get a specific NCSC-CH guidance document by reference (e.g., |
| Search NCSC-CH security advisories and warnings. Returns advisories with severity, affected products, and CVE referen... |
| Get a specific NCSC-CH security advisory by reference (e.g., |
| List all NCSC-CH frameworks and standard series covered in this MCP, including ISB standards, ISG (Informationssicher... |
| 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 Swiss regulatory publications:
NCSC.ch (National Cyber Security Centre Switzerland) -- 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 NCSC.ch (National Cyber Security Centre Switzerland). 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/swiss-cybersecurity-mcp
cd swiss-cybersecurity-mcp
npm install
npm run build
npm testRunning Locally
npm run dev # Start MCP server
npx @anthropic/mcp-inspector node dist/index.js # Test with MCP InspectorData Management
npm run build:db # Rebuild SQLite database from seed data
npm run check-updates # Check for new regulatory dataMore 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 toolsch_cyber_aboutA
Return metadata about this MCP server: version, data source, coverage, and tool list.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It correctly indicates a read operation returning metadata, but does not disclose any potential side effects, rate limits, or authorization requirements. The description is truthful but not deeply informative.
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 a single sentence with no fluff, efficiently conveying the tool's purpose and output. It is well-structured for quick comprehension.
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 has no parameters, no output schema, and simple purpose, the description fully covers what an agent needs to know: what the tool does and what it returns. Sibling tool names further clarify its distinct role.
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?
There are no parameters (0 params, schema coverage 100%). The description adds value by specifying the contents of the returned metadata (version, data source, coverage, tool list), which is helpful beyond the empty 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 returns metadata about the MCP server, listing version, data source, coverage, and tool list. This is distinct from sibling tools like ch_cyber_get_guidance or ch_cyber_search_advisories, which deal with content rather than server information.
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 implies use for initial discovery or troubleshooting, but does not explicitly state when to prefer this tool over alternatives or when not to use it. No exclusions or conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ch_cyber_get_advisoryA
Get a specific NCSC-CH security advisory by reference (e.g., 'NCSC-CH-2024-0001').
| Name | Required | Description | Default |
|---|---|---|---|
| reference | Yes | NCSC-CH advisory reference |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the tool retrieves an advisory by reference, but does not disclose behavior on missing references, required permissions, or any side effects. Adequate but minimal.
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?
Single sentence that is front-loaded with the verb and resource. No wasted words, efficient.
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?
For a simple retrieval tool with one parameter and no output schema, the description is largely adequate. It could optionally mention the return format or typical response, but it's not strictly necessary given the simplicity.
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 description coverage is 100% but only provides generic description. The description adds an example format ('NCSC-CH-2024-0001'), which adds concrete meaning beyond the schema alone.
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 action (get), resource (security advisory), and method (by reference) with an example format. This distinguishes it from siblings like search_advisories which would be for searching.
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?
No guidance on when to use this tool versus siblings such as ch_cyber_search_advisories or ch_cyber_get_guidance. It does not provide when-not or alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ch_cyber_get_guidanceA
Get a specific NCSC-CH guidance document by reference (e.g., 'ISB-2023-01', 'NCSC-CH-TLP-2024-01').
| Name | Required | Description | Default |
|---|---|---|---|
| reference | Yes | Document reference |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description only states the core function. It does not disclose whether the operation is read-only, what happens on invalid reference, rate limits, or any side effects. The agent is left with minimal behavioral information.
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 a single sentence of 9 words, front-loaded with the action and resource. Every word contributes meaning without redundancy.
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?
For a simple retrieval tool with one parameter and no output schema, the description is adequate but missing details on the return format or response structure. It minimally explains what the tool does but leaves the agent guessing about the output.
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 covers 100% of parameters with a basic description. The tool's description adds value by providing example formats (e.g., 'ISB-2023-01', 'NCSC-CH-TLP-2024-01') and reinforces the reference-based lookup, exceeding what the schema alone offers.
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 action ('Get'), the resource ('NCSC-CH guidance document'), and the key parameter (by 'reference'). It distinguishes from sibling tools like 'ch_cyber_search_guidance' by focusing on a specific document retrieval.
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 implies usage when the user has a specific reference, but it does not explicitly state when to use this tool vs. alternatives like searching. No exclusion criteria or alternate tool recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ch_cyber_list_frameworksA
List all NCSC-CH frameworks and standard series covered in this MCP, including ISB standards, ISG (Informationssicherheitsgesetz) implementation, and NCSC-CH advisory series.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It states the scope (covered in this MCP) and mentions specific inclusions (ISB, ISG, advisory series). However, it does not disclose behaviors like whether the list is static or dynamic, or any auth requirements. Acceptable for a simple read operation.
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?
Single sentence, front-loaded with key action and resource. No extraneous information, every word adds value.
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 parameters or output schema, description is reasonably complete. It lists what is included, which suffices for a simple list tool. Could hint at how to use the framework names elsewhere, but not necessary.
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?
No parameters exist (input schema empty). Description adds value by listing the types of frameworks, enhancing understanding beyond the schema. Baseline for 0 params is 4.
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?
Description uses specific verb 'List' and resource 'NCSC-CH frameworks and standard series'. It clearly distinguishes from sibling tools which deal with guidance and advisories, not listing frameworks.
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?
No explicit when or when-not to use. The purpose is implied from sibling context (listing vs. searching/getting), but no direct guidance on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ch_cyber_search_advisoriesB
Search NCSC-CH security advisories and warnings. Returns advisories with severity, affected products, and CVE references where available.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return. Defaults to 20. | |
| query | Yes | Search query in German (e.g., 'kritische Schwachstelle', 'Ransomware', 'Phishing') | |
| severity | No | Filter by severity level. Optional. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions return fields (severity, affected products, CVE references) but does not disclose pagination, error handling, authentication needs, or behavior for empty results. This is insufficient for a tool with no 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 two sentences, no fluff. First sentence states purpose, second lists outputs. Every word earns its place.
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 (3 params, no nested objects, no output schema), the description covers core functionality and return format. Missing details like pagination or error handling are minor given the context. It is mostly complete for agent usage.
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 100%. The description adds value by providing example queries in German (e.g., 'kritische Schwachstelle'), which helps the agent formulate queries. However, it does not elaborate on the 'limit' or 'severity' parameters beyond what the schema provides, so overall added value is modest.
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 searches NCSC-CH security advisories and warnings, with a specific verb 'search' and resource. It distinguishes from sibling tools like 'ch_cyber_get_advisory' (single advisory) and 'ch_cyber_search_guidance' (different resource).
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 no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It does not mention when to prefer this over 'ch_cyber_get_advisory' or other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ch_cyber_search_guidanceA
Full-text search across NCSC-CH guidelines and technical reports. Covers Swiss ISB (Information Security in the Federal Administration) standards, NCSC-CH technical recommendations, NIS Act (ISG) implementation guides, and MELANI/NCSC reports. Returns matching documents with reference, title, series, and summary.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by document type. Optional. | |
| limit | No | Maximum number of results to return. Defaults to 20. | |
| query | Yes | Search query in German (e.g., 'Verschlüsselung TLS', 'ISG Mindestmassnahmen', 'Patch Management') | |
| series | No | Filter by series. Optional. | |
| status | No | Filter by document status. Optional. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the tool returns documents with specified fields, implying a read-only operation. However, it doesn't disclose behaviors like pagination, sorting, performance considerations, or authentication requirements. For a search tool, the description is adequately transparent but lacks depth.
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?
Two concise sentences that front-load the core purpose and expand on coverage and return fields. Every sentence adds value; no wasted words. The structure is clear and easy to parse.
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 description is nearly complete for a search tool: it specifies what is searched, what is returned, and mentions the document types. However, it lacks details like default ordering, result count limits, and whether the search is full-text (implied). Given no output schema, the description provides a good overview but misses minor behavioral context like pagination or query syntax.
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 100% (all parameters have descriptions). The description adds context about the overall search scope but doesn't provide additional semantics for individual parameters beyond what the schema already states. For example, the query parameter's language hint is already in the schema. The description is not necessary for parameter understanding, so a baseline 3 is appropriate.
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 performs full-text search across NCSC-CH guidelines and technical reports, listing specific document types (ISB standards, NCSC-CH recommendations, etc.) and the fields returned (reference, title, series, summary). This distinguishes it from sibling tools like ch_cyber_search_advisories (which searches advisories) and ch_cyber_get_guidance (which retrieves a single document).
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 implies usage: use this to search for guidance documents. It covers a broad range of document types, but it doesn't explicitly state when to use this tool versus alternatives like ch_cyber_search_advisories. The purpose alone provides sufficient context for an agent to select it when searching guidelines, but explicit when-to-use guidance would improve the score.
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.
6 tool updates
v0.1.0- First observed
ch_cyber_about - First observed
ch_cyber_get_advisory - First observed
ch_cyber_get_guidance - First observed
ch_cyber_list_frameworks - First observed
ch_cyber_search_advisories - First observed
ch_cyber_search_guidance
TDQS
Scored across 6 tools
Each tool targets a distinct action and resource type (guidance vs. advisory vs. frameworks vs. metadata), with clear separation between search and retrieval operations.
All tools follow a consistent 'ch_cyber_verb_noun' pattern, with 'about' as a slight but acceptable deviation for metadata.
With 6 tools, the set covers the essential operations for the domain without being too sparse or overly numerous.
The tool surface fully supports the stated purpose: searching and retrieving guidance and advisories, listing frameworks, and providing metadata. No obvious gaps for a read-only information server.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for querying Forkast documentation
Trust-scored search engine for MCP servers. 1,900+ sources indexed. IETF draft published. Referenced by OWASP MCP Security Cheat Sheet. L0-L4 trust levels based on cryptographic verification.
An MCP server that provides access to Testiny projects, test cases and test runs
EU compliance corpus across 8 frameworks (NIS2, DORA, AI Act, ISO 27001 + more) via MCP.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables querying British cybersecurity data, including regulations, decisions, and requirements from the NCSC, directly from any MCP-compatible client.81Apache 2.0
- AlicenseAqualityFmaintenanceQuery Estonian cybersecurity data -- regulations, decisions, and requirements from RIA/CERT-EE -- directly from any MCP-compatible client.6Apache 2.0
- AlicenseAqualityFmaintenanceEnables querying Portuguese cybersecurity regulations, guidance, advisories, and frameworks from CNCS via MCP-compatible clients.6Apache 2.0
- AlicenseNot gradedqualityFmaintenanceQuery Luxembourgish cybersecurity data -- regulations, decisions, and requirements from CIRCL -- directly from MCP-compatible clients.Apache 2.0