
marcoeg/mcp-nvd
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
An MCP server to query the NIST National Vulnerability Database (NVD)
개요
A Model Context Protocol server implementation to query the NIST National Vulnerability Database (NVD) via its API. https://nvd.nist.gov/ As a prerequisite an NVD API key is required. (Request here). Works with Claude Desktop app and other MCP compliant hosts and clients using both the stdio and sse transports. - Query specific CVEs by ID with detailed vulnerability data. - Search the NVD database by keyword with customizable result options. - Supports Server-Sent Events (SSE) transport for real-time communication. - Compatible with MCP-compliant clients like Claude Desktop. The server implements the following tools to query the NVD Database: - : - : Retrieves a CVE record by its ID. - : - cve_id (str): The CVE ID (e.g., CVE-2019-1010218). - concise (bool, default False): If True, returns a shorter format. - : Detailed CVE info including scores, weaknesses, and references. - : - : Searches the NVD database by keyword. - : - keyword (str): Search term (e.g., Red Hat).
README
원문 README의 일부입니다. 원문 보기.
NVD Database MCP Server
A Model Context Protocol server implementation to query the NIST National Vulnerability Database (NVD) via its API. https://nvd.nist.gov/
As a prerequisite an NVD API key is required. (Request here).
Status
Works with Claude Desktop app and other MCP compliant hosts and clients using both the stdio and sse transports.
Features
- Query specific CVEs by ID with detailed vulnerability data.
- Search the NVD database by keyword with customizable result options.
- Supports Server-Sent Events (SSE) transport for real-time communication.
- Compatible with MCP-compliant clients like Claude Desktop.
Tools
The server implements the following tools to query the NVD Database:
-
get_cve:- Description: Retrieves a CVE record by its ID.
- Parameters:
cve_id(str): The CVE ID (e.g.,CVE-2019-1010218).concise(bool, defaultFalse): IfTrue, returns a shorter format.
- Returns: Detailed CVE info including scores, weaknesses, and references.
-
search_cve:- Description: Searches the NVD database by keyword.
- Parameters:
keyword(str): Search term (e.g.,Red Hat).exact_match(bool, defaultFalse): IfTrue, requires an exact phrase match.concise(bool, defaultFalse): IfTrue, returns shorter CVE records.results(int, default10): Maximum number of CVE records (1-2000).
- Returns: List of matching CVEs with total count.
Configuration
-
Create or edit the Claude Desktop configuration file located at:
- On macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - On Windows:
%APPDATA%/Claude/claude_desktop_config.json
- On macOS:
-
Add the following:
{
"mcpServers": {
"mcp-nvd": {
"command": "/path/to/uvx",
"args": ["mcp-nvd"],
"env": {
"NVD_API_KEY": "your-api-key"
}
}
}
}
-
Replace
/path/to/uvxwith the absolute path to theuvxexecutable. Find the path withwhich uvxcommand in a terminal. This ensures that the correct version ofuvxis used when starting the server. -
Restart Claude Desktop to apply the changes.
Development
Setup
-
Prerequisites:
- Python 3.10 or higher.
- An NVD API key (request here).
uvpackage manager (installation).
-
Clone the Repository:
git clone https://github.com/marcoeg/mcp-nvd
cd mcp-nvd
- Set Environment Variables:
- Create a
.envfile in the project root:
- Create a
설치
npx @modelcontextprotocol/inspector uv \설정
{
"mcpServers": {
"mcp-nvd": {
"command": "/path/to/uvx",
"args": ["mcp-nvd"],
"env": {
"NVD_API_KEY": "your-api-key"
}
}
}
}