使用说明
项目简介
mitmproxy-mcp 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为 LLM 客户端提供分析 mitmproxy 抓包会话的功能。通过该服务器,LLM 可以调用工具来获取 HTTP 流量的详细信息,提取 JSON 数据,以及分析网站的 Bot 防护机制。
主要功能点
- 流量列表 (list_flows): 列出 mitmproxy 抓包会话中的 HTTP 流量,展示请求方法、URL 和状态码。
- 流量详情 (get_flow_details): 获取指定 HTTP 流量的详细信息,包括请求和响应头、内容(JSON 内容会提供结构预览以节省空间)。
- JSON字段提取 (extract_json_fields): 使用 JSONPath 表达式从 HTTP 流量的请求或响应内容中提取特定的 JSON 字段。
- Bot防护分析 (analyze_protection): 分析 HTTP 流量是否包含 Bot 防护机制,并提取挑战信息和提供建议。
安装步骤
- 安装 Python 环境: 确保您的系统已安装 Python 3.7 或更高版本。
- 安装 uv: 按照 uv installation instructions 安装 uv 包管理器 (根据仓库 'README.md' 中的命令推断,项目使用 'uv' 进行依赖管理和打包)。
- 克隆仓库: 'git clone https://github.com/lucasoeth/mitmproxy-mcp'
- 进入仓库目录: 'cd mitmproxy-mcp'
- 同步依赖并更新 lockfile: 'uv sync'
- 构建包: 'uv build' (此步骤为可选,如果只需要本地开发运行则不需要)
服务器配置
要将 mitmproxy-mcp 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要提供服务器的启动命令和参数。以下是配置示例,请根据您的实际环境调整路径:
开发/未发布服务器配置 (Development/Unpublished Servers Configuration)
{ "mcpServers": { "mitmproxy-mcp": { "command": "uv", // 使用 uv 命令运行 "args": [ "--directory", // 指定工作目录 "/Users/lucas/Coding/mitmproxy-mcp", // 请替换为您的 mitmproxy-mcp 仓库的本地路径 "run", // uv run 命令 "mitmproxy-mcp" // 运行 mitmproxy_mcp 包 ] } } }
发布服务器配置 (Published Servers Configuration)
{ "mcpServers": { "mitmproxy-mcp": { "command": "uvx", // 使用 uvx 命令运行已发布的包 "args": [ "mitmproxy-mcp" // 运行 mitmproxy_mcp 包 (假设已发布到uvx可执行路径) ] } } }
注意:
- 请将 '/Users/lucas/Coding/mitmproxy-mcp' 替换为您本地 mitmproxy-mcp 仓库的实际路径。
- MCP 客户端(如 Claude Desktop)通常允许您在设置中添加 MCP 服务器配置。具体的配置方法请参考您使用的 MCP 客户端的文档。
基本使用方法
- 启动 MCP 服务器: 根据上述配置,MCP 客户端将使用 'uv' 或 'uvx' 命令启动 mitmproxy-mcp 服务器。
- 在 MCP 客户端中使用工具: 在支持 MCP 的 LLM 客户端中,您可以选择 "mitmproxy-mcp" 服务器,并调用其提供的工具,例如 'list_flows', 'get_flow_details', 'extract_json_fields', 'analyze_protection'。
- 指定会话 ID: 这些工具通常需要 'session_id' 参数,您需要将 mitmproxy 抓包会话保存为 dump 文件,并将文件名(不包含扩展名 '.dump')作为 'session_id' 传递给工具。dump 文件需要存放在服务器代码中 'src/mitmproxy_mcp/server.py' 文件里定义的 'DUMP_DIR' 目录中,默认为 '/Users/lucas/Coding/mitmproxy-mcp/dumps',请根据实际情况调整。
- 使用 MCP Inspector 调试: 为了更好的调试体验,建议使用 MCP Inspector 工具。按照 'README.md' 中的说明,通过 'npx @modelcontextprotocol/inspector uv --directory /Users/lucas/Coding/mitmproxy-mcp run mitmproxy-mcp' 命令启动 Inspector。
信息
分类
开发者工具