servers / charles-mcp-server

charles-mcp-server

communityunknownpythondestructive capablehealthy

Charles Proxy MCP 服务器,checkpoint 时间线 + 增量收割,专为 AI agent 逆向分析设计

44
/ 100

01Tools · 14
ToolRiskSide effectsApproval
check_keyword_exists
【互锁-1】探测关键词在当前 checkpoint 的哪些条目中出现。 只返回 id + 命中位置的轻量索引,不返回 body 内容。 调用后 filter_by_keyword 对该关键词的批量限制解除(5 分钟内有效)。
unknownunknownunknown
filter_by_status
按 HTTP 状态码过滤,返回精简视图。 适合排查异常请求,例如 403(鉴权失败)、500(服务错误)。 limit 默认 15,上限 50,返回最近 N 条。
unknownunknownunknown
set_throttling
切换网络带宽限制。 - preset 为预设名称 → 开启弱网;preset 为 null → 关闭弱网模拟。 - MCP 进程退出时自动关闭弱网,无需手动清理。 可用预设(直接填名称字符串): 56 kbps Modem | 256 kbps ISDN/DSL | 512 kbps ISDN/DSL 2 Mbps ADSL | 8 Mbps ADSL2 | 16 Mbps ADSL2+ 32 Mbps VDSL | 32 Mbps Fibre | 100 Mbps Fibre 3G | 4G
unknownunknownunknown
harvest_data
从 Charles 同步增量流量,并在时间线上创建一个新 checkpoint。 【fresh_start=False】(默认) 取上次 harvest 之后产生的新条目,写入 ARCHIVE,创建 checkpoint。 首次调用时加载 session 全部流量。 【fresh_start=True】 在时间线上插一个"重置点",不加载任何条目。 之后的 harvest_data() 只返回此刻之后的新流量。 典型用法:切换分析目标前调用一次。 每次调用都会: - 将新条目存入 ARCHIVE(可通过 load_checkpoint 随时回溯) - 将 CACHE 切换到本次新增的条目 - 清空 Charles session 并重启录制(导出始终只含最新增量) - 使所有关键词授权失效
destructivetruetrue
load_checkpoint
将 CACHE 切换到指定 checkpoint 的数据,所有过滤工具随即在该时间窗口内工作。 这是只读回溯——ARCHIVE 和 CHECKPOINTS 不会被修改。 调用 harvest_data() 可随时切回最新增量。 checkpoint_id:来自 list_checkpoints 返回的 id 字段。
destructivetruetrue
summarize_traffic
对当前 checkpoint 的流量做全局统计,帮助 agent 快速定向。 不拉取任何 body,只统计路由维度: top_hosts 流量最多的域名 top_paths 最活跃的路径前缀(取前两段) status_dist HTTP 状态码分布 method_dist HTTP 方法分布
unknownunknownunknown
filter_by_host
按 host 字段过滤,返回精简视图。 只匹配 entry 顶层的 host 字段,不会误命中 body 或 headers 中出现的域名。 支持部分匹配,例如 'example.com' 可匹配所有子域名。 limit 默认 15,上限 50,返回最近 N 条。
unknownunknownunknown
get_raw_data
获取指定条目的完整原始数据(headers、body、timing 等全部字段)。 优先在当前 checkpoint 查找,找不到时从 ARCHIVE 全局搜索。 这样即使切换了 checkpoint,仍可用 entry_id 直接取历史数据。
destructivetruetrue
list_checkpoints
列出所有 checkpoint,展示完整的收割时间线。 每条记录包含: id checkpoint 序号 read_at 收割时间(HH:MM:SS) count 本次新增条目数 start_time 本批流量的最早请求时间 end_time 本批流量的最晚请求时间 is_reset 是否为 fresh_start 重置点 当前正在查看的 checkpoint 由 current_checkpoint_id 标注。
readfalseunknown
load_recording
加载本地 .chlsj 历史录包到 ARCHIVE,创建 checkpoint 并切换到该窗口。 录包与 live 流量共用所有过滤工具(filter_by_*、filter_by_encryption 等)。 录包条目用 "rec:文件名:id" 命名空间存储,不会与 live 条目的 id 冲突。 加载后调用 list_checkpoints 可在时间线上看到录包的真实抓包时间范围。 file_path:.chlsj 文件的绝对路径或相对路径。
destructivetruetrue
filter_by_keyword
【互锁-2】返回含关键词的条目精简视图(含 body 预览)。 匹配数 > 30 时须先调用 check_keyword_exists 解锁,防止上下文溢出。 limit 默认 10,上限 50,返回最近 N 条。
unknownunknownunknown
filter_by_method
按 HTTP 方法过滤(GET / POST / PUT / DELETE 等),返回精简视图。 大小写不敏感。limit 默认 15,上限 50,返回最近 N 条。
destructivetruetrue
filter_by_path
按 URL 路径关键词过滤,返回精简视图。 适合快速定位某个业务接口,例如 '/api/sign'、'/login'。 limit 默认 15,上限 50,返回最近 N 条。
unknownunknownunknown
filter_by_encryption
扫描当前 checkpoint 的所有条目,找出 body 疑似加密/压缩/编码的请求。 按 max(req_entropy, res_entropy) 降序排列。 threshold 默认 3.9:纯文本 JSON 通常 2.5~3.5,Base64 约 4.0~5.0,加密 > 5.0。 limit 默认 20,上限 100。
unknownunknownunknown

02Install & source
uvx charles-mcp-server
uvx
pip install charles-mcp-server
pip

04Trust reasoning
  • 0
    Community server
    official_status
  • -3
    No clear license
    license
  • -8
    Exposes destructive tools
    tool_risk
  • +10
    MCP handshake verified
    verification
  • +5
    tools/list verified
    verification

05Provenance & freshness
sourcesPyPI [p4]
last_checked2026-07-01 08:37Z
next_check2026-07-03 07:48Z
cadenceevery 48h
verifiedtools_list:passed handshake:passed metadata:passed metadata:passed metadata:passed
index_statusindex5 unique facts >= 5

06Badge

Show your MCPExplorer trust badge in your README. charles-mcp-server on MCPExplorer

[![MCPExplorer](https://mcpexplorer.com/badge/charles-mcp-server.svg)](https://mcpexplorer.com/servers/charles-mcp-server)

Next step

Want agents that act within guardrails? Apex is the live governed-agent product — paced, capped, and fully-logged actions with approval queues before anything runs.

Explore Apex →
charles-mcp-server — MCPExplorer