Skip to main content
Glama

Ansvar: EU Compliance & Legal Intelligence

Search National Advisories

search_national_advisories
Read-only

Search national CERT advisories and government campaign advisories by words, exact CVE id, vendor, product, country, publisher, advisory type, ATT&CK technique, authoring agency or date. Served: NCSC-NL (Netherlands), CERT-EU (EU institutions) and CERT-FR (ANSSI, France) vulnerability advisories (advisory_type=vulnerability; CERT-FR avis and alertes from 2024 onward), CERT-FR CTI reports (publisher=cert-fr, advisory_type=threat_report), and U.S. federal campaign advisories hosted by FBI IC3 (publisher=ic3, advisory_type=campaign: Cybersecurity Advisories and FLASH reports authored by U.S. federal agencies alone, such as FBI, CISA and NSA; co-authored advisories are not served). Use technique= (e.g. T1190; a parent id also matches its sub-techniques) to ask which current campaigns report a technique. Poll with since= (published or updated on or after a date) to read only what is new since your last read. vendor and product match the CERT's published product tree where the CERT publishes CSAF (NCSC-NL), the title and summary text for the others, CERT-FR's affected systems as published (vendor and product), and, for every publisher, the vendor and product of the CVEs the advisory names (NVD CPE or the CISA KEV entry). Each row's vendor_product_match says which basis applied (products_as_published, affected_systems_as_published, title_summary_text or linked_cves) and vendor_product_linked_cves lists the matching CVEs; the response's vendor_product_coverage counts the in-scope advisories for which only title and summary text could be checked, so a miss there does not mean those advisories are unrelated. as_published.summary_truncated is true when a summary was cut at a sentence boundary. Each row keeps the publisher's own title, severity and summary under as_published (never re-scored or translated), our CVE, KEV and EPSS joins under linked, a citation to the advisory on the publisher's own site with its licence (CERT-EU rows carry a CC BY attribution_notice, CERT-FR rows a Licence Ouverte 2.0 attribution_notice), and its freshness (published_at, updated_at as published, fetched_at). Campaign rows add authoring_agencies, product_id, the ATT&CK technique ids asserted (with the backing passage for the technique you filtered on), attack_version and observation_window as the advisory states them (null when it does not), and withheld_blocks: the count and markers of blocks credited to third parties that are not served. Pass a row's advisory_id (also in its _citation.params) to get_national_advisory for affected products, every technique passage, mitigations and revision history. Example instruction: "Using Ansvar, list the national CERT advisories published since 2026-10-01 for vendor Ivanti, check each one against the products and versions in our asset inventory, and tell me which affect us and what to patch first."

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_national_advisories"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
queryNoWords in the advisory title or summary (any language)
sinceNoPublished or updated on/after (YYYY-MM-DD)
cve_idNoExact CVE id the advisory names
vendorNoVendor name (substring, case-insensitive)
countryNoPublishing country (EU = CERT-EU, US = IC3 campaign advisories, FR = CERT-FR)
productNoProduct name (substring, case-insensitive)
publisherNoPublisher key (ic3 = U.S. federal campaign advisories hosted by FBI IC3; cert-fr = CERT-FR, ANSSI)
techniqueNoMITRE ATT&CK technique id a campaign advisory asserts (parent id also matches sub-techniques)
advisory_typeNovulnerability = CERT vulnerability advisories; campaign = government reports of observed attacker behaviour; threat_report = CERT-FR CTI reports (threat and incident reports)
authoring_agencyNoAuthoring agency of a campaign advisory (acronym)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / advisory_type / description
      Previous value: -"vulnerability = CERT vulnerability advisories; campaign = government reports of observed attacker behaviour"New value: +"vulnerability = CERT vulnerability advisories; campaign = government reports of observed attacker behaviour; threat_report = CERT-FR CTI reports (threat and incident reports)"
    • changedInput schema / properties / advisory_type / enum
      Previous value: -[
      -  "vulnerability",
      -  "campaign"
      -]New value: +[
      +  "vulnerability",
      +  "campaign",
      +  "threat_report"
      +]
    • changedInput schema / properties / country / description
      Previous value: -"Publishing country (EU = CERT-EU, US = IC3 campaign advisories)"New value: +"Publishing country (EU = CERT-EU, US = IC3 campaign advisories, FR = CERT-FR)"
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "NL",
      -  "EU",
      -  "US"
      -]New value: +[
      +  "NL",
      +  "EU",
      +  "US",
      +  "FR"
      +]
    • changedInput schema / properties / publisher / description
      Previous value: -"Publisher key (ic3 = U.S. federal campaign advisories hosted by FBI IC3)"New value: +"Publisher key (ic3 = U.S. federal campaign advisories hosted by FBI IC3; cert-fr = CERT-FR, ANSSI)"
    • changedInput schema / properties / publisher / enum
      Previous value: -[
      -  "ncsc-nl",
      -  "cert-eu",
      -  "ic3"
      -]New value: +[
      +  "ncsc-nl",
      +  "cert-eu",
      +  "ic3",
      +  "cert-fr"
      +]
  2. Changed7 schema fields changed
    • addedInput schema / properties / advisory_type
      Added value: +{
      +  "description": "vulnerability = CERT vulnerability advisories; campaign = government reports of observed attacker behaviour",
      +  "enum": [
      +    "vulnerability",
      +    "campaign"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / authoring_agency
      Added value: +{
      +  "description": "Authoring agency of a campaign advisory (acronym)",
      +  "enum": [
      +    "FBI",
      +    "CISA",
      +    "NSA",
      +    "CNMF",
      +    "USCYBERCOM",
      +    "DC3",
      +    "DoD",
      +    "HHS",
      +    "EPA",
      +    "DOE",
      +    "Treasury",
      +    "USSS",
      +    "DHS",
      +    "TSA",
      +    "USCG",
      +    "DOJ",
      +    "State",
      +    "NIST"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / country / description
      Previous value: -"Publishing country (EU = CERT-EU)"New value: +"Publishing country (EU = CERT-EU, US = IC3 campaign advisories)"
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "NL",
      -  "EU"
      -]New value: +[
      +  "NL",
      +  "EU",
      +  "US"
      +]
    • changedInput schema / properties / publisher / description
      Previous value: -"Publisher key"New value: +"Publisher key (ic3 = U.S. federal campaign advisories hosted by FBI IC3)"
    • changedInput schema / properties / publisher / enum
      Previous value: -[
      -  "ncsc-nl",
      -  "cert-eu"
      -]New value: +[
      +  "ncsc-nl",
      +  "cert-eu",
      +  "ic3"
      +]
    • addedInput schema / properties / technique
      Added value: +{
      +  "description": "MITRE ATT&CK technique id a campaign advisory asserts (parent id also matches sub-techniques)",
      +  "pattern": "^T\\d{4}(\\.\\d{3})?$",
      +  "type": "string"
      +}
  3. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare readOnly/openWorld/destructive, so the description carries most of the burden and does so well: it says which sources are excluded (co-authored IC3 advisories are not served), warns that vendor_product_coverage counts advisories where only title/summary could be checked, and explains withheld_blocks and summary_truncated. The only shortfall is that freshness/latency expectations and result-size limits are left implicit.

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?

Purpose and source coverage are front-loaded, but the middle is a dense run-on covering match basis, coverage counters, truncation, citations and campaign fields without paragraph breaks, which makes it hard to scan. The trailing example instruction is useful but adds length on top of already exhaustive prose.

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?

With eleven optional parameters, no output schema and multiple publishers, the description nonetheless documents the returned row shape (as_published, linked, citation, freshness, campaign-only fields) and the caveats an agent needs to interpret it. Nothing essential for correct invocation or interpretation is missing.

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 already 91%, but the description still adds real meaning: a parent ATT&CK id also matches sub-techniques, since= covers published or updated dates, and vendor/product matching depends on the publisher (CSAF product tree, title/summary text, affected systems, or linked CVEs via NVD/KEV) with the basis reported per row. That is genuinely beyond the schema's substring hints.

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?

Opens with a specific verb+resource ('Search national CERT advisories and government campaign advisories') and immediately enumerates the exact publishers and advisory types served. It is clearly distinct from the detail-retrieval sibling, which it names at the end as the next step for a given row.

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?

Gives concrete when-to-use instructions per parameter: technique= for 'which current campaigns report a technique', since= for polling 'only what is new since your last read', and vendor/product with an explicit explanation of how matching is performed. It also routes the agent forward: pass a row's advisory_id to get_national_advisory for products, mitigations and history.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.