etxahun/euvdb-mcp-server
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).
π‘οΈ 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
- Open VSCode and ensure the Claude AI Assistant extension is installed.
- Note: If you are using "Claude Desktop", installing the extension is not necessary.
-
Open settings.json (Ctrl+Shift+P β "Preferences: Open Settings (JSON)").
-
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:
Tool | Descripction |
---|---|
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.