@cyanheads/nist-nvd-mcp-server 0.1.12 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +3 -3
- package/CLAUDE.md +3 -3
- package/Dockerfile +10 -6
- package/LICENSE +1 -1
- package/README.md +6 -5
- package/changelog/0.1.x/0.1.13.md +42 -0
- package/changelog/0.1.x/0.1.14.md +22 -0
- package/changelog/template.md +5 -3
- package/dist/mcp-server/resources/definitions/nvd-cve.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/nvd-cve.resource.js +1 -1
- package/dist/mcp-server/resources/definitions/nvd-cve.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/nvd-audit-cpe.tool.d.ts +5 -1
- package/dist/mcp-server/tools/definitions/nvd-audit-cpe.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/nvd-audit-cpe.tool.js +80 -35
- package/dist/mcp-server/tools/definitions/nvd-audit-cpe.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/nvd-get-cve-history.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/nvd-get-cve-history.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/nvd-get-cve-history.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/nvd-get-cve.tool.d.ts +2 -1
- package/dist/mcp-server/tools/definitions/nvd-get-cve.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/nvd-get-cve.tool.js +13 -5
- package/dist/mcp-server/tools/definitions/nvd-get-cve.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/nvd-search-cpes.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/nvd-search-cpes.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/nvd-search-cpes.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/nvd-search-cves.tool.d.ts +14 -1
- package/dist/mcp-server/tools/definitions/nvd-search-cves.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/nvd-search-cves.tool.js +52 -2
- package/dist/mcp-server/tools/definitions/nvd-search-cves.tool.js.map +1 -1
- package/dist/services/nvd-cve/nvd-cve-service.d.ts +10 -1
- package/dist/services/nvd-cve/nvd-cve-service.d.ts.map +1 -1
- package/dist/services/nvd-cve/nvd-cve-service.js +74 -20
- package/dist/services/nvd-cve/nvd-cve-service.js.map +1 -1
- package/dist/services/nvd-cve/types.d.ts +10 -0
- package/dist/services/nvd-cve/types.d.ts.map +1 -1
- package/dist/services/nvd-http/nvd-http-client.d.ts +39 -5
- package/dist/services/nvd-http/nvd-http-client.d.ts.map +1 -1
- package/dist/services/nvd-http/nvd-http-client.js +170 -88
- package/dist/services/nvd-http/nvd-http-client.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +12 -10
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** nist-nvd-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.
|
|
4
|
+
**Version:** 0.1.14
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.14`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
|
8
8
|
**Zod:** ^4.4.3
|
|
@@ -275,13 +275,13 @@ Available skills:
|
|
|
275
275
|
| `tool-defs-analysis` | Read-only audit of MCP definition language across the surface — voice, leaks, defaults, recovery hints, output descriptions |
|
|
276
276
|
| `security-pass` | Audit server for MCP-flavored security gaps: output injection, scope blast radius, input sinks, tenant isolation |
|
|
277
277
|
| `code-simplifier` | Post-session cleanup against `git diff` — modernize syntax, consolidate duplication, align with the codebase |
|
|
278
|
-
| `devcheck` | Lint, format, typecheck, audit |
|
|
279
278
|
| `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
|
|
280
279
|
| `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
|
|
281
280
|
| `release-and-publish` | Push + npm + MCP Registry + GH Release + Docker. Picks up from `git-wrapup` |
|
|
282
281
|
| `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
|
|
283
282
|
| `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
|
|
284
283
|
| `report-issue-local` | File a bug or feature request against this server's own repo via `gh` CLI |
|
|
284
|
+
| `techniques` | Catalog of response/data-shaping techniques — overflow handling, payload shaping, retrieval patterns |
|
|
285
285
|
| `api-auth` | Auth modes, scopes, JWT/OAuth |
|
|
286
286
|
| `api-canvas` | DataCanvas: register tabular data, run SQL, export, plus the `spillover()` helper for big result sets — Tier 3 opt-in |
|
|
287
287
|
| `api-config` | AppConfig, parseConfig, env vars |
|
package/CLAUDE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Developer Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** nist-nvd-mcp-server
|
|
4
|
-
**Version:** 0.1.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.
|
|
4
|
+
**Version:** 0.1.14
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.14`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
|
|
8
8
|
**Zod:** ^4.4.3
|
|
@@ -275,13 +275,13 @@ Available skills:
|
|
|
275
275
|
| `tool-defs-analysis` | Read-only audit of MCP definition language across the surface — voice, leaks, defaults, recovery hints, output descriptions |
|
|
276
276
|
| `security-pass` | Audit server for MCP-flavored security gaps: output injection, scope blast radius, input sinks, tenant isolation |
|
|
277
277
|
| `code-simplifier` | Post-session cleanup against `git diff` — modernize syntax, consolidate duplication, align with the codebase |
|
|
278
|
-
| `devcheck` | Lint, format, typecheck, audit |
|
|
279
278
|
| `polish-docs-meta` | Finalize docs, README, metadata, and agent protocol for shipping |
|
|
280
279
|
| `git-wrapup` | Land working-tree changes as a versioned commit + annotated tag — version bump, changelog, verify, tag. Local only. |
|
|
281
280
|
| `release-and-publish` | Push + npm + MCP Registry + GH Release + Docker. Picks up from `git-wrapup` |
|
|
282
281
|
| `maintenance` | Investigate changelogs, adopt upstream changes, sync skills to agent dirs |
|
|
283
282
|
| `report-issue-framework` | File a bug or feature request against `@cyanheads/mcp-ts-core` via `gh` CLI |
|
|
284
283
|
| `report-issue-local` | File a bug or feature request against this server's own repo via `gh` CLI |
|
|
284
|
+
| `techniques` | Catalog of response/data-shaping techniques — overflow handling, payload shaping, retrieval patterns |
|
|
285
285
|
| `api-auth` | Auth modes, scopes, JWT/OAuth |
|
|
286
286
|
| `api-canvas` | DataCanvas: register tabular data, run SQL, export, plus the `spillover()` helper for big result sets — Tier 3 opt-in |
|
|
287
287
|
| `api-config` | AppConfig, parseConfig, env vars |
|
package/Dockerfile
CHANGED
|
@@ -4,15 +4,17 @@
|
|
|
4
4
|
# This stage installs all dependencies (including dev), builds the TypeScript
|
|
5
5
|
# source code into JavaScript, and prepares the production assets.
|
|
6
6
|
# ==============================================================================
|
|
7
|
-
FROM oven/bun:1.3 AS build
|
|
7
|
+
FROM oven/bun:1.3.14 AS build
|
|
8
8
|
|
|
9
9
|
WORKDIR /usr/src/app
|
|
10
10
|
|
|
11
11
|
# Copy dependency manifests for optimized layer caching
|
|
12
12
|
COPY package.json bun.lock ./
|
|
13
13
|
|
|
14
|
-
# Install all dependencies (including dev dependencies for building)
|
|
15
|
-
|
|
14
|
+
# Install all dependencies (including dev dependencies for building).
|
|
15
|
+
# The BuildKit cache mount persists Bun's global package cache across builds.
|
|
16
|
+
RUN --mount=type=cache,target=/root/.bun/install/cache \
|
|
17
|
+
bun install --frozen-lockfile --ignore-scripts
|
|
16
18
|
|
|
17
19
|
# Copy the rest of the source code
|
|
18
20
|
COPY . .
|
|
@@ -28,7 +30,7 @@ RUN bun run build
|
|
|
28
30
|
# application. It uses a slim base image and only includes production
|
|
29
31
|
# dependencies and build artifacts.
|
|
30
32
|
# ==============================================================================
|
|
31
|
-
FROM oven/bun:1.3-slim AS production
|
|
33
|
+
FROM oven/bun:1.3.14-slim AS production
|
|
32
34
|
|
|
33
35
|
WORKDIR /usr/src/app
|
|
34
36
|
|
|
@@ -49,13 +51,15 @@ COPY package.json bun.lock ./
|
|
|
49
51
|
|
|
50
52
|
# Install only production dependencies, ignoring any lifecycle scripts (like 'prepare')
|
|
51
53
|
# that are not needed in the final production image.
|
|
52
|
-
RUN bun
|
|
54
|
+
RUN --mount=type=cache,target=/root/.bun/install/cache \
|
|
55
|
+
bun install --production --frozen-lockfile --ignore-scripts
|
|
53
56
|
|
|
54
57
|
# Conditionally install OpenTelemetry optional peer dependencies (Tier 3).
|
|
55
58
|
# These are not bundled by default to keep the base image lean. Enable at build time
|
|
56
59
|
# with: docker build --build-arg OTEL_ENABLED=true
|
|
57
60
|
ARG OTEL_ENABLED=true
|
|
58
|
-
RUN
|
|
61
|
+
RUN --mount=type=cache,target=/root/.bun/install/cache \
|
|
62
|
+
if [ "$OTEL_ENABLED" = "true" ]; then \
|
|
59
63
|
bun add @hono/otel \
|
|
60
64
|
@opentelemetry/instrumentation-http \
|
|
61
65
|
@opentelemetry/exporter-metrics-otlp-http \
|
package/LICENSE
CHANGED
|
@@ -186,7 +186,7 @@ Apache License
|
|
|
186
186
|
same "printed page" as the copyright notice for easier
|
|
187
187
|
identification within third-party archives.
|
|
188
188
|
|
|
189
|
-
Copyright
|
|
189
|
+
Copyright 2026 Casey Hand @cyanheads
|
|
190
190
|
|
|
191
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
192
|
you may not use this file except in compliance with the License.
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/nist-nvd-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/nist-nvd-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -119,9 +119,10 @@ Built on [`@cyanheads/mcp-ts-core`](https://www.npmjs.com/package/@cyanheads/mcp
|
|
|
119
119
|
|
|
120
120
|
NVD-specific:
|
|
121
121
|
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
122
|
+
- Request pacer enforces NVD's 5 req/30s (no key) and 50 req/30s (with key) limits with automatic queuing, at a minimum inter-request gap derived from the window and limit
|
|
123
|
+
- Retry wraps the pacer rather than sitting inside it — every attempt takes its own turn in the queue, so retries count against the rate budget instead of bursting past it
|
|
124
|
+
- A 403's `Retry-After` holds the whole queue until NVD's window resets. Keyless, a 403 fails fast and names `NVD_API_KEY` rather than spending a 5-request budget on retries that cannot outlast a 30-second window
|
|
125
|
+
- Deterministic rejections fail fast instead of consuming retries. NVD answers both a bad parameter and a refused API key with HTTP 404, separated only by a `message` header — a refused key surfaces as a config fault naming `NVD_API_KEY` rather than as a malformed CVE ID
|
|
125
126
|
- HTML-response guard catches NVD rate-limit pages served as HTML instead of 403
|
|
126
127
|
|
|
127
128
|
Agent-friendly output:
|
|
@@ -284,7 +285,7 @@ The Dockerfile defaults to HTTP transport, stateless session mode, and logs to `
|
|
|
284
285
|
| `src/config` | Server-specific environment variable parsing and validation with Zod. |
|
|
285
286
|
| `src/mcp-server/tools` | Tool definitions (`*.tool.ts`). |
|
|
286
287
|
| `src/mcp-server/resources` | Resource definitions (`*.resource.ts`). |
|
|
287
|
-
| `src/services/nvd-http` | NVD HTTP client with
|
|
288
|
+
| `src/services/nvd-http` | NVD HTTP client with rate-limit pacing and retry. |
|
|
288
289
|
| `src/services/nvd-cve` | CVE service — search, fetch-by-ID, CPE audit, change history, normalization. |
|
|
289
290
|
| `src/services/nvd-cpe` | CPE service — dictionary search and normalization. |
|
|
290
291
|
| `tests/` | Unit and integration tests mirroring `src/`. |
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "NVD retries now pace through the rate-limit queue instead of bursting inside it, and nvd_audit_cpe renders CPE match criteria instead of bare operator lines. mcp-ts-core ^0.10.14, Socket install scanning, 8 transitive advisories cleared."
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.13 — 2026-07-15
|
|
8
|
+
|
|
9
|
+
## Added
|
|
10
|
+
|
|
11
|
+
- **`configurations[].operator`** — the group-level AND/OR combining sibling nodes is now typed on `RawCveItem` and `CveRecord`, carried through `normalizeCve()`, and declared on `nvd_audit_cpe`'s `CveRecordSchema`, so it reaches `structuredContent` as well as the rendered text. NVD uses it to mark jointly-required nodes — a firmware match plus the hardware it runs on — which read as unrelated alternatives while it was dropped. ([#22](https://github.com/cyanheads/nist-nvd-mcp-server/issues/22))
|
|
12
|
+
- **`.github/SECURITY.md`** — private vulnerability reporting policy.
|
|
13
|
+
- **`.gitattributes`** — LF normalization, binary-asset protection, and `linguist-generated` on `bun.lock`, `CHANGELOG.md`, and `docs/tree.md`.
|
|
14
|
+
- **Socket install scanning** — `bunfig.toml` registers `@socketsecurity/bun-security-scanner` under `[install.security]`, scanning every package before install. Configuring a scanner disables Bun's auto-install.
|
|
15
|
+
- **`minimumReleaseAge` supply-chain guard** — `bunfig.toml` blocks package versions published less than 3 days ago, excluding `@cyanheads/mcp-ts-core`. `scripts/devcheck.ts`'s outdated check now skips rows bun marks `*` (held by the gate, nothing to adopt) while still failing on a genuine update.
|
|
16
|
+
|
|
17
|
+
## Changed
|
|
18
|
+
|
|
19
|
+
- **Docker base images pinned** — `oven/bun:1.3` → `oven/bun:1.3.14` on both stages; BuildKit cache mounts persist Bun's package cache across builds, and the build stage installs with `--ignore-scripts`.
|
|
20
|
+
- **`devcheck.config.json`** — `outdated.allowlist` holds `typescript` at `^6.0.3` (7.0.2 is out).
|
|
21
|
+
- **`package.json`** — `author` is now `Casey Hand <casey@caseyjhand.com> (https://caseyjhand.com)`; `packageManager` `bun@1.3.2` → `bun@1.3.14`; `engines.bun` `>=1.3.2` → `>=1.3.0`.
|
|
22
|
+
- **`changelog/template.md`, `scripts/build-changelog.ts`** — the `security:` frontmatter flag is documented as a source-code signal; a dependency or transitive CVE bump records under `## Dependencies` and leaves the flag `false`.
|
|
23
|
+
- **LICENSE** — copyright year 2025 → 2026.
|
|
24
|
+
|
|
25
|
+
## Fixed
|
|
26
|
+
|
|
27
|
+
- **Retries no longer burst inside one rate-limiter slot** — `NvdHttpClient.get()` composes `withRetry(() => schedule(fetchOnce))`, so every attempt is enqueued separately and waits out the inter-request gap instead of firing up to 4 unpaced requests against NVD's 5-per-30s keyless budget. ([#21](https://github.com/cyanheads/nist-nvd-mcp-server/issues/21))
|
|
28
|
+
- **A 403 now holds the whole queue** — the parsed `Retry-After`, clamped to the 30s window, sets a `backoffUntil` that stops every pending request from firing into a window that is already closed. A keyed call spends one patient retry across it; a keyless call fails fast naming `NVD_API_KEY`, and drops to `maxRetries: 1` for other transient failures. ([#21](https://github.com/cyanheads/nist-nvd-mcp-server/issues/21))
|
|
29
|
+
- **Deterministic rejections fail fast** — NVD's parameter-rejection 404 is now an `McpError` carrying `data.retryable === false`, so `withRetry` stops re-sending a request that cannot succeed. `fetchById()` and `getCveHistory()` key off it via the exported `isNvdRequestRejected()` guard rather than an `'HTTP 404'` message substring. ([#21](https://github.com/cyanheads/nist-nvd-mcp-server/issues/21))
|
|
30
|
+
- **A refused API key is no longer reported as a malformed CVE ID** — NVD answers both faults with 404, separated only by a `message` response header; a refused key now raises `ConfigurationError` / `nvd_invalid_api_key` naming `NVD_API_KEY`. ([#21](https://github.com/cyanheads/nist-nvd-mcp-server/issues/21))
|
|
31
|
+
- **`nvd_audit_cpe` printed bare `Operator:` lines carrying no CPE data** — the Configurations block now renders one line per CPE match (criteria string, version bounds, node and group operators, and a marker when the CPE is context rather than the vulnerable component), capped at the first 5 per CVE with a `… N more` trailer, matching the `references` cap in the same formatter. ([#22](https://github.com/cyanheads/nist-nvd-mcp-server/issues/22))
|
|
32
|
+
|
|
33
|
+
## Dependencies
|
|
34
|
+
|
|
35
|
+
- `@cyanheads/mcp-ts-core` ^0.10.9 → ^0.10.14
|
|
36
|
+
- `@biomejs/biome` ^2.5.0 → ^2.5.3
|
|
37
|
+
- `@types/node` ^26.0.0 → ^26.1.1
|
|
38
|
+
- `ignore` ^7.0.5 → ^7.0.6
|
|
39
|
+
- `tsc-alias` ^1.8.17 → ^1.9.0
|
|
40
|
+
- `vitest` ^4.1.9 → ^4.1.10
|
|
41
|
+
- `@socketsecurity/bun-security-scanner` ^1.1.2 (new dev dependency)
|
|
42
|
+
- `bun audit` 8 → 0 open advisories (2 high, 6 moderate), all transitive — `hono`, `vite`, and `js-yaml`. Nothing in this server's own source, so `security` stays `false`.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
summary: "Filter context (filtersApplied, severityMin/filteredCount) and per-row filteredSeverity now surface why a nvd_search_cves or nvd_audit_cpe result set is narrow or empty; full-record descriptions default to English with an allLanguages opt-in; rate_limited corrected to declare RateLimited across all five tools."
|
|
3
|
+
breaking: false
|
|
4
|
+
security: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 0.1.14 — 2026-07-16
|
|
8
|
+
|
|
9
|
+
## Added
|
|
10
|
+
|
|
11
|
+
- **`filtersApplied`** — `nvd_search_cves` echoes the non-default filters a query actually applied (`keyword`, `severity` + `severityVersion`, `cweId`, `kevOnly` when true, `noRejected` when false) in the `enrichment` block, reaching both `structuredContent` and the `content[]` trailer. An empty or unexpectedly narrow result set becomes diagnosable without re-reading the request; absent when the query ran unfiltered. ([#19](https://github.com/cyanheads/nist-nvd-mcp-server/issues/19))
|
|
12
|
+
- **`severityMin` / `filteredCount`** — `nvd_audit_cpe` reports the active minimum-severity filter and how many CVEs it dropped from the page NVD returned. `filteredCount` counts against the fetched page (its size minus `returned`), never `totalCount` minus `returned` — CVEs beyond `limit` are never fetched, so charging them to the filter would overcount. Present only when `severityMin` is set. ([#19](https://github.com/cyanheads/nist-nvd-mcp-server/issues/19))
|
|
13
|
+
- **`filteredSeverity`** — `nvd_search_cves` brief records carry the severity at the CVSS version a `severity` filter matched on, surfaced only when it disagrees with the cross-version headline: a CVE scored v2 10.0 (HIGH — v2 has no CRITICAL tier) and v3.1 9.8 (CRITICAL) headlines as HIGH but matched a `severity=CRITICAL&severityVersion=v3` query on the 9.8. The cross-version `severity` headline is unchanged for callers that pass no filter. ([#24](https://github.com/cyanheads/nist-nvd-mcp-server/issues/24))
|
|
14
|
+
|
|
15
|
+
## Changed
|
|
16
|
+
|
|
17
|
+
- **Full-record descriptions default to English** — `normalizeCve` keeps only the English description, falling back to whatever exists when a record carries none (CNA rules require English on every entry), trimming multilingual payload from `nvd_get_cve` full-mode records and `nvd_audit_cpe`. A new `allLanguages` boolean input on both tools restores every localized description; the `nvd://cve/{cveId}` resource requests English-only to match the default. ([#23](https://github.com/cyanheads/nist-nvd-mcp-server/issues/23))
|
|
18
|
+
|
|
19
|
+
## Fixed
|
|
20
|
+
|
|
21
|
+
- **`rate_limited` advertised the wrong error code** — all five tools declared `ServiceUnavailable` (`-32000`) while a 403 is thrown as `RateLimited` (`-32003`) via `rateLimited()`. The declarations and `docs/design.md` now match the wire; the thrown code is unchanged. ([#25](https://github.com/cyanheads/nist-nvd-mcp-server/issues/25))
|
|
22
|
+
- **`nvd_get_cve` rendered blank descriptions for records with no English entry** — `format()` falls back to the first available description instead of leaving text-only clients empty when `descriptions.find((d) => d.lang === 'en')` finds nothing. ([#23](https://github.com/cyanheads/nist-nvd-mcp-server/issues/23))
|
package/changelog/template.md
CHANGED
|
@@ -15,9 +15,11 @@ summary: ""
|
|
|
15
15
|
# usage. Flagged as `Breaking` in the rollup.
|
|
16
16
|
breaking: false
|
|
17
17
|
|
|
18
|
-
# Set `true`
|
|
19
|
-
#
|
|
20
|
-
#
|
|
18
|
+
# Set `true` ONLY for a security fix in THIS project's own source code — a
|
|
19
|
+
# vulnerability or hardening in code you ship. A dependency or transitive CVE
|
|
20
|
+
# bump is routine maintenance, NOT a security release: record it under
|
|
21
|
+
# `## Dependencies` (with the advisory ID) and leave this `false`. When true,
|
|
22
|
+
# pairs with the `## Security` section below and flags `Security` in the rollup.
|
|
21
23
|
security: false
|
|
22
24
|
|
|
23
25
|
# Optional free-form notes for maintenance agents processing this release.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nvd-cve.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/nvd-cve.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAMrD,eAAO,MAAM,cAAc;;
|
|
1
|
+
{"version":3,"file":"nvd-cve.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/nvd-cve.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAMrD,eAAO,MAAM,cAAc;;wCAqCzB,CAAC"}
|
|
@@ -26,7 +26,7 @@ export const nvdCveResource = resource('nvd://cve/{cveId}', {
|
|
|
26
26
|
}
|
|
27
27
|
ctx.log.debug('Fetching CVE resource', { cveId });
|
|
28
28
|
const service = getNvdCveService();
|
|
29
|
-
const result = await service.fetchById([cveId.toUpperCase()], true, ctx);
|
|
29
|
+
const result = await service.fetchById([cveId.toUpperCase()], { includeReferences: true, allLanguages: false }, ctx);
|
|
30
30
|
if (result.cves.length === 0) {
|
|
31
31
|
throw notFound(`CVE ${cveId} not found in the NVD database.`, { cveId });
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nvd-cve.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/nvd-cve.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,mBAAmB,EAAE;IAC1D,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,sEAAsE;QACtE,0FAA0F;QAC1F,sDAAsD;IACxD,QAAQ,EAAE,kBAAkB;IAE5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CAAC,gFAAgF,CAAC;KAC9F,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG;QACvB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,eAAe,CAAC,2BAA2B,KAAK,qCAAqC,EAAE;gBAC3F,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QAEnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"nvd-cve.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/nvd-cve.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,mBAAmB,EAAE;IAC1D,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,sEAAsE;QACtE,0FAA0F;QAC1F,sDAAsD;IACxD,QAAQ,EAAE,kBAAkB;IAE5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CAAC,gFAAgF,CAAC;KAC9F,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG;QACvB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,eAAe,CAAC,2BAA2B,KAAK,qCAAqC,EAAE;gBAC3F,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QAEnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CACpC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EACrB,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAChD,GAAG,CACJ,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,CAAC,OAAO,KAAK,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -23,6 +23,7 @@ export declare const nvdAuditCpe: import("@cyanheads/mcp-ts-core").ToolDefinitio
|
|
|
23
23
|
HIGH: "HIGH";
|
|
24
24
|
CRITICAL: "CRITICAL";
|
|
25
25
|
}>>;
|
|
26
|
+
allLanguages: z.ZodDefault<z.ZodBoolean>;
|
|
26
27
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
27
28
|
}, z.core.$strip>, z.ZodObject<{
|
|
28
29
|
cves: z.ZodArray<z.ZodObject<{
|
|
@@ -51,6 +52,7 @@ export declare const nvdAuditCpe: import("@cyanheads/mcp-ts-core").ToolDefinitio
|
|
|
51
52
|
cweIds: z.ZodArray<z.ZodString>;
|
|
52
53
|
}, z.core.$strip>>;
|
|
53
54
|
configurations: z.ZodArray<z.ZodObject<{
|
|
55
|
+
operator: z.ZodOptional<z.ZodString>;
|
|
54
56
|
nodes: z.ZodArray<z.ZodObject<{
|
|
55
57
|
operator: z.ZodOptional<z.ZodString>;
|
|
56
58
|
cpeMatch: z.ZodArray<z.ZodObject<{
|
|
@@ -102,7 +104,7 @@ export declare const nvdAuditCpe: import("@cyanheads/mcp-ts-core").ToolDefinitio
|
|
|
102
104
|
readonly recovery: "Use nvd_search_cpes to verify the exact CPE name exists in the NVD dictionary before auditing.";
|
|
103
105
|
}, {
|
|
104
106
|
readonly reason: "rate_limited";
|
|
105
|
-
readonly code: JsonRpcErrorCode.
|
|
107
|
+
readonly code: JsonRpcErrorCode.RateLimited;
|
|
106
108
|
readonly when: "NVD returned HTTP 403 indicating the rate limit was exceeded.";
|
|
107
109
|
readonly retryable: true;
|
|
108
110
|
readonly recovery: "Wait for the NVD rate window to reset or set the NVD_API_KEY environment variable for higher limits.";
|
|
@@ -110,6 +112,8 @@ export declare const nvdAuditCpe: import("@cyanheads/mcp-ts-core").ToolDefinitio
|
|
|
110
112
|
readonly totalCount: z.ZodNumber;
|
|
111
113
|
readonly returned: z.ZodNumber;
|
|
112
114
|
readonly auditTarget: z.ZodString;
|
|
115
|
+
readonly severityMin: z.ZodOptional<z.ZodString>;
|
|
116
|
+
readonly filteredCount: z.ZodOptional<z.ZodNumber>;
|
|
113
117
|
readonly notice: z.ZodOptional<z.ZodString>;
|
|
114
118
|
}>;
|
|
115
119
|
//# sourceMappingURL=nvd-audit-cpe.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nvd-audit-cpe.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/nvd-audit-cpe.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"nvd-audit-cpe.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/nvd-audit-cpe.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAsJjE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyTtB,CAAC"}
|
|
@@ -18,6 +18,40 @@ const TopSeveritySchema = z.object({
|
|
|
18
18
|
score: z.number().describe('Highest base score (0.0–10.0).'),
|
|
19
19
|
fromVersion: z.string().describe('Which CVSS version this top score came from.'),
|
|
20
20
|
});
|
|
21
|
+
const CpeMatchSchema = z.object({
|
|
22
|
+
vulnerable: z
|
|
23
|
+
.boolean()
|
|
24
|
+
.describe('Whether this CPE is the vulnerable component or only the context it runs in.'),
|
|
25
|
+
criteria: z.string().describe('CPEv2.3 match criteria string.'),
|
|
26
|
+
versionStartIncluding: z.string().optional().describe('Inclusive lower version bound.'),
|
|
27
|
+
versionStartExcluding: z.string().optional().describe('Exclusive lower version bound.'),
|
|
28
|
+
versionEndIncluding: z.string().optional().describe('Inclusive upper version bound.'),
|
|
29
|
+
versionEndExcluding: z.string().optional().describe('Exclusive upper version bound.'),
|
|
30
|
+
});
|
|
31
|
+
/** Cap on CPE match criteria rendered per CVE — mirrors the references cap in this formatter. */
|
|
32
|
+
const CPE_MATCH_CAP = 5;
|
|
33
|
+
/**
|
|
34
|
+
* Render one CPE match as a single line: the criteria string, its version bounds, and the
|
|
35
|
+
* operators that govern it. `nodeOperator` combines the matches inside a node; `groupOperator`
|
|
36
|
+
* combines sibling nodes in the group, so an `AND` there marks conditions that hold together
|
|
37
|
+
* (e.g. a firmware match and the hardware it runs on) rather than independent alternatives.
|
|
38
|
+
*/
|
|
39
|
+
function formatCpeMatch(match, groupOperator, nodeOperator) {
|
|
40
|
+
const bounds = [
|
|
41
|
+
match.versionStartIncluding && `>= ${match.versionStartIncluding}`,
|
|
42
|
+
match.versionStartExcluding && `> ${match.versionStartExcluding}`,
|
|
43
|
+
match.versionEndIncluding && `<= ${match.versionEndIncluding}`,
|
|
44
|
+
match.versionEndExcluding && `< ${match.versionEndExcluding}`,
|
|
45
|
+
].filter(Boolean);
|
|
46
|
+
const notes = [
|
|
47
|
+
nodeOperator,
|
|
48
|
+
groupOperator && `${groupOperator} with sibling nodes`,
|
|
49
|
+
match.vulnerable ? undefined : 'not the vulnerable component',
|
|
50
|
+
].filter(Boolean);
|
|
51
|
+
return (`${match.criteria}` +
|
|
52
|
+
(bounds.length > 0 ? ` (${bounds.join(', ')})` : '') +
|
|
53
|
+
(notes.length > 0 ? ` [${notes.join('; ')}]` : ''));
|
|
54
|
+
}
|
|
21
55
|
const CveRecordSchema = z.object({
|
|
22
56
|
cveId: z.string().describe('CVE identifier (e.g., "CVE-2021-44228").'),
|
|
23
57
|
vulnStatus: z.string().describe('NVD analysis status.'),
|
|
@@ -48,35 +82,19 @@ const CveRecordSchema = z.object({
|
|
|
48
82
|
configurations: z
|
|
49
83
|
.array(z
|
|
50
84
|
.object({
|
|
85
|
+
operator: z
|
|
86
|
+
.string()
|
|
87
|
+
.optional()
|
|
88
|
+
.describe('Logical operator (AND/OR) combining this group\'s sibling nodes. An "AND" means every node must match for the CVE to apply — e.g. a firmware node and the hardware it runs on. Absent when the group has nothing to combine.'),
|
|
51
89
|
nodes: z
|
|
52
90
|
.array(z
|
|
53
91
|
.object({
|
|
54
|
-
operator: z
|
|
92
|
+
operator: z
|
|
93
|
+
.string()
|
|
94
|
+
.optional()
|
|
95
|
+
.describe("Logical operator (AND/OR) combining this node's own CPE matches."),
|
|
55
96
|
cpeMatch: z
|
|
56
|
-
.array(
|
|
57
|
-
.object({
|
|
58
|
-
vulnerable: z
|
|
59
|
-
.boolean()
|
|
60
|
-
.describe('Whether this CPE is the vulnerable component.'),
|
|
61
|
-
criteria: z.string().describe('CPEv2.3 match criteria string.'),
|
|
62
|
-
versionStartIncluding: z
|
|
63
|
-
.string()
|
|
64
|
-
.optional()
|
|
65
|
-
.describe('Inclusive lower version bound.'),
|
|
66
|
-
versionStartExcluding: z
|
|
67
|
-
.string()
|
|
68
|
-
.optional()
|
|
69
|
-
.describe('Exclusive lower version bound.'),
|
|
70
|
-
versionEndIncluding: z
|
|
71
|
-
.string()
|
|
72
|
-
.optional()
|
|
73
|
-
.describe('Inclusive upper version bound.'),
|
|
74
|
-
versionEndExcluding: z
|
|
75
|
-
.string()
|
|
76
|
-
.optional()
|
|
77
|
-
.describe('Exclusive upper version bound.'),
|
|
78
|
-
})
|
|
79
|
-
.describe('One CPE match criterion.'))
|
|
97
|
+
.array(CpeMatchSchema.describe('One CPE match criterion.'))
|
|
80
98
|
.describe('CPE match criteria for this node.'),
|
|
81
99
|
})
|
|
82
100
|
.describe('One configuration node with its CPE match criteria.'))
|
|
@@ -142,7 +160,11 @@ export const nvdAuditCpe = tool('nvd_audit_cpe', {
|
|
|
142
160
|
severityMin: z
|
|
143
161
|
.enum(['LOW', 'MEDIUM', 'HIGH', 'CRITICAL'])
|
|
144
162
|
.optional()
|
|
145
|
-
.describe('Filter out CVEs below this severity level.'),
|
|
163
|
+
.describe('Filter out CVEs below this severity level. Applied after NVD returns the page, so it can only drop CVEs within limit — raise limit to widen what it sees.'),
|
|
164
|
+
allLanguages: z
|
|
165
|
+
.boolean()
|
|
166
|
+
.default(false)
|
|
167
|
+
.describe('When true, keeps every localized description NVD supplies on each record. Default keeps English only.'),
|
|
146
168
|
limit: z
|
|
147
169
|
.number()
|
|
148
170
|
.int()
|
|
@@ -160,14 +182,24 @@ export const nvdAuditCpe = tool('nvd_audit_cpe', {
|
|
|
160
182
|
totalCount: z.number().describe('Total CVEs matched before pagination.'),
|
|
161
183
|
returned: z.number().describe('Number of CVE records returned.'),
|
|
162
184
|
auditTarget: z.string().describe('The CPE name or virtual match string used for this audit.'),
|
|
185
|
+
severityMin: z
|
|
186
|
+
.string()
|
|
187
|
+
.optional()
|
|
188
|
+
.describe('The client-side minimum severity filter applied. Absent when none was set.'),
|
|
189
|
+
filteredCount: z
|
|
190
|
+
.number()
|
|
191
|
+
.optional()
|
|
192
|
+
.describe('CVEs dropped by the severityMin filter from the page NVD returned. Present whenever severityMin is set; 0 means the filter dropped nothing, so a narrow result reflects totalCount and limit instead. This is not totalCount minus returned — CVEs beyond limit were never fetched and so were never evaluated against the filter.'),
|
|
163
193
|
notice: z
|
|
164
194
|
.string()
|
|
165
195
|
.optional()
|
|
166
|
-
.describe('Guidance when no CVEs were
|
|
196
|
+
.describe('Guidance when no CVEs were returned — distinguishes an unknown CPE from a severityMin filter that dropped everything on the page.'),
|
|
167
197
|
},
|
|
168
198
|
enrichmentTrailer: {
|
|
169
199
|
returned: { label: 'Returned' },
|
|
170
200
|
auditTarget: { label: 'Audit Target' },
|
|
201
|
+
severityMin: { label: 'Severity Filter' },
|
|
202
|
+
filteredCount: { label: 'Dropped by Severity Filter' },
|
|
171
203
|
},
|
|
172
204
|
errors: [
|
|
173
205
|
{
|
|
@@ -202,7 +234,7 @@ export const nvdAuditCpe = tool('nvd_audit_cpe', {
|
|
|
202
234
|
},
|
|
203
235
|
{
|
|
204
236
|
reason: 'rate_limited',
|
|
205
|
-
code: JsonRpcErrorCode.
|
|
237
|
+
code: JsonRpcErrorCode.RateLimited,
|
|
206
238
|
when: 'NVD returned HTTP 403 indicating the rate limit was exceeded.',
|
|
207
239
|
retryable: true,
|
|
208
240
|
recovery: 'Wait for the NVD rate window to reset or set the NVD_API_KEY environment variable for higher limits.',
|
|
@@ -239,16 +271,29 @@ export const nvdAuditCpe = tool('nvd_audit_cpe', {
|
|
|
239
271
|
...(input.versionEnd && { versionEnd: input.versionEnd }),
|
|
240
272
|
versionEndType: input.versionEndType,
|
|
241
273
|
...(input.severityMin && { severityMin: input.severityMin }),
|
|
274
|
+
allLanguages: input.allLanguages,
|
|
242
275
|
limit: input.limit,
|
|
243
276
|
}, ctx);
|
|
244
277
|
const auditTarget = result.cpeName ?? result.virtualMatchString ?? 'unknown CPE';
|
|
245
278
|
ctx.enrich({
|
|
246
279
|
returned: result.returned,
|
|
247
280
|
auditTarget,
|
|
281
|
+
...(input.severityMin && {
|
|
282
|
+
severityMin: input.severityMin,
|
|
283
|
+
filteredCount: result.filteredCount,
|
|
284
|
+
}),
|
|
248
285
|
});
|
|
249
286
|
ctx.enrich.total(result.totalResults);
|
|
250
287
|
if (result.cves.length === 0) {
|
|
251
|
-
|
|
288
|
+
// Distinguish "the CPE has no CVEs" from "severityMin dropped everything on the page":
|
|
289
|
+
// filteredCount > 0 means NVD did return CVEs, they were just below the threshold.
|
|
290
|
+
if (input.severityMin && result.filteredCount > 0) {
|
|
291
|
+
ctx.enrich.notice(`All ${result.filteredCount} CVE(s) on the fetched page scored below ${input.severityMin}. ` +
|
|
292
|
+
'Lower severityMin or raise limit to widen the page NVD returns.');
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
ctx.enrich.notice('No CVEs found for this product. Verify the CPE name with nvd_search_cpes.');
|
|
296
|
+
}
|
|
252
297
|
}
|
|
253
298
|
return { cves: result.cves };
|
|
254
299
|
},
|
|
@@ -293,12 +338,12 @@ export const nvdAuditCpe = tool('nvd_audit_cpe', {
|
|
|
293
338
|
lines.push(` - Required Action: ${cve.cisaKev.requiredAction}`);
|
|
294
339
|
}
|
|
295
340
|
if (cve.configurations && cve.configurations.length > 0) {
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
}
|
|
341
|
+
const matches = cve.configurations.flatMap((cfg) => cfg.nodes.flatMap((node) => node.cpeMatch.map((m) => formatCpeMatch(m, cfg.operator, node.operator))));
|
|
342
|
+
lines.push(`**Configurations:** ${cve.configurations.length} node group(s), ${matches.length} CPE match(es)`);
|
|
343
|
+
for (const match of matches.slice(0, CPE_MATCH_CAP))
|
|
344
|
+
lines.push(` - ${match}`);
|
|
345
|
+
if (matches.length > CPE_MATCH_CAP) {
|
|
346
|
+
lines.push(` - … ${matches.length - CPE_MATCH_CAP} more`);
|
|
302
347
|
}
|
|
303
348
|
}
|
|
304
349
|
if (cve.references && cve.references.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nvd-audit-cpe.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/nvd-audit-cpe.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nvd-audit-cpe.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/nvd-audit-cpe.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export declare const nvdGetCveHistory: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
27
27
|
readonly recovery: "Use the format CVE-YYYY-NNNNN (e.g., CVE-2021-44228) and verify the ID is correct.";
|
|
28
28
|
}, {
|
|
29
29
|
readonly reason: "rate_limited";
|
|
30
|
-
readonly code: JsonRpcErrorCode.
|
|
30
|
+
readonly code: JsonRpcErrorCode.RateLimited;
|
|
31
31
|
readonly when: "NVD returned HTTP 403 indicating the rate limit was exceeded.";
|
|
32
32
|
readonly retryable: true;
|
|
33
33
|
readonly recovery: "Wait for the NVD rate window to reset or set the NVD_API_KEY environment variable for higher limits.";
|
|
@@ -77,7 +77,7 @@ export const nvdGetCveHistory = tool('nvd_get_cve_history', {
|
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
79
|
reason: 'rate_limited',
|
|
80
|
-
code: JsonRpcErrorCode.
|
|
80
|
+
code: JsonRpcErrorCode.RateLimited,
|
|
81
81
|
when: 'NVD returned HTTP 403 indicating the rate limit was exceeded.',
|
|
82
82
|
retryable: true,
|
|
83
83
|
recovery: 'Wait for the NVD rate window to reset or set the NVD_API_KEY environment variable for higher limits.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nvd-get-cve-history.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/nvd-get-cve-history.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"nvd-get-cve-history.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/nvd-get-cve-history.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export declare const nvdGetCve: import("@cyanheads/mcp-ts-core").ToolDefinition<
|
|
|
8
8
|
cveIds: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
|
|
9
9
|
brief: z.ZodDefault<z.ZodBoolean>;
|
|
10
10
|
includeReferences: z.ZodDefault<z.ZodBoolean>;
|
|
11
|
+
allLanguages: z.ZodDefault<z.ZodBoolean>;
|
|
11
12
|
}, z.core.$strip>, z.ZodObject<{
|
|
12
13
|
brief: z.ZodBoolean;
|
|
13
14
|
cves: z.ZodArray<z.ZodObject<{}, z.core.$loose>>;
|
|
@@ -23,7 +24,7 @@ export declare const nvdGetCve: import("@cyanheads/mcp-ts-core").ToolDefinition<
|
|
|
23
24
|
readonly recovery: "Verify the CVE ID is correct; use nvd_search_cves to search by keyword or date.";
|
|
24
25
|
}, {
|
|
25
26
|
readonly reason: "rate_limited";
|
|
26
|
-
readonly code: JsonRpcErrorCode.
|
|
27
|
+
readonly code: JsonRpcErrorCode.RateLimited;
|
|
27
28
|
readonly when: "NVD returned HTTP 403 indicating the rate limit was exceeded.";
|
|
28
29
|
readonly retryable: true;
|
|
29
30
|
readonly recovery: "Wait for the NVD rate window to reset or set the NVD_API_KEY environment variable for higher limits.";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nvd-get-cve.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/nvd-get-cve.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"nvd-get-cve.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/nvd-get-cve.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4NpB,CAAC"}
|