高性能 Charles Proxy MCP 服务器,支持内存缓存、弱网模拟与熵值分析
Project description
Charles MCP Server (V2.0 - 高性能任务驱动版)
基于 Model Context Protocol (MCP) 的高级流量分析服务器,专为逆向工程和安全研究设计。
功能变化:
1、获取流量数据由原来的录制改为收割模式,应对代理工具数据流式产生和ai工具段式获取的差异
2、限制ai工具对filter_by_keyword的懒惰依赖,使用标记锁,先check_keyword_exists之后,有关键词痕迹才赋予filter_by_keyword能力
3、增加加密信息筛选接口,对于一些分析重点内容(如各种签名、密文)
4、新增数据管理功能,应对最新收割数据有限,历史数据庞杂干扰ai分析等情况,用task_id标记数据文件,当任务变化,自动清理历史数据。
5、新增filter_by_path、filter_by_status等接口,应对更多使用场景
示例:
🚀 核心架构演进 (V2.0)
针对高频分析场景进行了深度重构,解决了过度收割和 IO 瓶颈:
- ⚡ 内存首选架构:引入
ACTIVE_CACHE机制。所有分析工具(过滤、探测、熵值计算)优先从内存读取数据,响应延迟从百毫秒降至微秒级。 - 🎯 收割与分析解耦:不再自动触发收割。由 AI 或用户通过
harvest_data主动更新流量,确保数据状态的可控性。 - 🔒 探测-过滤互锁 (Interlock):内置安全机制。在大数据量场景下,强制要求先进行关键词探测(Check)获得授权后,才能拉取精简简报(Filter),有效保护上下文窗口。
- 📂 任务驱动隔离:支持
task_id标识。切换任务时自动管理物理缓存,支持历史任务数据的冷启动加载。
🛠️ 主要功能工具
1. 数据收割与流控
harvest_data: [主动动作] 从 Charles 实时同步流量并刷新内存缓存。get_raw_data: 提取 100% 原始报文,用于协议分析和解密。
2. 多维度极速过滤
check_keyword_exists: [探测] 跨 Headers 和 Body 搜索关键词,返回 ID 索引并授权后续操作。filter_by_path: 按 URL 路径(如/api/v1/sign)快速锁定业务接口。filter_by_status: 按 HTTP 状态码(如403,500)排查异常请求。filter_by_keyword: [提货] 在获得探测授权后,获取匹配项的精简预览。
3. 安全与深度分析
detect_encryption: 熵值判定。通过香农熵算法分析 Body,自动识别疑似加密、混淆或强压缩的载荷(熵值 > 3.9)。lifespan: 退出自动还原 Charles 配置,物理清理敏感流量数据。
📥 快速开始
前提条件
- Python 3.10+
- Charles Proxy: 开启 Web Interface (
Proxy -> Web Interface Settings)。- 用户名:
Charles-mcp-server - 密码:
123456
- 用户名:
安装与配置
- 在
mcp.json中添加:
{
"mcpServers": {
"charles": {
"command": "charles-mcp-server",
"args":
}
}
}
2、如果你使用的pyenv环境:
"mcpServers": {
"command": "实际python解释器路径/python.exe",
"args": [
"-m",
"charles_mcp_server.main"
]
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file charles_mcp_server-2.1.0.tar.gz.
File metadata
- Download URL: charles_mcp_server-2.1.0.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3f6d2f209e86e39fcc51454c294af16a6898c923967c3e1c0aebf78c16a7ade
|
|
| MD5 |
c43862222a5b103de0e3766d53553a63
|
|
| BLAKE2b-256 |
6cdd7cdca27798a32d8b98789bc443d4ec6d878dc5918085b69d1c221013f2dd
|
File details
Details for the file charles_mcp_server-2.1.0-py3-none-any.whl.
File metadata
- Download URL: charles_mcp_server-2.1.0-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0d35c785b0438622dce2f5b8190a520c7d7d5af5814bbba65ef71d5a53b7484
|
|
| MD5 |
276defd2eda79fa1e90c9c2b0b0e7e02
|
|
| BLAKE2b-256 |
887d76639e749f95a5fa4980c505853dfd071bfdf3fdad97df8e173687621aff
|