EPSS MCP Server

by jgamblin

Integrations

  • Manages environment variables for the EPSS MCP server, specifically for storing and accessing the NVD API key required for vulnerability data retrieval.

  • Supports containerized deployment of the EPSS MCP server, enabling consistent runtime environments and easier integration with tools like Open-WebUI.

  • Enables integration with VS Code through the GitHub Copilot Labs extension, providing access to CVE details and EPSS scores directly in the development environment.

EPSS MCP-Projekt

Das EPSS MCP-Projekt ist ein leistungsstarker Server, der CVE-Details von der NVD-API und EPSS-Scores vom EPSS-Server abruft. Es bietet Nutzern umfassende Informationen zu Schwachstellen, einschließlich CVE-Beschreibungen, CWEs, CVSS-Scores und EPSS-Perzentilen – alles an einem Ort.

Merkmale

  • Umfassende CVE-Informationen : Rufen Sie detaillierte Daten zu Sicherheitslücken, einschließlich Beschreibungen, CWEs und CVSS-Scores, direkt von der NVD-API ab.
  • EPSS-Integration : Rufen Sie EPSS-Werte und Perzentile ab, um die Wahrscheinlichkeit der Ausnutzung bestimmter Schwachstellen zu bewerten.
  • MCP-Server : Stellen Sie Daten über einen robusten und erweiterbaren MCP-Server bereit, um eine nahtlose Integration mit anderen Tools zu ermöglichen.
  • Docker-Unterstützung : Stellen Sie den Server einfach mit Docker bereit, um eine konsistente und portable Laufzeitumgebung zu erhalten.
  • VS Code-Kompatibilität : Integrieren Sie mit VS Code MCP für verbesserte Entwickler-Workflows und Echtzeit-Einblicke in Schwachstellen.

Voraussetzungen

  • Python 3.13 oder höher
  • Docker (optional, für containerisierte Bereitstellung)
  • Ein NVD-API-Schlüssel (fügen Sie ihn der .env Datei als NVD_API_KEY hinzu)

Installationsanweisungen

1. Klonen Sie das Repository

git clone <repository-url> cd epss-mcp-project

2. Abhängigkeiten installieren

Es wird empfohlen, eine virtuelle Umgebung zu verwenden. Sie können eine solche mit venv oder conda erstellen. Installieren Sie anschließend die erforderlichen Pakete:

pip install -r requirements.txt

3. Fügen Sie Ihren NVD-API-Schlüssel hinzu

Erstellen Sie eine .env Datei im Projektstamm und fügen Sie Ihren NVD-API-Schlüssel hinzu:

NVD_API_KEY=your-nvd-api-key

Verwendung

Lokales Ausführen des MCP-Servers

Um den MCP-Server lokal zu starten, führen Sie Folgendes aus:

python epss_mcp.py

Sobald der Server läuft, können Sie durch Angabe der CVE-ID Anfragen zum Abrufen von CVE-Details stellen.

Beispielanforderung

Um Details zu einem bestimmten CVE zu erhalten, verwenden Sie das folgende Format:

GET /cve/<CVE-ID>

Ersetzen Sie <CVE-ID> durch die tatsächliche CVE-Kennung (z. B. CVE-2022-1234 ).

Docker-Bereitstellung (für Open-WebUI)

Wenn Sie den MCP-Server in Open-WebUI ausführen möchten, führen Sie die folgenden Schritte aus:

1. Erstellen Sie das Docker-Image

Um den Docker-Container zu erstellen, führen Sie Folgendes aus:

docker build -t epss_mcp .

2. Führen Sie den Docker-Container aus

Führen Sie den Container aus und stellen Sie ihn auf Port 8000 bereit:

docker run -p 8000:8000 epss_mcp

Der MCP-Server ist jetzt unter http://localhost:8000 erreichbar.

WebUI-Screenshot

Unten sehen Sie einen Screenshot des MCP-Servers, der in der Open-WebUI ausgeführt wird:

Vorgeschlagene Systemeingabeaufforderung für WebUI

Wenn Sie den MCP-Server in Open-WebUI verwenden, können Sie die folgende Systemaufforderung zur Steuerung der Interaktionen konfigurieren:

You are a specialized AI Assistant focused on the Exploit Prediction Scoring System (EPSS). Your expertise lies in delivering and interpreting EPSS data, which includes daily updated probability scores (0-1) and percentiles for Common Vulnerabilities and Exposures (CVEs), indicating the likelihood of their exploitation in the wild within the next 30 days. You are to help cybersecurity professionals understand these predictions, compare them with other metrics like CVSS scores, and use this information to prioritize vulnerability remediation efforts effectively. Provide actionable, data-driven insights in a clear, technically accurate, professional, and solution-oriented manner.

Bereitstellen von VS Code MCP

Um den MCP-Server für VS Code MCP bereitzustellen, führen Sie die folgenden Schritte aus:

  1. Fügen Sie den lokalen Server zu VS Code hinzu : Öffnen Sie Ihre VS Code-Datei settings.json und fügen Sie die folgende Konfiguration hinzu, um den lokalen Server zu registrieren:
    "mcp.servers": { "EPSS_MCP": { "type": "stdio", "command": "python", "args": [ "/Github/EPSS-MCP/epss_mcp.py" ] } }
    Hinweis : Stellen Sie sicher, dass Sie den args aktualisieren, damit er mit dem Speicherort der Datei epss_mcp.py auf Ihrem lokalen Computer übereinstimmt.
  2. Mit VS Code verbinden :
    • Öffnen Sie VS Code.
    • Installieren Sie die Microsoft Copilot Labs- Erweiterung, falls sie noch nicht installiert ist.
    • Stellen Sie sicher, dass der MCP-Server in der Erweiterung aufgeführt und aktiv ist.
  3. Beginnen Sie mit der Verwendung des MCP-Servers : Sobald die Verbindung hergestellt ist, ruft VS Code die Python-Datei direkt auf, um CVE-Details und EPSS-Scores abzurufen.

VS Code-Screenshot

Unten sehen Sie einen Screenshot des in VS Code integrierten MCP-Servers:

Projektstruktur

epss-mcp-project ├── epss_mcp.py # Main entry point for the MCP server ├── nvd_api.py # Functions to interact with the NVD API ├── epss_api.py # Functions to interact with the EPSS API ├── epss_mcp_test.py # Test script for the MCP server ├── requirements.txt # Project dependencies ├── Dockerfile # Docker configuration ├── .env # Environment variables (e.g., API keys) └── README.md # Project documentation

Beitragen

Beiträge sind willkommen! Senden Sie gerne einen Pull Request oder eröffnen Sie ein Issue für Verbesserungen oder Fehlerbehebungen.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie in der Datei LICENSE .

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Ein Server, der CVE-Details aus der NVD-API abruft und EPSS-Scores abruft, um umfassende Informationen zu Schwachstellen bereitzustellen, darunter Beschreibungen, CWEs, CVSS-Scores und Perzentilen der Ausnutzungswahrscheinlichkeit.

  1. Merkmale
    1. Voraussetzungen
      1. Installationsanweisungen
        1. 1. Klonen Sie das Repository
        2. 2. Abhängigkeiten installieren
        3. 3. Fügen Sie Ihren NVD-API-Schlüssel hinzu
      2. Verwendung
        1. Lokales Ausführen des MCP-Servers
        2. Beispielanforderung
      3. Docker-Bereitstellung (für Open-WebUI)
        1. 1. Erstellen Sie das Docker-Image
        2. 2. Führen Sie den Docker-Container aus
        3. WebUI-Screenshot
        4. Vorgeschlagene Systemeingabeaufforderung für WebUI
      4. Bereitstellen von VS Code MCP
        1. VS Code-Screenshot
      5. Projektstruktur
        1. Beitragen
          1. Lizenz

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              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.
              Last updated -
              6
              15
              Python
              MIT License
            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol server implementation to query the NIST National Vulnerability Database (NVD) via its API.
              Last updated -
              Python
              MIT License
              • Apple
            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server for accessing NovaCV resume services API, enabling users to generate PDF resumes, analyze resume content, convert resume text to JSON format, and get available resume templates.
              Last updated -
              4
              133
              1
              JavaScript
            • A
              security
              A
              license
              A
              quality
              The server can be utilized for secure development by listing all packages' CVEs, their affected versions and their fix versions.
              Last updated -
              3
              2
              Python
              MIT License

            View all related MCP servers

            ID: hjvzurppoj