Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Cisa Cybersecurity MCP Server

by cyanheadsversion 0.4.0i★ –iComputer or cloud
Registry nameio.github.cyanheads/cisa-cybersecurity-mcp-server

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 3 of 3 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • Can do 7 things (tools) cisa_list_reference, cisa_check_cve_status, cisa_search_kev, cisa_get_ssvc …
  • You fill in yourself: CISA_CLAMP_OVERSIZED_INPUTS, MCP_LOG_LEVEL, CISA_KEV_REFRESH_CRON, CISA_CSAF_MIRROR_PATH, CISA_CSAF_MIRROR_AUTO_INIT, CISA_CSAF_REFRESH_CRON, CISA_VULNRICHMENT_CACHE_TTL_SECONDS, CISA_FEED_CACHE_TTL_SECONDS, CISA_HTTP_TIMEOUT_MS

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://cisa-cybersecurity.caseyjhand.com/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "cisa-cybersecurity": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cisa-cybersecurity-mcp-server"
      ],
      "env": {
        "CISA_CLAMP_OVERSIZED_INPUTS": "your-value",
        "MCP_LOG_LEVEL": "your-value",
        "CISA_KEV_REFRESH_CRON": "your-value",
        "CISA_CSAF_MIRROR_PATH": "your-value",
        "CISA_CSAF_MIRROR_AUTO_INIT": "your-value",
        "CISA_CSAF_REFRESH_CRON": "your-value",
        "CISA_VULNRICHMENT_CACHE_TTL_SECONDS": "your-value",
        "CISA_FEED_CACHE_TTL_SECONDS": "your-value",
        "CISA_HTTP_TIMEOUT_MS": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http cisa-cybersecurity https://cisa-cybersecurity.caseyjhand.com/mcp

Or run it on your computer

claude mcp add cisa-cybersecurity --env CISA_CLAMP_OVERSIZED_INPUTS=your-value --env MCP_LOG_LEVEL=your-value --env CISA_KEV_REFRESH_CRON=your-value --env CISA_CSAF_MIRROR_PATH=your-value --env CISA_CSAF_MIRROR_AUTO_INIT=your-value --env CISA_CSAF_REFRESH_CRON=your-value --env CISA_VULNRICHMENT_CACHE_TTL_SECONDS=your-value --env CISA_FEED_CACHE_TTL_SECONDS=your-value --env CISA_HTTP_TIMEOUT_MS=your-value -- npx -y @cyanheads/cisa-cybersecurity-mcp-server

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

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

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "cisa-cybersecurity": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cisa-cybersecurity-mcp-server"
      ],
      "env": {
        "CISA_CLAMP_OVERSIZED_INPUTS": "your-value",
        "MCP_LOG_LEVEL": "your-value",
        "CISA_KEV_REFRESH_CRON": "your-value",
        "CISA_CSAF_MIRROR_PATH": "your-value",
        "CISA_CSAF_MIRROR_AUTO_INIT": "your-value",
        "CISA_CSAF_REFRESH_CRON": "your-value",
        "CISA_VULNRICHMENT_CACHE_TTL_SECONDS": "your-value",
        "CISA_FEED_CACHE_TTL_SECONDS": "your-value",
        "CISA_HTTP_TIMEOUT_MS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

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

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "cisa-cybersecurity": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cisa-cybersecurity-mcp-server"
      ],
      "env": {
        "CISA_CLAMP_OVERSIZED_INPUTS": "your-value",
        "MCP_LOG_LEVEL": "your-value",
        "CISA_KEV_REFRESH_CRON": "your-value",
        "CISA_CSAF_MIRROR_PATH": "your-value",
        "CISA_CSAF_MIRROR_AUTO_INIT": "your-value",
        "CISA_CSAF_REFRESH_CRON": "your-value",
        "CISA_VULNRICHMENT_CACHE_TTL_SECONDS": "your-value",
        "CISA_FEED_CACHE_TTL_SECONDS": "your-value",
        "CISA_HTTP_TIMEOUT_MS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://cisa-cybersecurity.caseyjhand.com/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • CISA_CLAMP_OVERSIZED_INPUTS env
    Return bounded results and explicit unprocessed CVE IDs for oversized reads. Set false to reject requests above each tool's workload cap.
  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').
  • CISA_KEV_REFRESH_CRON env
    Cron expression for the KEV catalog conditional-refresh poll, on every transport. Set off to disable it; an invalid expression fails startup.
  • CISA_CSAF_MIRROR_PATH env
    Filesystem path to the local SQLite index of ICS advisories. Unset, it is csaf.sqlite3 under cisa-cybersecurity-mcp-server in the per-user cache directory: ~/Library/Caches on macOS, $XDG_CACHE_HOME…
  • CISA_CSAF_MIRROR_AUTO_INIT env
    Seed the ICS advisory index in the background at startup when it has never completed a sync, and re-ingest it in place when an older server version built it. Accepts true or false; set false where se…
  • CISA_CSAF_REFRESH_CRON env
    Cron expression for the incremental ICS advisory refresh, on every transport; the refresh also runs once at startup. Set off to disable both; an invalid expression fails startup.
  • CISA_VULNRICHMENT_CACHE_TTL_SECONDS env
    Seconds a fetched SSVC record stays cached. Negative results use one sixth of this value.
  • CISA_FEED_CACHE_TTL_SECONDS env
    Seconds a parsed RSS feed window stays cached.
  • CISA_HTTP_TIMEOUT_MS env
    Per-request timeout in milliseconds for every upstream fetch.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.

  • 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 adviso

  • 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 overdu

  • 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-d

  • 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

  • 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, advisor

  • 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

  • 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

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account cyanheads, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 122 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 7 tool descriptions and found no hidden instructions to the AI

Compared with others in Cybersecurityi

  • More stars than 0% of the other 1004 servers in this category
  • Published to the registry more recently than 83% of the other 1004 servers in this category
  • Basic checks equal to or better than 100% of the other 1004 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Cisa Cybersecurity MCP Server safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.4.0) reached the registry 7 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Unicode Security MCP, Osv MCP, Epss MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Unicode Security MCP

Local checks for Unicode confusables, mixed scripts, invisible controls, and suspicious identifiers.

by mrfentmenVery new↓ 50/wkUpdated today

Runs on your computer

Osv MCP

MCP server for OSV open source vulnerability data and package security checks.

by mrfentmenVery new↓ 64/wkUpdated today

Runs on your computer

Epss MCP

Exploit Prediction Scoring System scores: how likely a CVE will be exploited in the next 30 days.

by mrfentmenVery new↓ 152/wkUpdated today

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@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

Public Hosted Server: https://cisa-cybersecurity.caseyjhand.com/mcp


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, Vulnrich

Only the beginning is shown; read the rest in the repo

Ask PopNx