Cisa Cybersecurity Mcp Server

io.github.cyanheadsPublished by GitHub account cyanheadsv0.4.0Updated Nov 1, 2026

CISA KEV with BOD 26-04 deadlines, SSVC prioritization, and the ICS advisory corpus (CSAF). Keyless.

VerifiedStreamable HTTPWeb executableDatabasesSecurity & Monitoring

Overview

AI-generated overview

Read-only, keyless access to CISA vulnerability data: KEV catalog with BOD 26-04 deadlines, SSVC decision points, and ICS advisories.

What you can do
  • Check CVE IDs against the KEV catalog in batches, with due dates, overdue status, ransomware and forensic-triage flags
  • Search KEV entries by vendor, product, CWE, dates, overdue status, ransomware linkage or directive
  • Fetch CISA's published SSVC decision points per CVE and compute the BOD 26-04 remediation timeline for a stated asset exposure
  • Search and read ICS advisories from a local CSAF index back to 2010, including KEV membership and CVSS filters
  • List recent items from CISA's advisory, alert and ICS advisory RSS feeds
  • Decode input vocabulary (directives, KEV fields, SSVC values, sectors, severity bands) and report data status
When to use it
Useful when triaging vulnerability scans, tracking federal remediation deadlines, prioritizing CVEs with SSVC, or researching industrial control system advisories. It suits security and compliance work that needs CISA's published data without an API key.
Requirements
Runs as a public hosted Streamable HTTP endpoint or locally via npx, Bun, or Docker (Bun 1.4.0+ or Node.js v24+). No account or API key; all upstream sources are public. Optional environment variables tune refresh crons, cache TTLs, the SQLite advisory index path, transport, and auth mode. Network access is needed for upstream fetches.
Before you install
All tools are read-only and no credentials are requested. The local ICS advisory index is built in the background on first run and can be large; until ready, ICS tools return a retryable not-ready error. BOD 26-04 timelines are a table lookup over published decision points, not a compliance determination. Feed results cover only a rolling 30-item window with no history.

Installation

In SourceWeft

  1. Open Cisa Cybersecurity Mcp Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.cyanheads%2Fcisa-cybersecurity-mcp-server/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "cisa-cybersecurity": {
      "type": "http",
      "url": "https://cisa-cybersecurity.caseyjhand.com/mcp"
    }
  }
}

README

@cyanheads/cisa-cybersecurity-mcp-server

CISA Known Exploited Vulnerabilities with BOD 26-04 deadlines, SSVC prioritization, and the full ICS advisory corpus (CSAF) via MCP. Keyless. STDIO or Streamable HTTP.

7 Tools • 2 Data Resources • 1 Skill


Overview

CISA's vulnerability data in one place: the Known Exploited Vulnerabilities catalog with its remediation deadlines, per-CVE SSVC decision points, ICS advisories back to 2010, and CISA's latest alerts. Check a scan's worth of CVEs against KEV in one call, find what's overdue for a vendor, and work out BOD 26-04 timelines. No API key required.

Tools

ToolDescription
cisa_list_referenceDecode the input vocabulary (BOD 26-04 timelines, KEV fields, SSVC values, sectors, ID formats, severity bands) and report what data the server holds
cisa_check_cve_statusCheck up to 200 CVE IDs against KEV in one call: deadlines, overdue status, ransomware and forensic-triage flags, cited directive
cisa_search_kevSearch KEV by vendor, product, CWE, date added, due date, overdue status, ransomware linkage, forensic-triage tier, or directive
cisa_get_ssvcFetch CISA's published SSVC decision points per CVE and compute the BOD 26-04 timeline for a stated asset exposure
cisa_search_ics_advisoriesSearch ICS advisories by vendor, product, CVE, CWE, KEV membership, CVSS, severity, sector, series, dates, or free text
cisa_get_advisoryRead one ICS advisory: affected product versions, per-CVE CVSS and CWE, remediations, sectors, revision history
cisa_get_alertsList CISA's latest items from its advisory, alert, or ICS advisory feed

Resources

ResourceDescription
cisa://kev/{cveId}One KEV catalog entry by CVE ID
cisa://advisory/{advisoryId}One ICS advisory, flattened from CSAF 2.0

Both data resources are fully covered by the tools above. The CISA cybersecurity guide covers evidence gates, CVE-to-product investigation, and incomplete coverage. It ships with plugin, npm, Docker, and MCPB installs and is served at skill://cisa-cybersecurity-guide/SKILL.md through MCP skill discovery.

Capability reference

cisa_list_reference tool

  • One required topic: directives, kev_fields, ssvc_values, sectors, advisory_id_formats, severity_bands, or sources; reads in-process state only, so it answers while other tools are failing
  • directives adds timelineTable (all 16 rows of BOD 26-04 Table 1, with remediationTimelineDays and forensicTriageRequired), definitions, and supersedes; sources reports the KEV catalogVersion, the advisory index's ready / documentCount / syncStatus, the SSVC cache TTL, and the cached feed windows

cisa_check_cve_status tool

  • Processes up to 200 cveIds per call from the cached KEV snapshot with no upstream request; inputs up to 1,000 IDs return normalized unprocessedIds for a follow-up call. A CVE outside KEV comes back inKev: false, not as an error
  • Per CVE: dateAdded, dueDate, daysUntilDue, overdue, requiredAction, knownRansomwareCampaignUse, forensicTriage, cwes[], every URL in the entry's notes as references[] typed by kind, and a three-state directive (BOD 26-04, BOD 22-01, or null); the response echoes the catalog snapshot and the asOf date the deadlines were computed against
  • detail: "summary" trims each in-KEV record to the triage fields (dates, deadline status, directive, vendor and product labels, ransomware and forensic-triage flags), which keeps a full 200-CVE batch compact; full is the default

cisa_search_kev tool

  • Filters AND together: vendorProject and product (CISA's own labels, not CPE names), nameContains, cwe, cveIdPrefix, dateAddedFrom / dateAddedTo, dueBefore / dueAfter, overdue, ransomware, forensicTriage, directive (BOD 26-04 / BOD 22-01 / none); up to 100 per page (default 25) with an opaque cursor; sorts by dateAdded (default) or dueDate
  • Reports totalCount and appliedFilters; each continued page uses the current call's limit. A zero-hit result names the filter responsible and what dropping it restores. nameContains searches a-z and 0-9 after folding case and accents, and the notice names any other characters it dropped
  • Typed errors: catalog_unavailable (retryable), invalid_date_range, empty_search_text

cisa_get_ssvc tool

  • Processes up to 50 cveIds per call through the Vulnrichment cache, fetching uncached records; inputs up to 1,000 IDs return normalized unprocessedIds for a follow-up call. assetExposure: publicly_exposed, not_publicly_exposed, or unknown (default, returns both arms)
  • Per CVE: found, exploitation, automatable, technicalImpact, cvss and cwes where CISA published them, and bod2604.timelines[] (tableRow, remediationTimelineDays, forensicTriageRequired); a KEV entry adds kevAssigned, plus assignmentAgrees when an exposure was stated
  • Each result carries outcome: ssvc, not_found, no_cisa_container, no_ssvc_metric, or fetch_failed. foundCount, notFoundCount, and failedCount separate published SSVC, confirmed misses, and unavailable lookups; enrichment_source_unavailable (retryable) fires when every processed lookup fails

cisa_search_ics_advisories tool

  • Full-text q over titles, vendor names, and product names, plus vendor, product (case-insensitive substrings), cve, cwe, inKev, cvssMin / cvssMax, severity, sector, series (ICSA / ICSMA), publisher (coordinator / other), publishedFrom / publishedTo, revisedFrom / revisedTo; sorts by revised (default), published, maxCvss, or relevance (needs q); up to 50 per page (default 20) with an opaque cursor
  • Results carry advisoryId, up to 20 cves with cveCount, kevCves, maxCvss with severityDerived, sectors, url, csafUrl, and attribution, plus totalCount and appliedFilters; a zero-hit result names the filter responsible. If the KEV snapshot isn't loaded, kevCves is left out and says so
  • Typed errors: mirror_not_ready, mirror_busy, and catalog_unavailable (retryable), mirror_unavailable, invalid_cvss_range, invalid_date_range, relevance_sort_without_query, empty_search_text

cisa_get_advisory tool

  • advisoryId (optional revision suffix), optional sections (advisory, summary, products, vulnerabilities, revisionHistory, references, acknowledgments), cves to pick vulnerability entries, and productIds to pick exact, case-sensitive product definitions; cves and productIds imply their sections
  • Returns kind: "full", or kind: "outline" (per-section byte sizes plus the CVE IDs) when a read without sections exceeds 24,000 bytes; re-call with sections. Both arms retain advisory identity, source links, and attribution
  • Vulnerability entries retain applicability flags and threats; remediations, flags, and threats resolve referenced product groups into productIds and keep groupIds. Undefined groups remain visible without invented product definitions
  • An ID not in the index returns found: false with guidance, indexCheckpoint, and indexLastSyncedAt; the guidance notes when the advisory may be newer than the index
  • Typed errors: mirror_not_ready and mirror_busy (retryable), mirror_unavailable, unknown_section, unknown_cve, cves_need_vulnerabilities_section, unknown_product_id, product_ids_need_products_section

cisa_get_alerts tool

  • feed: advisories (default), alerts, or ics; default limit 30, the upstream window size; since (YYYY-MM-DD) filters within that window and cannot reach past it. hasMore and an opaque cursor continue after the last returned item within the same feed; an unavailable anchor returns an empty page with restart guidance
  • Items carry title, link, pubDate, summary (HTML stripped, capped at 1,200 characters, flagged by summaryTruncated), and on ICS items an advisoryId for cisa_get_advisory; window reports itemCount, oldest, newest, and upstreamWindowSize
  • Every response carries fetchedAt and stale; if a refresh fails, the last window is returned as stale with retry guidance, and a stale empty result doesn't prove nothing was published. With no cached window, feed_unavailable (retryable)

cisa://kev/{cveId} resource

  • One KEV record as application/json, the same shape as a cisa_check_cve_status result under the default detail: "full"; a CVE not in KEV is a not-found error
  • Listing returns the 30 most recently added entries; cveId completes from the snapshot, up to 100 suggestions

cisa://advisory/{advisoryId} resource

  • One flattened advisory as application/json, with the same 24,000-byte outline-on-overflow as cisa_get_advisory; the template takes no sections, cves, or productIds, so follow an outline up with the tool
  • Listing returns the 30 most recently revised advisories; advisoryId completes from the index, up to 100 suggestions

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

CISA-specific:

  • Four public sources, no account or key: the KEV JSON feed, Vulnrichment, the CSAF ICS advisory repository, and CISA's RSS feeds
  • None of them offers search, so filters run locally: KEV from an in-memory snapshot polled for changes, ICS advisories from a SQLite index with FTS5. Date filters take real calendar dates in YYYY-MM-DD
  • A bad KEV refresh is rejected and the last valid snapshot stays in use; with none, reads return retryable catalog_unavailable
  • The KEV, SSVC, and alert tools serve from the first request while the advisory index seeds in the background
  • BOD 26-04 Table 1 ships as data, so a computed timeline is a table lookup over published decision points. It is not a compliance determination, and it is reported beside CISA's KEV due date, never reconciled with it

Agent-friendly output:

  • Provenance on every response: the KEV catalog version and asOf date, the index checkpoint behind a search, and url, csafUrl, and attribution on every advisory
  • Discriminated outputs: a three-state directive, typed references[].kind, found / inKev booleans, severityDerived on a band upstream never published, and typed error reasons with recovery hints
  • Empty results and upstream gaps explain themselves: a zero-hit search names the filter responsible, and filters that hit a known gap (sector notes only from 2017, CVSS v2-only advisories, no KEV revision timestamps) say so. See Known Limitations

Getting started

Public Hosted Instance

A public instance is available at https://cisa-cybersecurity.caseyjhand.com/mcp — no installation required. Point any MCP client at it via Streamable HTTP:

json
{  "mcpServers": {    "cisa-cybersecurity-mcp-server": {      "type": "streamable-http",      "url": "https://cisa-cybersecurity.caseyjhand.com/mcp"    }  }}

Self-Hosted / Local

Add the following to your MCP client configuration file. No API key is required.

json
{  "mcpServers": {    "cisa-cybersecurity-mcp-server": {      "type": "stdio",      "command": "bunx",      "args": ["@cyanheads/cisa-cybersecurity-mcp-server@latest"],      "env": {        "MCP_TRANSPORT_TYPE": "stdio",        "MCP_LOG_LEVEL": "info"      }    }  }}

Or with npx (no Bun required):

json
{  "mcpServers": {    "cisa-cybersecurity-mcp-server": {      "type": "stdio",      "command": "npx",      "args": ["-y", "@cyanheads/cisa-cybersecurity-mcp-server@latest"],      "env": {        "MCP_TRANSPORT_TYPE": "stdio",        "MCP_LOG_LEVEL": "info"      }    }  }}

Or with Docker:

json
{  "mcpServers": {    "cisa-cybersecurity-mcp-server": {      "type": "stdio",      "command": "docker",      "args": [        "run", "-i", "--rm",        "-e", "MCP_TRANSPORT_TYPE=stdio",        "-v", "cisa-mirror:/usr/src/app/.mirror",        "ghcr.io/cyanheads/cisa-cybersecurity-mcp-server:latest"      ]    }  }}

For Streamable HTTP, set the transport and start the server:

sh
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http# Server listens at http://localhost:3010/mcp

Prerequisites

  • Bun v1.4.0 or higher (or Node.js v24+).
  • No credentials. Every upstream source is keyless and public.

Installation

  1. Clone the repository:
sh
git clone https://github.com/cyanheads/cisa-cybersecurity-mcp-server.git
  1. Navigate into the directory:
sh
cd cisa-cybersecurity-mcp-server
  1. Install dependencies:
sh
bun install

Configuration

Every variable is optional; the server runs correctly with none of them set.

Oversized read limits are bounded to each tool's workload cap, with notices when matching rows are omitted. CVE batches return the unprocessed IDs explicitly. All five read inputs have a hard ceiling of 1,000; malformed IDs anywhere in a batch still reject the call. Set CISA_CLAMP_OVERSIZED_INPUTS=false to reject inputs above the per-call caps with read_limit_exceeded before upstream or index work. Each normalization emits a structured log and the mcp.cisa.input.normalized counter, keyed by tool and input.

VariableDescriptionDefault
CISA_CLAMP_OVERSIZED_INPUTSBound oversized reads and return batch remainders; false rejects over-cap requests.true
CISA_KEV_REFRESH_CRONCron for the KEV refresh poll; off disables it.*/30 * * * *
CISA_CSAF_MIRROR_PATHPath to the ICS advisory SQLite index.<user cache dir>/cisa-cybersecurity-mcp-server/csaf.sqlite3
CISA_CSAF_MIRROR_AUTO_INITSeed the index in the background on first run.true
CISA_CSAF_REFRESH_CRONCron for the advisory refresh (also runs once at startup); off disables both.17 */6 * * *
CISA_VULNRICHMENT_CACHE_TTL_SECONDSTTL for a cached SSVC record.21600
CISA_FEED_CACHE_TTL_SECONDSTTL for a parsed RSS feed window.900
CISA_HTTP_TIMEOUT_MSPer-request timeout for every upstream fetch, in ms.30000
MCP_TRANSPORT_TYPETransport: stdio or http.stdio
MCP_HTTP_PORTHTTP server port.3010
MCP_SESSION_MODEHTTP session mode: stateless, stateful, or auto.stateless
MCP_AUTH_MODEAuthentication: none, jwt, or oauth.none
MCP_LOG_LEVELLog level (debug, info, warning, error, etc.).info
LOGS_DIRDirectory for log files (Node.js only).<project-root>/logs
STORAGE_PROVIDER_TYPEStorage backend for the SSVC cache: in-memory, filesystem, or supabase.in-memory
OTEL_ENABLEDEnable OpenTelemetry.false

See .env.example for the full list of optional overrides.

Running the server

Local development

  • Build and run:

    sh
    # One-time buildbun run rebuild
    # Run the built serverbun run start:stdio# orbun run start:http
  • Run checks and tests:

    sh
    bun run devcheck   # Lint, format, typecheck, securitybun run test       # Vitest test suitebun run lint:mcp   # Validate MCP definitions against spec

ICS advisory index

The two ICS tools and the advisory resource read a local SQLite index of the CSAF corpus at CISA_CSAF_MIRROR_PATH, defaulting to your user cache directory. On first run the server builds it in the background; until it is ready those surfaces return a retryable mirror_not_ready, and cisa_list_reference with topic sources shows progress. If the path cannot be opened, the ICS surfaces fail with a non-retryable mirror_unavailable and every other tool keeps working.

Processes sharing one index take turns syncing it. For containers, CI, or seeding out of band (CISA_CSAF_MIRROR_AUTO_INIT=false, and CISA_CSAF_REFRESH_CRON=off to leave refreshes to you), run the scripts directly:

sh
bun run mirror:init      # full build, idempotent, safe to re-run after an interruptbun run mirror:refresh   # requires a completed mirror:init; fetches changed documents onlybun run mirror:verify    # readiness, sync status, checkpoint, count, content version, SQLite integrity; non-zero on failure

A transient SQLite lock returns retryable mirror_busy; retry shortly. After a partial refresh, applied rows stay readable and failed documents are retried next time; sources reports syncStatus: partial and failedDocumentCount, and mirror:refresh and mirror:verify exit non-zero.

Docker

sh
docker build -t cisa-cybersecurity-mcp-server .docker run --rm -p 3010:3010 -v cisa-mirror:/usr/src/app/.mirror cisa-cybersecurity-mcp-server

The Dockerfile defaults to HTTP transport, stateless session mode, and logs to /var/log/cisa-cybersecurity-mcp-server. OpenTelemetry peer dependencies are installed by default — build with --build-arg OTEL_ENABLED=false to omit them. The image sets CISA_CSAF_MIRROR_PATH=/usr/src/app/.mirror/csaf.sqlite3; mount a volume over /usr/src/app/.mirror so the advisory index survives a container recreation; the image ships the mirror:* scripts for docker exec <container> bun run mirror:refresh.

Project structure

DirectoryPurpose
src/index.tscreateApp() entry point: wires the four services, schedules the refresh jobs, registers the surface.
src/configServer-specific environment variable parsing and validation with Zod.
src/mcp-server/toolsTool definitions (*.tool.ts).
src/mcp-server/resourcesResource definitions (*.resource.ts).
src/mcp-server/schemasOutput schemas and renderers shared by the KEV and advisory tools and resources.
src/referenceStatic reference data: BOD 26-04 Table 1, canonical sector names, CVSS bands.
src/services/kev-catalogKEV JSON feed: snapshot, derived indexes, conditional refresh.
src/services/vulnrichmentPer-CVE SSVC enrichment fetch with a TTL cache.
src/services/csaf-mirrorThe ICS advisory index: schema, ingest, normalization, queries.
src/services/cisa-feedsThe three RSS feeds, parsed and cached on a TTL.
scripts/Build, checks, and the mirror:* commands.
skills/Published CISA workflow guide for agents using the server.
tests/Unit, integration, fuzz, and smoke tests mirroring src/.

Development guide

See CLAUDE.md/AGENTS.md for development guidelines and architectural rules, and docs/design.md for the as-built specification. The short version:

  • Handlers throw, framework catches — no try/catch in tool logic
  • Use ctx.log for request-scoped logging, ctx.state for tenant-scoped storage
  • Register new tools and resources via the barrels in src/mcp-server/*/definitions/index.ts
  • Wrap external sources: validate raw → normalize to a domain type → return the output schema; never fabricate a field the upstream omitted

Contributing

Issues are welcome. Run checks and tests before submitting:

sh
bun run devcheckbun run test

License

Apache-2.0 — see LICENSE for details.

The license covers this code, not the data it serves. KEV entries are US Government work in the public domain and Vulnrichment is CC0-1.0, but the CSAF repository declares no license and many advisories republish vendor text, so check reuse rights at each advisory's url before redistributing it. This project is not affiliated with or endorsed by CISA or the Department of Homeland Security.

Source: README.md at commit a0d08cb

Tools

7

cisa_list_reference

Decode the vocabulary the other CISA tools take as input. Topics cover the BOD 26-04 remediation timeline table and what each tier means, the KEV record fields and their value domains, the SSVC decision points CISA publishes, the critical-infrastructure sector names as the advisory corpus spells them, advisory ID formats, CVSS severity bands, and the freshness of the data this server currently holds. Call this before constructing filters for cisa_search_kev or cisa_search_ics_advisories, and whenever another tool's recovery hint points here.

Parameterstopicrequired

cisa_check_cve_status

Check CVE IDs against the CISA Known Exploited Vulnerabilities catalog — up to 200 per call, served from a cached catalog snapshot at no upstream cost. Returns, per CVE, whether it is in KEV and if so the date added, the federal remediation due date, days remaining or days overdue, which binding operational directive the entry cites, the required action text, whether it is linked to ransomware campaigns, whether it falls in the three-day forensic-triage tier, CISA's own vendor and product labels, associated CWEs, and the reference URLs parsed from the entry's notes. A CVE that is not in KEV is a normal result, not an error. For a large batch, detail "summary" keeps only the triage fields — the deadline and overdue status, directive, ransomware and forensic-triage flags, and vendor and product labels — and drops the descriptive text, CWEs, and references, so a full batch stays compact. The CWE IDs returned chain directly into the cwe filter of cisa_search_kev and cisa_search_ics_advisories, and the parsed NVD reference gives the canonical record for scoring detail. For the reverse direction — which ICS advisories cover a CVE — pass it as cve to cisa_search_ics_advisories, or set inKev there to list the advisories covering any KEV CVE.

ParameterscveIdsrequireddetail

cisa_search_kev

Search the CISA Known Exploited Vulnerabilities catalog across every entry in the cached snapshot. Filter by vendor or product using CISA's own labels, by name substring, by CWE, by the date an entry was added, by due date, by overdue status, by ransomware linkage, by the three-day forensic-triage tier, or by which binding operational directive the entry cites. Results are paged and sortable by due date or date added. Vendor and product values are CISA's free-text labels, not CPE names — call cisa_list_reference for the field vocabulary before guessing one. The catalog records additions but carries no per-record modified timestamp, so dateAddedFrom answers "what is new since D" while a revised due date on an existing entry is not detectable from the feed.

ParameterscwelimitordercursorsortByoverdueproductdueAfterdirectivedueBeforeransomwarecveIdPrefix+5 more

cisa_get_ssvc

Fetch the SSVC decision points CISA publishes per CVE as a CVE Authorized Data Publisher — Exploitation, Automatable, and Technical Impact — along with the CVSS score and CWE CISA contributes where present, and compute the BOD 26-04 remediation timeline those values imply for the asset exposure you supply. The computed timeline applies CISA's published decision table to CISA's published decision points and your stated exposure; it is not a compliance determination and it is not CISA's own due-date assignment, which is reported separately when the CVE is in KEV and can differ. Not every CVE is enriched — a miss returns found false with guidance rather than an error. Call cisa_list_reference with topic ssvc_values for the decision-point vocabulary.

ParameterscveIdsrequiredassetExposure

cisa_search_ics_advisories

Search the CISA industrial control system advisory corpus — every CSAF 2.0 advisory covering PLC, HMI, SCADA, building-automation, and medical-device products from 2010 onward. Filter by vendor, product, CVE, CWE, CVSS range, severity band, critical-infrastructure sector, advisory series, publication date, revision date, or whether an advisory covers a CVE in the CISA Known Exploited Vulnerabilities catalog, and run full-text search over advisory titles and product names. Sector filtering reaches only advisories that carry a sector note, which begins in 2017; the response reports how many documents a sector filter can never match. Returns advisory IDs for cisa_get_advisory, the CVEs each advisory covers and which of them are in KEV, and the source URL and attribution every advisory response carries.

ParametersqcvecweinKevlimitordercursorsectorseriessortByvendorcvssMax+8 more

cisa_get_advisory

Read one CISA industrial control system advisory: product definitions and relationship component references; per-CVE CVSS score, vector, and CWE; vendor remediations, flags, and threats; sectors; and revision history. Large advisories return a section outline with byte sizes and vulnerability CVE IDs. Re-call with sections, cves for named vulnerabilities, or productIds for exact product definitions referenced by vulnerability status, scores, remediations, flags, or threats. Product IDs are case-sensitive; relationship selection does not expand components. Every response carries source URLs and attribution. Find advisory IDs with cisa_search_ics_advisories.

ParameterscvessectionsadvisoryIdrequiredproductIds

cisa_get_alerts

List what CISA has published recently — its combined advisory feed, its alerts feed, or its ICS advisory feed. Cursors continue within the current 30-item rolling window; upstream provides no pagination, history, or date-range query. The window's coverage varies from about a week to about two months depending on the feed. For ICS advisory history beyond the window, use cisa_search_ics_advisories, which covers the full corpus back to 2010.

Parametersfeedlimitsincecursor

Version history

7
  1. v0.4.0LatestNov 1, 2026
  2. v0.3.2Oct 15, 2026
  3. v0.3.1Oct 9, 2026
  4. v0.3.0Sep 25, 2026
  5. v0.1.3Sep 23, 2026
  6. v0.1.2Sep 20, 2026
  7. v0.1.1Sep 20, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts