# sazabi/cve.now architecture

> Architecture diagram of the GitHub repository sazabi/cve.now, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sazabi/cve.now
- Repository: https://github.com/sazabi/cve.now

## Overview

This repository is cve.now’s public GitHub home, not the service implementation: the README says the service runs from a private monorepo. The documented user workflow is to query the hosted service—through feeds, the web/API, or MCP—and receive vulnerability results; users can also submit a lockfile for a version-specific check. The graph captures those documented capabilities and the plugin metadata present here. Service internals and their implementation paths are unavailable, so service nodes have null paths and edges rely on README documentation.

Main entry points: [`plugin`](https://github.com/sazabi/cve.now/tree/main/plugin) (MCP plugin package), [`plugin/plugin.json`](https://github.com/sazabi/cve.now/blob/main/plugin/plugin.json) (Plugin metadata), [`plugin/mcp.json`](https://github.com/sazabi/cve.now/blob/main/plugin/mcp.json) (MCP configuration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_discovery["Discovery and feeds"]
  node_catalog[("Unified vulnerability catalog")]
  node_search["Search and entity lookup"]
  node_feeds["RSS, Atom, JSON feeds"]
end

subgraph group_stack["Stack checking"]
  node_stackcheck["Version-specific stack check"]
  node_report["Shareable stack report"]
end

subgraph group_access["Service access"]
  node_web["cve.now web pages"]
  node_api["JSON API"]
  node_mcp["Remote MCP server"]
  node_plugin["MCP plugin package"]
  node_pluginmanifest["Plugin metadata<br/>[plugin.json]"]
  node_mcpconfig["MCP configuration<br/>[mcp.json]"]
end

node_user(("Developer or agent"))
node_lockfile["Lockfile"]
node_sources["Vulnerability sources"]

node_sources -->|"contributes records"| node_catalog
node_catalog -->|"supports lookup"| node_search
node_catalog -->|"publishes entries"| node_feeds
node_user -->|"requests filtered feed"| node_feeds
node_user -->|"searches vulnerabilities"| node_search
node_user -->|"views entry"| node_web
node_user -->|"requests data"| node_api
node_user -->|"uploads"| node_lockfile
node_lockfile -->|"checks versions"| node_stackcheck
node_stackcheck -->|"returns report"| node_report
node_user -->|"invokes tools"| node_mcp
node_mcp -->|"offers operations"| node_search
node_mcp -->|"offers operation"| node_stackcheck
node_plugin -.->|"includes metadata"| node_pluginmanifest
node_plugin -.->|"configures server"| node_mcpconfig
node_plugin -->|"packages same server"| node_mcp

click node_plugin "https://github.com/sazabi/cve.now/tree/main/plugin"
click node_pluginmanifest "https://github.com/sazabi/cve.now/blob/main/plugin/plugin.json"
click node_mcpconfig "https://github.com/sazabi/cve.now/blob/main/plugin/mcp.json"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_catalog,node_search,node_feeds toneBlue
class node_stackcheck,node_report toneAmber
class node_web,node_api,node_mcp,node_plugin,node_pluginmanifest,node_mcpconfig toneMint
class node_user,node_lockfile,node_sources toneIndigo
```

## Components

### Discovery and feeds

- **Unified vulnerability catalog**
- **Search and entity lookup**
- **RSS, Atom, JSON feeds**

### Stack checking

- **Version-specific stack check**
- **Shareable stack report**

### Service access

- **cve.now web pages**
- **JSON API**
- **Remote MCP server**
- [MCP plugin package](https://github.com/sazabi/cve.now/tree/main/plugin): `plugin`
- [Plugin metadata](https://github.com/sazabi/cve.now/blob/main/plugin/plugin.json): `plugin/plugin.json`
- [MCP configuration](https://github.com/sazabi/cve.now/blob/main/plugin/mcp.json): `plugin/mcp.json`

### Other components

- **Developer or agent**
- **Lockfile**
- **Vulnerability sources**

## Connections

- Vulnerability sources → Unified vulnerability catalog: contributes records (evidence: `README.md`)
- Unified vulnerability catalog → Search and entity lookup: supports lookup (evidence: `README.md`)
- Unified vulnerability catalog → RSS, Atom, JSON feeds: publishes entries (evidence: `README.md`)
- Developer or agent → RSS, Atom, JSON feeds: requests filtered feed (evidence: `README.md`)
- Developer or agent → Search and entity lookup: searches vulnerabilities (evidence: `README.md`)
- Developer or agent → cve.now web pages: views entry (evidence: `README.md`)
- Developer or agent → JSON API: requests data (evidence: `README.md`)
- Developer or agent → Lockfile: uploads (evidence: `README.md`)
- Lockfile → Version-specific stack check: checks versions (evidence: `README.md`)
- Version-specific stack check → Shareable stack report: returns report (evidence: `README.md`)
- Developer or agent → Remote MCP server: invokes tools (evidence: `README.md`)
- Remote MCP server → Search and entity lookup: offers operations (evidence: `README.md`)
- Remote MCP server → Version-specific stack check: offers operation (evidence: `README.md`)
- MCP plugin package → Plugin metadata: includes metadata (evidence: `README.md`)
- MCP plugin package → MCP configuration: configures server (evidence: `README.md`)
- MCP plugin package → Remote MCP server: packages same server (evidence: `README.md`)
