euvdb-mcp-server

etxahun/euvdb-mcp-server

3.2

If you are the rightful owner of euvdb-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The EUVDB MCP Server is a Python-based server designed to interact with the ENISA EUVDB Public Vulnerability API using the Model Context Protocol (MCP).

Tools
7
Resources
0
Prompts
0

πŸ›‘οΈ EUVDB MCP Server

MCP Server in Python to interact with the ENISA EUVDB Public Vulnerability API, using the Model Context Protocol (MCP).

This server exposes query tools that can be invoked from MCP-compatible AI assistants like Claude Desktop or Visual Studio Code (VSCode).

πŸ“ Project Structure

euvdb-mcp-server/
β”œβ”€β”€ Dockerfile # Dockerfile to build the Docker image of the project
β”œβ”€β”€ LICENSE # Project license
β”œβ”€β”€ README.md # Project documentation
β”œβ”€β”€ server.py # MCP server with tools to query the ENISA API
└── pyproject.toml # (optional, if using uv as package manager)

πŸš€ Getting Started

1. Clone the repository

git clone https://github.com/etxahun/euvdb-mcp-server.git
cd euvdb-mcp-server

2. Create virtual environment and install dependencies

Requirements: Python 3.10 or higher, and uv as environment manager (optional but recommended).

# Install uv if not already available
curl -LsSf https://astral.sh/uv/install.sh | sh

# Initialize virtual environment
uv venv
source .venv/bin/activate

# Install dependencies
uv add "mcp[cli]" httpx

3. Run the MCP server

  • Option A: Run locally

    uv run server.py
    
  • Option B: From WSL (Windows Subsystem for Linux)

    wsl bash -c 'cd /path/to/euvdb-mcp-server && /home/<user>/.local/bin/uv run server.py'
    

πŸ§ͺ Test locally with Docker

Run the following commands from the terminal:

docker build -t mcp-euvdb .
docker run --rm mcp-euvdb

βš™οΈ Integration with Claude in VSCode

  1. Open VSCode and ensure the Claude AI Assistant extension is installed.
  • Note: If you are using "Claude Desktop", installing the extension is not necessary.
  1. Open settings.json (Ctrl+Shift+P β†’ "Preferences: Open Settings (JSON)").

  2. Add the following:

"mcp": {
    "servers": {
        "euvdb": {
            "command": "wsl.exe",
            "args": [
                "bash",
                "-c",
                "cd /home/<user>/path/to/project/euvdb-mcp-server && /home/<user>/.local/bin/uv run server.py"
            ]
        }
     }
}

If the Docker image mcp-euvdb has already been built, you can configure VSCode to use it directly by modifying the settings.json file as follows:

"mcp": {
    "servers": {
        "euvdb": {
           "command": "wsl.exe",
           "args": [
               "docker",
               "run",
               "--rm",
               "-i",
               "mcp-euvdb"
           ]
        }
     }
}

πŸ§ͺ Available Tools

The MCP server exposes the following tools:

ToolDescripction
get_last_vulnerabilities()Latest published vulnerabilities (max 8)
get_exploited_vulnerabilities()Recently exploited vulnerabilities (max 8)
get_critical_vulnerabilities()Latest critical vulnerabilities (max 8)
get_vulnerability_by_id(id)Query a vulnerability by CVE ID (e.g., CVE-2024-0864)
get_enisaid(id)Query by ENISA ID (e.g., EUVD-2024-45012)
get_advisory(id)Fetch advisory by ID (e.g., cisco-sa-ata19x-...)
query_vulnerabilities(...)Advanced query with filters (score, EPSS, date, product, etc.)

πŸ’¬ Prompt Examples

  • β€œQuery the latest critical vulnerabilities using euvdb.”
  • β€œLook up vulnerability CVE-2024-0864.”
  • β€œFilter vulnerabilities with score > 9 since January 2024.”
  • β€œShow recent advisories related to CISCO.”

πŸ“„ License

This project is licensed under Apache-2.0.

🀝 Credits

This server interacts with the ENISA EUVDB Public Vulnerability API, which is open and does not require authentication.