mcp-argus
v0.1.0
Published
A Model Context Protocol server
Readme
MCP Argus - Pentest-Advisor und Dokumentations-Server
Ein MCP-Server (Model Context Protocol), der eine Verbindung zwischen Claude und spezialisierten Penetration-Testing-APIs herstellt. Dieser Server bietet zwei Hauptfunktionen:
- Pentest-Advisor: Ermöglicht es Claude, Penetration-Testing-Fragen zu stellen und detaillierte Antworten mit priorisierten nächsten Schritten zu erhalten.
- Pentest-Documentation: Verwaltet Dokumentation und Berichte für Penetrationstests mit verschiedenen spezialisierten Agenten.
Funktionen
Pentest-Advisor
- Stellt Pentest-Anfragen an die spezialisierte Pentest-Advisor-API
- Übergibt den Authentifizierungs-Token sicher aus der Umgebungsvariable
- Unterstützt verschiedene Ausgabeformate (JSON, HTML, Markdown)
- Ermöglicht die Angabe von Kontext-Informationen wie Ziel-IP, Domain oder entdeckten Diensten
Pentest-Documentation
- Verwaltet Dokumentation und Berichte für Penetrationstests
- Bietet Zugriff auf verschiedene spezialisierte Agenten:
- Documentation-Manager: Verwaltet den Dokumentationsinhalt
- Report-Manager: Erstellt und verwaltet strukturierte Berichte
- Unterstützt verschiedene Aktionen wie Status abrufen, Abschnitte generieren und mehr
Installation
# Repository klonen
git clone [repository-url]
cd mcp-argus
# Abhängigkeiten installieren
npm install
# Projekt bauen
npm run buildKonfiguration
Der Server benötigt einen API-Token für die Authentifizierung:
- Setzen Sie die Umgebungsvariable
PENTEST_ADVISOR_TOKEN
# Beispiel (Linux/macOS)
export PENTEST_ADVISOR_TOKEN="Ihr-Token-Hier"
# Beispiel (Windows Command Prompt)
set PENTEST_ADVISOR_TOKEN=Ihr-Token-Hier
# Beispiel (Windows PowerShell)
$env:PENTEST_ADVISOR_TOKEN="Ihr-Token-Hier"Verwendung
Starten des Servers
npm startOder direkt:
PENTEST_ADVISOR_TOKEN="Ihr-Token-Hier" node build/index.jsIntegration mit Claude
Sobald der Server läuft, kann Claude mit beiden Tools interagieren.
Tool 1: ask_pentest_advisor
Das Tool ask_pentest_advisor wird verwendet, um Penetration-Testing-Fragen zu stellen.
Verfügbare Parameter
query(erforderlich): Die Frage oder Anfrage zum Thema Penetration Testingformat(optional): Das gewünschte Antwortformat (json,html,markdown, Standard:json)context(optional): Zusätzlicher Kontext für die Anfragetarget_ip: IP-Adresse des Zielsystemstarget_domain: Domain des Zielsystemsdiscovered_services: Liste der entdeckten Dienste (z.B. http, ssh, ftp)current_phase: Die aktuelle Phase des Pentests (z.B. reconnaissance, scanning, exploitation)
Beispiel-Anfragen
Basis-Anfrage
{
"query": "Wie teste ich auf SQL-Injection in einer Login-Form?"
}Anfrage mit Format-Angabe
{
"query": "Wie führe ich einen Nmap-Scan durch?",
"format": "markdown"
}Anfrage mit Kontext
{
"query": "Welche Schwachstellen sollte ich überprüfen?",
"format": "json",
"context": {
"target_ip": "192.168.1.100",
"target_domain": "example.com",
"discovered_services": ["http", "ssh", "ftp"],
"current_phase": "scanning"
}
}Tool 2: manage_pentest_documentation
Das Tool manage_pentest_documentation wird verwendet, um Dokumentation und Berichte für Penetrationstests zu verwalten.
Verfügbare Parameter
action(erforderlich): Die durchzuführende Aktion (siehe Liste unten)agent(optional): Der zu verwendende Agent (documentation-manageroderreport-manager, Standard:documentation-manager)phase(optional): Die Phase des Pentests (z.B. reconnaissance, scanning, exploitation)data(optional): Zusätzliche Daten für die Aktion
Verfügbare Aktionen
Documentation-Manager Aktionen
get_documentation_status: Status der Dokumentation abrufenupdate_documentation_section: Dokumentationsabschnitt aktualisierenget_documentation_section: Dokumentationsabschnitt abrufengenerate_documentation_section: Dokumentationsabschnitt generierenscan_for_missing_sections: Nach fehlenden Abschnitten suchenupdate_completion_percentage: Fertigstellungsprozentsatz aktualisierenlist_documentation_sections: Dokumentationsabschnitte auflistenenhance_documentation: Dokumentation verbessern
Report-Manager Aktionen
get_report_status: Status des Berichts abrufengenerate_report_section: Berichtsabschnitt generierengenerate_full_report: Vollständigen Bericht generierenupdate_report_status: Berichtsstatus aktualisierenget_report_content: Berichtsinhalt abrufenrefine_report_section: Berichtsabschnitt überarbeitenexport_report: Bericht exportierengenerate_executive_summary: Executive Summary generieren
Beispiel-Anfragen
Dokumentationsstatus abrufen
{
"action": "get_documentation_status",
"agent": "documentation-manager"
}Berichtsabschnitt generieren
{
"action": "generate_report_section",
"agent": "report-manager",
"phase": "exploitation",
"data": {
"section_name": "SQL-Injection-Findings",
"content_instructions": "Beschreibe die gefundenen SQL-Injection-Schwachstellen"
}
}Executive Summary generieren
{
"action": "generate_executive_summary",
"agent": "report-manager",
"data": {
"severity_focus": "high",
"max_length": 500
}
}Lizenz
[Ihre Lizenz hier]
