Skip to main content
Glama
ch201y00n

cve-reference-mcp

by ch201y00n

CVE Reference MCP Server

CVE ID를 입력받아 CVE 안내서 작성에 필요한 참고자료 목록을 수집·반환하는 MCP 서버입니다.

데이터 원본(NVD, CIRCL, OSV, EPSS, GitHub Advisory) 및 반환 참고자료의 상세 목록은 AGENTS.md § 1. MCP 서버 개요를 참조하세요.

빠른 실행 (npx / pnpm dlx)

별도 설치 없이 GitHub에서 바로 실행할 수 있습니다.

# npx
npx -y github:ch201y00n/cve-mcp

# pnpm
pnpm dlx github:ch201y00n/cve-mcp

Node.js 18 이상이 필요합니다 (global fetch API 사용).

Related MCP server: sourceright

로컬 설치

git clone https://github.com/ch201y00n/cve-mcp.git
cd cve-mcp
npm install

MCP 클라이언트 연동

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 또는 %APPDATA%\Claude\claude_desktop_config.json (Windows) 에 추가:

{
  "mcpServers": {
    "cve-reference-mcp": {
      "command": "npx",
      "args": ["-y", "github:ch201y00n/cve-mcp"],
      "env": {
        "GITHUB_TOKEN": "ghp_xxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

또는 로컬 설치 후 직접 경로를 지정:

{
  "mcpServers": {
    "cve-reference-mcp": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/cve-mcp/src/index.mjs"],
      "env": {
        "GITHUB_TOKEN": "ghp_xxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

Cursor

.cursor/mcp.json 에 추가:

{
  "mcpServers": {
    "cve-reference-mcp": {
      "command": "npx",
      "args": ["-y", "github:ch201y00n/cve-mcp"],
      "env": {
        "GITHUB_TOKEN": "ghp_xxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

GITHUB_TOKEN은 선택 사항이지만 있으면 GitHub Advisory 수집 Rate Limit이 60→5,000/시간으로 증가합니다.

제공 Tool 목록

get_cve_references

CVE 안내서용 참고자료를 전체 수집합니다.

파라미터

타입

기본값

설명

cve_id

string

(필수)

예: CVE-2021-44228

output_format

json | markdown

json

출력 형식

sources

string[]

전체

수집할 원본 선택

get_cve_summary

NVD + EPSS 기반 핵심 정보만 간략 요약합니다.

파라미터

타입

기본값

설명

cve_id

string

(필수)

예: CVE-2021-44228

파라미터 상세 설명, 실제 출력 예시, 테스트 방법은 docs/GUIDE.md 를 참조하세요.

Available Tools

2 tools
get_cve_referencesA

CVE ID를 입력받아 CVE 안내서 작성용 참고자료 목록을 반환합니다. NVD, CIRCL, OSV, EPSS, GitHub Advisory 등 복수 원본에서 수집합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
cve_idYes조회할 CVE ID (예: CVE-2021-44228)
sourcesNo수집할 데이터 원본 목록
output_formatNo출력 형식: json(구조화) 또는 markdown(가독성)json

TDQS

A3.8/5.0
Behavior3/5

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

Since no annotations are provided, the description carries full responsibility. It discloses that the tool aggregates from multiple sources (NVD, CIRCL, OSV, EPSS, GitHub Advisory), which is useful. However, it does not mention potential latency, failure behavior, or output structure nuances, leaving behavioral transparency partial.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently conveys purpose and data sources. Every element earns its place, with no redundant or vague wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with three well-documented parameters, the description is sufficiently complete. It explains the tool's role in collecting references from multiple sources. Although no output schema exists, the output_format parameter and the mention of a reference list cover the return expectations adequately. A minor gap is the lack of detail on what constitutes a reference, but this is not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% parameter descriptions with clear semantics for cve_id, sources, and output_format. The description adds context about the purpose (guide writing) but does not enhance parameter understanding beyond what the schema already provides. Baseline of 3 is appropriate.

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?

The description clearly states the tool's function: it accepts a CVE ID and returns a list of reference materials for writing a CVE guide, sourced from multiple origins. This specific verb+resource combination distinguishes it from sibling tool get_cve_summary, which focuses on summaries rather than references.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context ('CVE 안내서 작성용' - for writing CVE guides) but does not explicitly contrast with get_cve_summary or provide when-to-use guidance. It lacks exclusions or alternative tool mentions, making it minimally adequate but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cve_summaryB

CVE ID의 핵심 정보만 요약하여 반환합니다. (NVD + EPSS 기반 간략 요약)

ParametersJSON Schema
NameRequiredDescriptionDefault
cve_idYes조회할 CVE ID

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It adds context by noting the summary is based on NVD and EPSS, suggesting a data-source dependency and a lightweight summary nature. However, it does not disclose potential limitations, update frequency, or any side-effect-like behavior, which is a gap for a read operation without annotations.

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

Conciseness5/5

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

The description is a single concise sentence plus a matching parenthetical, efficiently conveying the core purpose and data sources. Every element serves a purpose, with no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description should explain what the returned summary contains and how it differs from the sibling references tool. It fails to describe the expected fields or structure of the output, and it does not mention typical usage scenarios, making the description incomplete for an agent to fully understand tool behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the single parameter cve_id with a description ('조회할 CVE ID'), giving 100% coverage. The tool description adds no extra parameter details such as format, examples, or accepted patterns, so it provides no added meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a summary of core CVE information, with a specific verb (반환합니다) and resource (CVE ID 핵심 정보). It does not explicitly contrast with the sibling get_cve_references, but the 'summary' versus 'references' distinction is implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus get_cve_references or when not to use it. There is no mention of alternatives, prerequisites, or typical scenarios, leaving the agent without decision support for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedget_cve_references
    • First observedget_cve_summary

TDQS

A3.5/5.0

Scored across 2 tools

Disambiguation4/5

Both tools accept a CVE ID, but their purposes are clearly differentiated: one returns a list of references from multiple sources, and the other returns a concise summary of key information. While an agent must read the descriptions to choose correctly, there is no overlap in output type.

Naming Consistency5/5

Both tool names follow a consistent get_cve_<noun> pattern, with 'references' and 'summary' clearly indicating their distinct functions. This is a uniform and predictable naming convention.

Tool Count3/5

With only two tools, the set feels thin for a server dedicated to CVE references. However, it is narrowly scoped and may be adequate for the intended use case of gathering references and summaries for CVE guides.

Completeness3/5

The server covers two core operations: fetching references and providing summaries. Notable gaps exist, such as fetching detailed CVE metadata or searching by keyword, which an agent might expect from a CVE reference tool. Still, the provided tools cover the primary workflow without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Searches academic references from arXiv, DBLP, Semantic Scholar, and OpenAlex concurrently and generates BibTeX citations.
    4
    11
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables traceable scholarly literature reviews using free APIs, generating reports where every claim links to evidence IDs.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables conversion of DOIs and title queries into RIS-formatted bibliographic references using Crossref and OpenAlex APIs, with caching and rate limiting to avoid IP bans.
    -