Skip to content

MaoCreate-Wen/PacketCapture-MCP

Repository files navigation

PacketCapture-MCP

PacketCapture-MCP 是一个用于自动化抓包分析的 MCP 系统。它把 Reqable 实时流量、HAR/JSON/cURL 文件和旧 bridge 事件统一成可查询、可分析、可重放的 HTTP capture。

当前版本重点解决多 CLI/IDE 并发使用的问题:推荐启动一个常驻 daemon,再让 Codex、Claude、Cursor、VS Code 等客户端通过 HTTP MCP 或 stdio proxy 共用同一套服务和数据。

架构

Reqable
  -> http://127.0.0.1:9419/reqable/report/packetcapture
  -> PacketCapture daemon
       MCP: http://127.0.0.1:9430/mcp
       GUI: http://127.0.0.1:9420/
       shared captures: %LOCALAPPDATA%\PacketCapture-MCP\captures
  -> 多个 CLI / IDE

安装

npm install
npm run build

推荐启动方式

启动常驻 daemon:

npm run daemon

默认会启动:

  • MCP HTTP endpoint: http://127.0.0.1:9430/mcp
  • Reqable Report Server receiver: http://127.0.0.1:9419/reqable/report/packetcapture

如果客户端只支持 stdio,配置它启动 proxy:

{
  "command": "node",
  "args": [
    "C:\\Users\\Fhw20\\Desktop\\Code\\PacketCapture-MCP\\dist\\stdioProxy.js"
  ],
  "env": {
    "PACKETCAPTURE_DAEMON_URL": "http://127.0.0.1:9430/mcp"
  }
}

HTTP MCP 客户端可以直接连接:

http://127.0.0.1:9430/mcp

兼容启动方式

单客户端调试仍可直接启动 stdio MCP server:

npm start

它会使用共享 capture 存储,但实时监听 owner 仍推荐交给 daemon。

Reqable 实时接入

在任意 MCP 客户端中调用:

start_reqable_bridge({
  "installPath": "C:\\Program Files\\Reqable"
})

该工具会启动或复用固定的 Report Server receiver,并把 Reqable 本地 capture_report_server 配置写为:

http://127.0.0.1:9419/reqable/report/packetcapture

验证是否收到流量:

get_reqable_report_server_status({})
wait_for_reqable_traffic({ "afterSequence": 0, "timeoutMs": 30000 })
get_reqable_realtime_events({ "afterSequence": 0 })
list_captures({})

工具总览

监听与桥接:

  • inspect_reqable_install
  • start_reqable_bridge
  • validate_reqable_bridge
  • run_reqable_automation_check
  • start_reqable_report_server
  • get_reqable_report_server_status
  • stop_reqable_report_server
  • get_reqable_realtime_events
  • wait_for_reqable_traffic
  • analyze_reqable_report_capture

导入与浏览:

  • import_capture_file
  • import_curl
  • list_captures
  • list_sessions
  • get_session
  • get_http_exchange
  • search_http_exchanges

分析与报告:

  • analyze_capture
  • analyze_http_exchange
  • generate_report

重放与清理:

  • build_replay_request
  • replay_http_request
  • clear_capture
  • clear_packet_cache

旧 bridge 兼容:

  • prepare_reqable_automation
  • write_reqable_bridge_script
  • import_reqable_inbox
  • analyze_reqable_inbox
  • get_reqable_bridge_config
  • get_reqable_inbox_status
  • get_reqable_bridge_http_exchange

完整报文查看

get_http_exchange({
  "captureId": "reqable-report-live",
  "sessionId": "<session-id>",
  "includeBodies": true,
  "includeRawText": true,
  "redactSensitive": true
})

搜索 body/header/url:

search_http_exchanges({
  "captureId": "reqable-report-live",
  "keyword": "qwen",
  "includeBodies": true,
  "bodyLimit": 4000
})

GUI

独立启动:

npm run build
npm run gui

默认地址:

http://127.0.0.1:9420/

也可以让 daemon 同时启动 GUI:

$env:PACKETCAPTURE_GUI="1"
npm run daemon

共享状态

默认共享目录:

%LOCALAPPDATA%\PacketCapture-MCP\captures
%LOCALAPPDATA%\PacketCapture-MCP\report-server-state.json

可用环境变量覆盖:

PACKETCAPTURE_STORE_DIR=<自定义 capture 目录>
PACKETCAPTURE_REPORT_STATE_PATH=<自定义 report 状态文件>
PACKETCAPTURE_DAEMON_URL=http://127.0.0.1:9430/mcp

验证

npm run check
npm run build
node examples\smoke-test.mjs
node examples\replay-loopback-smoke-test.mjs

更多客户端配置

docs/mcp-client-config.md

About

A MCP An MCP developed for reqable

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors