Skip to main content
Glama

cisa-cybersecurity-mcp-server

cisa_list_reference

cisa_list_reference
Read-onlyIdempotent

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.

Input Schema

NameRequiredDescriptionDefault
topicYesWhich reference block to return: directives (BOD 26-04 Table 1 and its definitions), kev_fields, ssvc_values, sectors, advisory_id_formats, severity_bands, or sources (what this server currently holds).

Output Schema

NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
titleNoHuman-readable title for the topic.
topicNoThe topic that was decoded.
entriesNoThe decoded terms for this topic.
sourcesNoTopic sources only — what this server currently holds, read from in-process state.
summaryNoWhat this topic covers and when to reach for it.
supersedesNoTopic directives only — the directives BOD 26-04 supersedes and revokes.
definitionsNoTopic directives only — supporting definitions from the directive text.
timelineTableNoTopic directives only — all sixteen rows of BOD 26-04 Appendix A, Table 1.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedOutput schema / properties / sources / properties / csafMirror / properties / documentCount / description
      Previous value: -"Advisories held in the index; null before the first sync completes."New value: +"Advisories currently held in the index, including partial updates; null before the first sync completes or when the store cannot be read."
    • addedOutput schema / properties / sources / properties / csafMirror / properties / failedDocumentCount
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Changed documents that failed in the last manifest application; zero after a successful sync, null when the store cannot be read."
      +}
    • addedOutput schema / properties / sources / properties / csafMirror / properties / lastSuccessfulCheckpoint
      Added value: +{
      +  "description": "Newest current_release_date at the last wholly successful sync; unchanged after partial updates, null before completion.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / sources / properties / csafMirror / properties / syncStatus / description
      Previous value: -"Lifecycle state: pending, in_progress, complete, error, or unavailable."New value: +"Lifecycle state: pending, in_progress, complete, partial, error, busy, or unavailable. A partial refresh keeps applied rows and retries unresolved documents on the next refresh."
    • changedOutput schema / properties / sources / properties / csafMirror / required
      Previous value: -[
      -  "ready",
      -  "documentCount",
      -  "checkpoint",
      -  "syncStatus",
      -  "lastCompletedAt"
      -]New value: +[
      +  "ready",
      +  "documentCount",
      +  "failedDocumentCount",
      +  "lastSuccessfulCheckpoint",
      +  "checkpoint",
      +  "syncStatus",
      +  "lastCompletedAt"
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / sources / properties / csafMirror / properties / unavailableReason
      Added value: +{
      +  "description": "Present only when the index cannot be opened: its location is not writable, is read-only, has a missing directory, runs through a file, or holds a file that is not a SQLite database. Fixed by CISA_CSAF_MIRROR_PATH, not by waiting.",
      +  "enum": [
      +    "not_writable",
      +    "read_only",
      +    "missing_directory",
      +    "not_a_directory",
      +    "not_a_database"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / sources / properties / kev / properties / refreshCron / description
      Previous value: -"Cron expression the refresh poll runs on."New value: +"Cron expression the refresh poll runs on, or off when it is disabled."
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and closed-world, so the safety profile is covered. The description adds genuine behavioral context: this is a static lookup surface, it discloses data-freshness information via the 'sources' topic, and it tells the agent this tool is an input to other tools rather than an action.

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

Conciseness4/5

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

Three sentences, front-loaded with the core purpose, then the topic inventory, then the usage rule. The middle sentence is long but each item is a distinct reference block, so little is wasted; the usage rule is slightly deferred to the end.

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?

An output schema exists, so return-value detail is not required. The description covers purpose, full topic inventory, and invocation timing for a single-parameter, one-of-enum tool — an agent has everything needed to call it correctly.

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% and the enum values are documented in the schema, so baseline 3 applies. The description goes beyond the schema by glossing the two most opaque topics ('the BOD 26-04 remediation timeline table', 'the freshness of the data this server currently holds'), adding semantics the enum labels alone don't convey.

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?

States a specific verb and resource ('decode the vocabulary the other CISA tools take as input') and then enumerates exactly what vocabulary is covered. It is immediately distinguishable from the search/get siblings, which consume this vocabulary rather than define it.

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 an explicit when-to-use rule ('Call this before constructing filters for cisa_search_kev or cisa_search_ics_advisories') and a second trigger ('whenever another tool's recovery hint points here'). Both the alternative tools and the condition that selects this one are named.

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.