
Damn Vulnerable MCP Server
本文档概述了为 Damn Vulnerable Model Context Protocol (DVMCP) 项目所做的更新,以使其兼容 Cursor 的 Server-Sent Events (SSE) 实现。
原始 DVMCP 项目已增强,以支持 Cursor 的 SSE 实现,使挑战服务器可以直接从 Cursor 访问。这使得挑战更易于访问且更贴近现实,因为它们可以使用真实世界的 MCP 客户端进行测试。
每个挑战服务器现在都有一个 SSE 兼容版本(server_sse.py),它实现了:
SseServerTransport 类/sse 端点damn-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
您可以单独运行各个服务器:
python3 challenges/easy/challenge1/server_sse.py
或者使用提供的脚本启动所有服务器:
./start_sse_servers.sh
要使用 Cursor 连接到 SSE 兼容服务器:
http://localhost:9001/sse)以下依赖项已添加以支持 SSE 兼容性:
fastapi>=0.95.0
uvicorn>=0.21.1
httpx>=0.24.0
mcp[cli]>=0.5.0
starlette>=0.27.0
每个挑战服务器使用唯一端口:
SSE 实现保留了与原始实现相同的所有漏洞,确保这些挑战对安全研究人员仍具有教育意义。
有关详细的实现信息,请参阅 Cursor SSE 兼容性指南。