使用说明

项目简介

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 防护机制,并提取挑战信息和提供建议。

安装步骤

  1. 安装 Python 环境: 确保您的系统已安装 Python 3.7 或更高版本。
  2. 安装 uv: 按照 uv installation instructions 安装 uv 包管理器 (根据仓库 'README.md' 中的命令推断,项目使用 'uv' 进行依赖管理和打包)。
  3. 克隆仓库: 'git clone https://github.com/lucasoeth/mitmproxy-mcp'
  4. 进入仓库目录: 'cd mitmproxy-mcp'
  5. 同步依赖并更新 lockfile: 'uv sync'
  6. 构建包: '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 客户端的文档。

基本使用方法

  1. 启动 MCP 服务器: 根据上述配置,MCP 客户端将使用 'uv' 或 'uvx' 命令启动 mitmproxy-mcp 服务器。
  2. 在 MCP 客户端中使用工具: 在支持 MCP 的 LLM 客户端中,您可以选择 "mitmproxy-mcp" 服务器,并调用其提供的工具,例如 'list_flows', 'get_flow_details', 'extract_json_fields', 'analyze_protection'。
  3. 指定会话 ID: 这些工具通常需要 'session_id' 参数,您需要将 mitmproxy 抓包会话保存为 dump 文件,并将文件名(不包含扩展名 '.dump')作为 'session_id' 传递给工具。dump 文件需要存放在服务器代码中 'src/mitmproxy_mcp/server.py' 文件里定义的 'DUMP_DIR' 目录中,默认为 '/Users/lucas/Coding/mitmproxy-mcp/dumps',请根据实际情况调整。
  4. 使用 MCP Inspector 调试: 为了更好的调试体验,建议使用 MCP Inspector 工具。按照 'README.md' 中的说明,通过 'npx @modelcontextprotocol/inspector uv --directory /Users/lucas/Coding/mitmproxy-mcp run mitmproxy-mcp' 命令启动 Inspector。

信息

分类

开发者工具