Fiddler-MCP 服务器端实现
使用说明
- 项目简介
- 该仓库实现了一个面向模型的后端服务器,遵循 Model Context Protocol 的核心设计,提供“资源管理、工具注册与执行、提示模板”三大能力,通过 MCP 客户端进行交互。
- 服务器侧通过多种工具对实时的 HTTP 流量进行采集、分析和封装,便于 LLM 客户端拉取元数据、获取详细内容或执行外部功能以辅助生成上下文信息。
- 主要功能点
- MCP 工具集合与注册:提供诸多工具,如 live_sessions、sessions_search、session_headers、session_body、live_stats、sessions_timeline、sessions_clear 等,支持读取会话、查询、获取头/体等能力。
- 统一的初始化与能力声明:服务器在 initialize 请求中声明协议版本、能力及服务器信息,确保客户端对能力范围有清晰认知。
- 多传输协议支持:可通过 stdio、SSE、WebSocket 等传输方式与 MCP 客户端进行通信,具备灵活部署场景。
- 会话上下文与安全审视:对会话数据(ID、时间、主机、URL、状态码、内容类型、大小、EKFiddle 相关字段等)进行规范化输出,并保留 EKFiddle 可信威胁信息以辅助模型分析。
- 针对大体量内容的优化输出:对响应体/请求体等内容提供截断、二进制处理、以及智能提取等选项,提升 LLM 的分析质量与稳定性。
- 安装与运行
- 依赖与运行环境
- Python 3.x 环境,建议 3.8+,确保兼容性。
- 需要安装 MCP 相关依赖(详见 requirements.txt 或等价依赖清单)。
- 启动 MCP 服务器
- 通过命令行直接运行 5ire-bridge.py,服务器将以 MCP 服务端模式启动,默认传输为 stdio,便于与 MCP 客户端进行管道式通信。也可通过环境变量切换传输方式(如 SSE)。
- 与客户端的对接
- MCP 客户端需要配置服务器启动命令及参数以建立连接。典型配置包括服务器名称、启动命令及参数(见下方 JSON 配置示例)。
- 依赖与运行环境
- 服务器配置(MCP 客户端需要的对接信息) 下面的信息以 JSON 形式提供,描述服务器的对接配置要素,便于在 MCP 客户端进行接入配置。请以文本形式阅读,并按实际环境填写参数;该信息用于 MCP 客户端在启动时连接并使用服务器能力。 { "server_name": "Fiddler MCP Server", "command": ["python3", "5ire-bridge.py"], "args": { "BRIDGE_URL": "http://127.0.0.1:8081", "TRANSPORT": "stdio" }, "notes": "5ire-bridge.py 为 MCP 服务器实现的入口,BRIDGE_URL 指向 Fiddler 实时桥接端口;若使用不同传输模式,请调整 TRANSPORT。" }
- 基本使用方法
- 第一步:启动桥接与 MCP 服务器
- 启动 Fiddler 实时桥接(enhanced-bridge.py)以收集会话数据,并确保它将数据暴露在本地端点。
- 启动 MCP 服务器端(5ire-bridge.py),进入 MCP 服务等待客户端连接。
- 第二步:在 MCP 客户端中连接服务器
- 按照上方配置示例,将服务器名称、启动命令与参数填入客户端并建立连接。
- 第三步:使用 MCP 工具进行数据探查与分析
- 通过工具列表读取会话元数据、执行查询、获取请求头/请求体、导出会话等。
- 第四步:在需要时,结合 EKFiddle 威胁情报进行深入分析
- 针对 EKFiddle 标注的会话,优先进行行为分析与取证性审查,必要时对具体会话执行 session_body 以获取详细内容。
- 第一步:启动桥接与 MCP 服务器