
Damn Vulnerable MCP Server
Este documento proporciona una visión general de las actualizaciones realizadas en el proyecto Damn Vulnerable Model Context Protocol (DVMCP) para hacerlo compatible con la implementación de Server-Sent Events (SSE) de Cursor.
El proyecto DVMCP original se ha mejorado para admitir la implementación SSE de Cursor, lo que permite acceder a los servidores de retos directamente desde Cursor. Esto hace que los retos sean más accesibles y realistas, ya que pueden probarse con un cliente MCP del mundo real.
Cada servidor de retos ahora tiene una versión compatible con SSE (server_sse.py) que implementa:
SseServerTransport de la librería MCP/sse requerido por Cursordamn-vulnerable-mcs/
├── challenges/
│ ├── easy/
│ │ ├── challenge1/
│ │ │ ├── server.py # Servidor original
│ │ │ └── server_sse.py # Servidor compatible con 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 # Este documento
│ └── ... (otra documentación)
├── start_sse_servers.sh # Script para iniciar todos los servidores SSE
└── requirements.txt # Dependencias actualizadas
Puedes ejecutar servidores individuales:
python3 challenges/easy/challenge1/server_sse.py
O usar el script proporcionado para iniciar todos los servidores:
./start_sse_servers.sh
Para conectarse a un servidor compatible con SSE usando Cursor:
http://localhost:9001/sse)Se han añadido las siguientes dependencias para admitir la compatibilidad con SSE:
fastapi>=0.95.0
uvicorn>=0.21.1
httpx>=0.24.0
mcp[cli]>=0.5.0
starlette>=0.27.0
Cada servidor de retos utiliza un puerto único:
La implementación SSE mantiene todas las mismas vulnerabilidades que la implementación original, asegurando que los retos sigan siendo educativos para los investigadores de seguridad.
Para obtener información detallada sobre la implementación, consulta la Guía de compatibilidad SSE de Cursor.