MM

marcoeg/mcp-nvd

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

17 stars 11 forks 质量 65 趋势 21MIT

查询NIST国家脆弱性数据库的 MCP 服务器

概览

用于通过 API 查询 NIST 国家脆弱性数据库(NVD) 的模拟背景协议服务器执行。 [[T0] 作为先决条件,需要NVD API 键。 (请在此. 与克洛德桌面应用程序以及其他符合MCP的主机和客户端合作,同时使用stdio和sse传输. - 通过身份证查询具体的CVE,提供详细的脆弱程度数据。 - 使用自定义结果选项通过关键词搜索NVD数据库。 - 支持用于实时通信的服务器-恒星事件运输。 - 与Claude桌面等符合MCP的客户端兼容. 服务器执行以下工具查询NVD数据库: : - :通过它的ID检索一个CVE记录. - :- cve id(str): CVE ID(如 CVE-2019-1010218). - 简洁(bool,默认 False):如果 True,返回更短的格式。 - 详细CVE信息,包括分数、弱点和参考。 -:-:以关键词搜索NVD数据库. -:-关键词(str):搜索名词(如"红色帽子").

概述(AI 翻译)

用于通过 API 查询 NIST 国家脆弱性数据库(NVD) 的模拟背景协议服务器执行。 [[T0]

作为先决条件,需要NVD API 键。 (请在此.

□ 状态

与克洛德桌面应用程序和其他符合MCP的主机和客户端一起工作,同时使用[[T1]和[[T2]的传输.

□ 特性

  • 通过身份证查询具体的CVE,提供详细的脆弱程度数据。
  • 使用自定义结果选项通过关键词搜索NVD数据库。
  • 支持用于实时通信的服务器-恒星事件运输。
  • 与Claude桌面等符合MCP的客户端兼容.

QQ 工具

服务器执行以下工具查询NVD数据库:

  • [[T3]**:

  • ** 说明**:用身份证检索CVE记录。

  • 参数:

  • [[T4] (str): CVE ID(例如CVE-2019-1010218).

  • [[T6] (bool,默认 [T7]):如果True,返回更短的格式。

  • ** 返回**:详细CVE信息,包括分数、弱点和参考。

  • [[T9]**:

  • ** Description**:通过关键词搜索NVD数据库.

  • 参数:

  • keyword(str):搜索术语(例如Red Hat]).

本页由 AI 翻译,技术细节请以原文为准。

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, default False): If True, 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, default False): If True, requires an exact phrase match.
      • concise (bool, default False): If True, returns shorter CVE records.
      • results (int, default 10): Maximum number of CVE records (1-2000).
    • Returns: List of matching CVEs with total count.

Configuration

  1. 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
  2. Add the following:

{
  "mcpServers": {
    "mcp-nvd": {
      "command": "/path/to/uvx",
      "args": ["mcp-nvd"],
      "env": {
        "NVD_API_KEY": "your-api-key"
      }
    }
  }
}
  1. Replace /path/to/uvx with the absolute path to the uvx executable. Find the path with which uvx command in a terminal. This ensures that the correct version of uvx is used when starting the server.

  2. Restart Claude Desktop to apply the changes.

Development

Setup

  1. Prerequisites:

  2. Clone the Repository:

git clone https://github.com/marcoeg/mcp-nvd
cd mcp-nvd
  1. Set Environment Variables:
    • Create a .env file in the project root:
在 GitHub 查看完整 README

安装

npx @modelcontextprotocol/inspector uv \
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "mcp-nvd": { "command": "/path/to/uvx", "args": ["mcp-nvd"], "env": { "NVD_API_KEY": "your-api-key" } } } }