Skip to main content
Glama
marcoeg

mcp-nvd

by marcoeg

NVD データベース MCP サーバー

PyPI - バージョン

API を介して NIST 国家脆弱性データベース (NVD) を照会するためのモデル コンテキスト プロトコルサーバーの実装。https ://nvd.nist.gov/

前提条件として、NVD API キーが必要です。(こちらからリクエストしてください)。

状態

stdioおよびsseトランスポートの両方を使用して、Claude デスクトップ アプリおよびその他の MCP 準拠のホストおよびクライアントで動作します。

Related MCP server: MCP NVD Server

特徴

  • 詳細な脆弱性データを使用して、ID で特定の CVE をクエリします。

  • カスタマイズ可能な結果オプションを使用して、キーワードで NVD データベースを検索します。

  • リアルタイム通信のための Server-Sent Events (SSE) トランスポートをサポートします。

  • Claude Desktop などの MCP 準拠クライアントと互換性があります。

ツール

サーバーは、NVD データベースを照会するために次のツールを実装します。

  • get_cve :

    • 説明: ID で CVE レコードを取得します。

    • パラメータ:

      • cve_id (str): CVE ID (例: CVE-2019-1010218 )。

      • concise (bool、デフォルトはFalse ): Trueの場合は、より短い形式を返します。

    • 返されるもの: スコア、弱点、参照を含む詳細な CVE 情報。

  • search_cve :

    • 説明: キーワードで NVD データベースを検索します。

    • パラメータ:

      • keyword (str): 検索用語 (例: Red Hat )。

      • exact_match (bool、デフォルトはFalse ): Trueの場合は、正確なフレーズ一致が必要です。

      • concise (bool、デフォルトはFalse ): Trueの場合は、短い CVE レコードを返します。

      • results (int, default 10 ): CVE レコードの最大数 (1-2000)。

    • 返される値: 一致する CVE とその合計数のリスト。

構成

  1. 次の場所にある Claude Desktop 構成ファイルを作成または編集します。

    • macOSの場合: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows の場合: %APPDATA%/Claude/claude_desktop_config.json

  2. 以下を追加します。

{
  "mcpServers": {
    "mcp-nvd": {
      "command": "/path/to/uvx",
      "args": ["mcp-nvd"],
      "env": {
        "NVD_API_KEY": "your-api-key"
      }
    }
  }
}
  1. /path/to/uvxuvx実行ファイルへの絶対パスに置き換えます。ターミナルでwhich uvxコマンドのパスを確認してください。これにより、サーバーの起動時に正しいバージョンのuvxが使用されるようになります。

  2. 変更を適用するには、Claude Desktop を再起動します。

発達

設定

  1. 前提条件:

  2. リポジトリのクローンを作成します:

git clone https://github.com/marcoeg/mcp-nvd
cd mcp-nvd
  1. 環境変数を設定する:

    • プロジェクト ルートに.envファイルを作成します。

      NVD_API_KEY=your-api-key
    • your-api-key NVD API キーに置き換えます。

  2. 依存関係をインストール:

uv sync
uv pip install -e .

MCPインスペクターで実行する

cd /path/to/the/repo
source .env

npx @modelcontextprotocol/inspector uv \
    --directory /path/to/repo/mcp-nvd run mcp-nvd

次に、MCP インスペクターによって示された URL (通常はhttp://localhost:8077?proxyPort=8078をブラウザで開きます。

インスペクターでstdiosseトランスポート タイプを自由に切り替えます。

SSEクライアントでのテスト

サーバーを実行します。

cd /path/to/the/repo
source .env

uv run mcp-nvd --transport sse --port 9090
  • デフォルトではポート9090で SSE トランスポートを使用して実行されます。

クライアントを実行します。

get_cveをテストします:

uv run client.py http://localhost:9090/sse CVE-2019-1010218

テストsearch_cve (デフォルト 10 件の結果):

uv run client.py http://localhost:9090/sse "search:Red Hat"

テストsearch_cve (完全一致、5 件の結果):

uv run client.py http://localhost:9090/sse "search:Microsoft Windows:exact:5"

Dockerのセットアップ

建てる

docker build -t mcp-nvd:latest .

走る

.envの場合:

docker run -d -p 9090:9090 -v /path/to/.env:/app/.env mcp-nvd:latest

env var の場合:

docker run -d -p 9090:9090 -e NVD_API_KEY="your-key" mcp-nvd:latest

カスタム ポート:

docker run -d -p 8080:8080 -v /path/to/.env:/app/.env mcp-nvd:latest uv run mcp-nvd --transport sse --port 8080 --host 0.0.0.0

確認する

docker logs <container_id>
# Expect: INFO: Uvicorn running on http://0.0.0.0:9090

テスト:

uv run client.py http://localhost:9090/sse CVE-2019-1010218

注記

  • .envNVD_API_KEY=your-keyがあることを確認するか、 -eを使用してください。

  • デフォルトポート: 9090


以下は、コード ブロック内の Markdown コメントとしてフォーマットされた概要です。これは、 docker-compose.yamlREADME.mdなどのファイルに含めるのに適しています。

テストに Docker Compose を使用する

このdocker-compose.yamltests/ディレクトリにあり、ビルド済みのDockerイメージを用いてMCP-NVDサーバーをテストするためのサービスを定義します。これは、 clickhouseのようなスタンドアロンサービスと同様に、テストユースケース向けに設計されており、イメージは毎回再構築されるのではなく、事前にビルドされることを前提としています。

仮定

  • ビルド済みイメージ:このサービスは、ローカルまたはレジストリで利用可能なmcp-nvd:testタグ付きのビルド済みイメージを使用します。このイメージは親ディレクトリにあるDockerfileに基づいており、 uvを使用して MCP-NVD サーバーをセットアップし、ポート 9090 で SSE モードで実行します。

イメージの構築方法

mcp-nvd:testイメージを作成するには:

  1. プロジェクト ルートに移動します。

    cd ./mcp-nvd
  2. Dockerfile を使用してイメージをビルドします。

    docker build -t mcp-nvd:test .
    • これにより、 pyproject.tomlmcp_nvd/モジュールからのすべての依存関係を含むイメージがビルドされ、サーバーを実行するためのデフォルトのコマンドが設定されます。

サービスの実行

tests/ディレクトリから:

cd tests
docker-compose up
  • アクセス: サーバーはhttp://localhost:9090で実行されます。

  • 停止: docker-compose down

  • 環境: NVD_API_KEY../.envにあることを確認するか、 docker-compose --env-file ../.env upを使用します。

Docker Compose シナリオでtest_tools.pyを実行する

Docker 環境内でユニット テスト ( test_tools.py ) を実行するには:

  1. サービスを開始します。docker docker-compose upを実行して、 mcp-nvdサービスが実行されていることを確認します。

  2. コンテナ内で実行:

    • コンテナ名 (例: mcp-nvd-mcp-nvd-1 ) を次のように識別します。

      docker ps
    • コンテナ内でテストを実行します。

      docker exec -it mcp-nvd-mcp-nvd-1 python /app/tests/test_tools.py
    • test_tools.pyがイメージの/app/tests/にコピーされていることを前提としています。コピーされていない場合は、Dockerfileに以下を追加してください。

      COPY tests/ ./tests/

      次に、ルートからdocker build -t mcp-nvd:test .を使用してイメージを再構築します。

  3. 代替案: コンテナ化されたサービスに対してローカルでテストを実行します。

    cd tests
    python test_tools.py
    • これは、サービスの実行中にhttp://localhost:9090に対してテストを行います。

主な詳細

  • ポート: 9090 は SSE アクセス用に公開されています。

  • ログ: log-dataボリュームに保存されます (オプション)。

  • イメージ: docker-composeを実行する前に、一度ビルドしてmcp-nvd:testとしてタグ付けする必要があります。


SSE ベースの MCP クライアントとサーバーの動作パターンを提供してくれた@sidharthrajaramに感謝します: https://github.com/sidharthrajaram/mcp-sse

Install Server
A
license - permissive license
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server for querying the CVE-Search API. This server provides comprehensive access to CVE-Search, browse vendor and product、get CVE per CVE-ID、get the last updated CVEs.
    6
    103
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that retrieves CVE information from the National Vulnerability Database, allowing AI models to access up-to-date vulnerability data.
    1
    7
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server providing security vulnerability intelligence tools including CVE lookup, EPSS scoring, CVSS calculation, exploit detection, and Python package vulnerability checking.
    8
    9
    MIT

View all related MCP servers

Related MCP Connectors

  • NVD MCP — wraps the NIST National Vulnerability Database API (free, no auth)

  • CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.

  • CVE lookups (NVD) and dependency-manifest audits (OSV) for AI agents. No API keys.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/marcoeg/mcp-nvd'

If you have feedback or need assistance with the MCP directory API, please join our Discord server