Token导航 LogoToken导航

MCP Server · 安全风控

MCP Web Demo Client

一个故意设计为存在漏洞的基于Web的客户端,用于连接MCP服务器进行安全测试和教育目的。

stdio官方级别未说明来源级核验工具 0
安全教育工具JavaScript

快速开始

作者 / 组织
harinee
提供方
harinee
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Web Demo Client 属于安全风控类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

安全风控

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m http.server 8080

客户端配置示例

{
  "mcpServers": {
    "mcp-web-demo-client": {
      "command": "python",
      "args": [
        "-m",
        "http.server",
        "8080"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

MCP演示客户端

一种故意易受攻击的基于web的客户端,用于连接到MCP(模型上下文协议)服务器进行安全测试和教育。

🚀 快速开始

先决条件

  • Python 3.7+(用于web服务器)
  • 现代网络浏览器
  • 正在运行MCP服务器(例如,该死的易受攻击的MCP服务器)

运行客户端

# Start web server
python -m http.server 8080

# Open browser
open http://localhost:8080

✅ 连接状态

工作中 -连接已成功建立

  • ✅ SSE连接:事件源到 /sse 端点工作
  • ✅ 跨域资源共享:允许从本地主机进行浏览器连接:8080
  • ✅ MCP协议:SSE运输上的正确MCP
  • ✅ 没有错误:消除了400个错误,连接成功完成

🏗️ 建筑

客户端

  • 运输:MCP通过服务器发送事件(SSE)
  • 连接:事件源到服务器 /sse 端点
  • 协议:遵循浏览器环境的MCP规范
  • 用户界面:实时连接状态和挑战选择

连接流程

  1. 用户选择挑战并输入服务器URL(例如。, http://localhost:9001)
  2. 客户端连接到 {serverUrl}/sse 通过EventSource
  3. 使用CORS标头建立SSE连接
  4. MCP传输自动处理初始化
  5. 状态显示“已连接”-已准备好进行漏洞测试

🔧 技术实现

SSE连接

// Connect to MCP server via SSE
this.eventSource = new EventSource(`${this.serverUrl}/sse`);

// Handle MCP messages
this.eventSource.onmessage = (event) => {
    const message = JSON.parse(event.data);
    this.handleMessage(message);
};

MCP协议

// Let SSE transport handle MCP messages properly
async sendMessageViaSSE(message) {
    console.log('Message queued for MCP SSE transport:', message);
    // No HTTP POST needed - let the MCP transport do its job
    return true;
}

CORS要求

服务器必须包含CORS标头:

app.add_middleware(
    CORSMiddleware,
    allow_origins=["http://localhost:8080"],
    allow_credentials=True,
    allow_methods=["GET", "POST", "OPTIONS"],
    allow_headers=["*"],
)

🎯 支持的服务器

该死的易受攻击的MCP服务器

  • 仓库: /path/to/damn-vulnerable-MCP-server
  • 港口:9001-9010(10个挑战服务器)
  • 挑战:简单(1-3),中等(4-7),困难(8-10)
  • 码头工人: docker run -d -p 9001-9010:9001-9010 dvmcp

连接示例

  • 挑战1: http://localhost:9001
  • 挑战2: http://localhost:9002
  • 挑战10: http://localhost:9010

🔒 安全功能(漏洞)

这个客户是 故意脆弱 出于教育目的:

客户端漏洞

  • XSS:通过执行服务器提供的代码 eval()
  • 数据暴露:将敏感数据记录到控制台
  • 存储:将凭据存储在本地存储中,不加密
  • 军营食品店备用资金:请求时没有CSRF保护
  • 输入验证:信任所有服务器响应

漏洞示例

// VULNERABILITY: Execute arbitrary code from server
if (message.params.code) {
    eval(message.params.code); // EXTREMELY DANGEROUS
}

// VULNERABILITY: Log sensitive data
console.log('Loaded stored credentials:', data);

// VULNERABILITY: Expose browser fingerprint
generateBrowserFingerprint() {
    return { /* detailed browser info */ };
}

📊 连接故障排除

常见问题

问题原因解决方案
CORS错误服务器缺少CORS标头向服务器添加CORS中间件
连接失败服务器未运行在指定端口上启动MCP服务器
400错误协议不匹配在SSE传输上使用正确的MCP
“连接”卡住初始化超时检查服务器SSE端点

调试信息

  • 打开浏览器DevTools→ 详细日志控制台
  • 检查“网络”选项卡是否有失败的请求
  • 验证服务器是否正在运行: curl http://localhost:9001/sse

🔧 发展

文件结构

mcp-demo-client/
├── index.html          # Main UI
├── script.js           # UI logic and event handling
├── mcp-client.js       # MCP protocol implementation
├── proxy-server.js     # CORS proxy (deprecated)
└── README.md          # This file

关键组件

  • 易受攻击的MCPClient:主MCP客户端类
  • SSE连接:基于EventSource的传输
  • 消息处理:MCP协议消息处理
  • UI集成:实时状态更新

⚠️ 安全警告

这个客户是 故意脆弱 并且仅应在受控环境中用于:

  • 安全性研究
  • 教育目的
  • 漏洞演示
  • 渗透测试培训

不要 在生产环境中使用。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

安全测试JavaScript本地部署教育工具漏洞演示MCP协议Web客户端

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

资产与漏洞排查

批量查询资产和漏洞信息,输出待修清单。

日志审计

从日志里筛出异常访问和高风险操作。

合规检查

按规则核对配置项,记录不符合项。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在安全风控场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Web Demo Client

MCP World · 本页

0stdio有1 个2026-05-17
Modelcontextprotocol C22988b0

MCP World

0stdio有1 个2026-05-17
Hexstrike AI

MCP World

0stdio有1 个2026-05-17
Cyber Strike AI

MCP World

75未说明未标注1 个2026-05-17
MCP Scan

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Web Demo Client 怎么安装?

公开资料给出的安装命令是 python -m http.server 8080,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Web Demo Client 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

MCP Web Demo Client 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Web Demo Client 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Web Demo Client 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP