Skip to main content

MCP Server

CVD Portal exposes a Model Context Protocol (MCP) server so AI agents can act on the platform directly, the same way a script would use the REST API. An agent connected to it can submit a vulnerability report, read a company's CRA compliance status, and generate a CSAF advisory, without any custom integration code.

The MCP server is an Enterprise feature. It authenticates with the same API keys as the REST API, so access, scopes, rate limits, and the IP allowlist all behave identically.

Endpoint

https://cvdportal.com/api/mcp

The transport is streamable HTTP. Authenticate with an API key as a Bearer token:

Authorization: Bearer <your-api-key>

Create and scope keys under Settings → API Keys in the dashboard. A key with no scopes has full access; a scoped key can only call tools whose scope it carries.

Connecting

Claude Code

claude mcp add --transport http cvd-portal https://cvdportal.com/api/mcp \
--header "Authorization: Bearer <your-api-key>"

Any MCP client

Point the client at https://cvdportal.com/api/mcp with the Authorization: Bearer <your-api-key> header. Clients that support the Model Context Protocol streamable HTTP transport will discover the tools automatically.

Tools

ToolScope requiredWhat it does
submit_vulnerabilitysubmissions:writeFiles a disclosure report against your portal. Requires a description; optional productName, vulnerabilityType, stepsToReproduce, impact, contactEmail, pgpKey.
get_compliance_statusreadReturns your CRA compliance summary and recommendations.
generate_csaf_advisoryreadReturns the CSAF 2.0 VEX document for the advisory linked to a submission you own. Takes a submissionId; the advisory must already exist for that submission. Machine-readable CSAF export requires the Pro plan.

Every tool operates only within the company that owns the API key. A tool call can never reach another tenant's data, and the company is always taken from the verified key, never from the tool's arguments.

Privacy

Tool-call analytics record which tool ran, its outcome, and timing. Argument and result content, which can include vulnerability details, is not recorded by default.

See also