Damn Vulnerable MCP Server
Questo documento fornisce una panoramica degli aggiornamenti apportati al progetto Damn Vulnerable Model Context Protocol (DVMCP) per renderlo compatibile con l'implementazione Server-Sent Events (SSE) di Cursor.
Il progetto DVMCP originale è stato migliorato per supportare l'implementazione SSE di Cursor, consentendo di accedere ai server delle sfide direttamente da Cursor. Questo rende le sfide più accessibili e realistiche, poiché possono essere testate con un client MCP reale.
Ogni server delle sfide ora dispone di una versione compatibile con SSE (server_sse.py) che implementa:
SseServerTransport della libreria MCP/sse richiesto da Cursordamn-vulnerable-mcs/
├── challenges/
│ ├── easy/
│ │ ├── challenge1/
│ │ │ ├── server.py # Original server
│ │ │ └── server_sse.py # SSE-compatible server
│ │ ├── challenge2/
│ │ │ ├── server.py
│ │ │ └── server_sse.py
│ │ └── challenge3/
│ │ ├── server.py
│ │ └── server_sse.py
│ ├── medium/
│ │ ├── challenge4/
│ │ │ ├── server.py
│ │ │ └── server_sse.py
│ │ ├── challenge5/
│ │ │ ├── server.py
│ │ │ └── server_sse.py
│ │ ├── challenge6/
│ │ │ ├── server.py
│ │ │ └── server_sse.py
│ │ └── challenge7/
│ │ ├── server.py
│ │ └── server_sse.py
│ └── hard/
│ ├── challenge8/
│ │ ├── server.py
│ │ └── server_sse.py
│ ├── challenge9/
│ │ ├── server.py
│ │ └── server_sse.py
│ └── challenge10/
│ ├── server.py
│ └── server_sse.py
├── docs/
│ ├── cursor_sse_compatibility.md # This document
│ └── ... (other documentation)
├── start_sse_servers.sh # Script to start all SSE servers
└── requirements.txt # Updated dependencies
Puoi eseguire singoli server:
python3 challenges/easy/challenge1/server_sse.py
Oppure usa lo script fornito per avviare tutti i server:
./start_sse_servers.sh
Per connetterti a un server compatibile con SSE utilizzando Cursor:
http://localhost:9001/sse)Le seguenti dipendenze sono state aggiunte per supportare la compatibilità con SSE:
fastapi>=0.95.0
uvicorn>=0.21.1
httpx>=0.24.0
mcp[cli]>=0.5.0
starlette>=0.27.0
Ogni server delle sfide utilizza una porta unica:
L'implementazione SSE mantiene tutte le stesse vulnerabilità dell'implementazione originale, assicurando che le sfide rimangano didattiche per i ricercatori di sicurezza.
Per informazioni dettagliate sull'implementazione, consulta la Guida alla compatibilità SSE di Cursor.