
Damn Vulnerable MCP Server
Ce document donne un aperçu des modifications apportées au projet Damn Vulnerable Model Context Protocol (DVMCP) pour le rendre compatible avec l'implémentation Server-Sent Events (SSE) de Cursor.
Le projet DVMCP d'origine a été amélioré pour prendre en charge l'implémentation SSE de Cursor, permettant ainsi d'accéder directement aux serveurs de défi depuis Cursor. Cela rend les défis plus accessibles et plus réalistes, car ils peuvent être testés avec un client MCP réel.
Chaque serveur de défi dispose désormais d'une version compatible SSE (server_sse.py) qui implémente :
SseServerTransport de la bibliothèque MCP/sse requis par Cursordamn-vulnerable-mcs/
├── challenges/
│ ├── easy/
│ │ ├── challenge1/
│ │ │ ├── server.py # Serveur d'origine
│ │ │ └── server_sse.py # Serveur compatible SSE
│ │ ├── 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 # Ce document
│ └── ... (autre documentation)
├── start_sse_servers.sh # Script pour démarrer tous les serveurs SSE
└── requirements.txt # Dépendances mises à jour
Vous pouvez exécuter des serveurs individuellement :
python3 challenges/easy/challenge1/server_sse.py
Ou utiliser le script fourni pour démarrer tous les serveurs :
./start_sse_servers.sh
Pour vous connecter à un serveur compatible SSE avec Cursor :
http://localhost:9001/sse)Les dépendances suivantes ont été ajoutées pour prendre en charge la compatibilité SSE :
fastapi>=0.95.0
uvicorn>=0.21.1
httpx>=0.24.0
mcp[cli]>=0.5.0
starlette>=0.27.0
Chaque serveur de défi utilise un port unique :
L'implémentation SSE conserve toutes les vulnérabilités de l'implémentation d'origine, garantissant que les défis restent éducatifs pour les chercheurs en sécurité.
Pour des informations détaillées sur l'implémentation, consultez le Guide de compatibilité SSE avec Cursor.