Aldabra CVE Watch
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Aldabra CVE Watchcheck my watched products for new CVEs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Aldabra CVE Watch
Connect your agent to Aldabra's public CVE feed, tell it which products you use, and have your client check for relevant activity daily. NEW advisories, unscored CVEs, score changes and corrections stay distinct.
Launch status: local alpha. The hosted endpoint below is the intended launch address. Publication, cloud setup and real ChatGPT/Claude onboarding must be verified before this notice is removed. See build evidence.
Quick start
Add
https://cve-mcp.aldabra.sh/mcpas a remote MCP server in your client.Sign in with GitHub. No repository, organization or email access is requested.
Paste the prompt below. Your agent collects product names, saves a private watch, tests it, and creates a daily task if your client supports scheduling.
For public searches without saved watches, use
https://cve-mcp.aldabra.sh/public/mcp with no authentication.
Set up an Aldabra CVE watch using https://github.com/aldabra-sh/cve-mcp.
Read its README and skills/cve-watch/SKILL.md, then verify that the Aldabra
MCP tools are connected. If you cannot add a connector yourself, give me the
exact steps for this client and wait for me to connect it.
Ask which products I use, optional versions and aliases, and my preferred
daily time and timezone. Do not ask for credentials, hostnames or IP addresses.
Save a private watch, test it, and create a daily check using this client's
supported scheduler. Notify me about new matching CVEs, meaningful updates,
corrections, or monitoring failures. Include unscored records. Stay quiet when
there is nothing new and the source is healthy.
Show me the watch ID, verified scheduler receipt and next run. If scheduling
or unattended connector access is unavailable, say what is still missing;
do not claim monitoring is active. Matches are leads to review, not proof
that an installed version is vulnerable.An agent prompt cannot grant connector access or install scheduling features that a client does not have. Client setup covers ChatGPT, Claude and other MCP clients. Each user signs in with their own GitHub identity. Organization administrators may approve the connector for their workspace; watches are individual in this release, with no shared team inventory.
Related MCP server: EUVD-MCP
What a check returns
Fictional examples, not real advisories:
NEW · ExampleVPN · CVE-20XX-12345 · Unscored
ExampleVPN allows an out-of-bounds read. Unscored — no CVSS score is currently provided in the source record. Originally published: the source publication time.
UPDATE · ExampleVPN · CVE-20XX-12345 · CVSS added: 9.8 Critical
CVSS added: Unscored → 9.8 Critical, CVSS 3.1, supplied by the CNA. Updated: the event time. Originally published: the original CVE publication time.
Real results retain the feed's source-derived text, score version/provider, original publication time, event GUID and official CVE.org link. Advisory text is data, not instructions. The connector does not invent exploitation, impact, affected-version or remediation claims.
Tools
Tool | Purpose |
| Source check time, freshness and coverage |
| Search retained events; newest or numeric score order; snapshot-bound pagination |
| One exact official CVE lookup, including outside activity retention |
| Your saved watches |
| Save product terms and baseline existing activity; retry with the same UUID |
| Read pending matches and an acknowledgment receipt |
| Accept that exact batch; safe to retry |
| Replace terms with revision protection and an explicit new baseline |
| Remove the watch and its acknowledgment history |
The last six tools require OAuth. Write operations require watches:write;
read operations require watches:read. Refresh tokens are issued only with
offline_access. Scheduled tasks still need a client that can use the connector
without an interactive approval on every run.
Matching and coverage
A product name or one of its explicit aliases matches a complete term/phrase in the feed's CVE ID, product, description or compact affected-version text. Multiple watched products are ORed. Search query words are ANDed.
Stored versions are context only. There is no package ecosystem resolver, CPE database, semantic version range engine, infrastructure scanner or enrichment.
Matching CVE identities stay associated with a watch so a later correction can still be returned when the correction no longer names the product.
Initial creation baselines existing matching activity. A read does not advance the watch. The client acknowledges consumed batches with a signed receipt. Acknowledgment proves client acceptance, not notification delivery. Retries can repeat unacknowledged results; clients should deduplicate on event GUID.
NEW and UPDATE use different durable GUIDs. Repeated imports do not create events. Scoring-provider, version and scenario changes remain explicitly labelled.
Source coverage is read from the live manifest: initially 7 days of backfill, 30 days of activity, and score/correction tracking for known CVEs for 90 days after publication. This is not a complete 90-day or all-time catalog.
Updates represent differences observed between upstream polls. Intermediate revisions can be combined. Affected-version-only metadata edits are not an UPDATE trigger in the feed. Term matching can miss ambiguous or omitted product names.
A missed interval beyond retained history returns
coverage_gap, never “all clear.” A stale source or outage leaves watch progress unchanged. Exact-ID lookup does not expand watch coverage.Limits: 20 watches per account, 20 products per watch, 5 aliases per product, 40 results per batch. Follow
has_more; capacity errors are explicit.
Privacy
Supply product names and optional versions. Do not submit secrets, hostnames,
IP addresses, customer identities, private repositories or lockfiles.
The service stores a GitHub numeric ID, watch definition and accepted event IDs
in private D1, and OAuth connection records in private KV. It discards the GitHub
access token after sign-in and makes no calls to an AI model. Delete watches with
delete_watch; disconnect the connector and remove its scheduled task separately.
See operator privacy and recovery notes.
Development
Node 22+:
npm ci
npm run check
npx wrangler d1 migrations apply aldabra-cve-watches --local
npm run devThe local default is http://localhost:8787. Public MCP reads work without
credentials. Full OAuth requires a configured HTTPS origin and GitHub OAuth app;
the integration tests exercise the complete protocol with synthetic identities
and real local KV/D1. No production auth bypass is included.
One Worker serves Streamable HTTP MCP and OAuth; D1 stores watches; KV stores OAuth state. The existing cloud feed ingestion and its 30-minute timer remain independent. The client owns its daily schedule. There is no production dependency on the development computer. See deployment.
Source and license
Source data: CVE Program / CVEProject/cvelistV5, presented through Aldabra's public feed. Returned data includes the upstream license notice. CVE data retains its own terms; see the notices returned with tool results. New connector source is under the MIT license.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only vulnerability intelligence: CVEs, exploitation evidence, fixes and product matches.
ZEN SecDB MCP server for CVE intelligence, CVSS/EPSS scoring, advisories, SSVC, and package audits.
Read-only CVE intelligence, remediation playbooks, and agent setup guides. Not a scanner.
CVE intelligence: exploitation (KEV/EPSS), detection coverage, fixed versions, CPE configurations.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server providing vulnerability intelligence from CVEFeed.io, enabling CVE search, product subscriptions, and alert management via natural language.24 PyPIMIT
- AlicenseNot gradedqualityDmaintenanceMCP server for the European Union Vulnerability Database (EUVD) maintained by ENISA. Enables searching for vulnerabilities with flexible filters, fetching latest, critical, and exploited vulnerabilities, and looking up specific vulnerabilities and advisories by ID.MIT
- FlicenseNot gradedqualityAmaintenanceEnables querying the CVE-Search API to browse vendors and their products, retrieve vulnerabilities per vendor/product, look up specific CVE IDs, fetch the latest 30 CVEs with CAPEC, CWE and CPE expansions, and check database metadata. This gives MCP clients conversational access to public vulnerability data.-
- FlicenseNot gradedqualityAmaintenanceEnables querying the CVE-Search API to browse vendors, list products for a vendor, retrieve vulnerabilities for a vendor and product, fetch individual CVE records, get the latest CVEs with CAPEC/CWE/CPE expansions, and inspect current database version information. This gives MCP clients direct, structured access to public vulnerability data.-