mcpField
C
Charles Local MCP

Charles Local MCP

本地服务
github.com开发工具09 周前更新

关于 Charles Local MCP

Charles Local MCP 是面向 macOS 的服务,用于按配置文件自动化 Charles Proxy,并有限度地分析本地 XML 会话证据。它提供 JSON 命令行和 MCP stdio 服务,将代理目标限制为回环地址,并避免泄露原始会话细节。

主要功能

  1. 01基于配置文件设置和清理代理
  2. 02验证配置并检查状态
  3. 03分析受限的本地 XML 证据
  4. 04隐藏主机、路径和请求数据

适用场景

  1. 01将指定应用主机转发到本地服务
  2. 02查看会话请求与失败摘要
  3. 03在 macOS 上规划或恢复 Charles 设置

MCP 相关

通过 MCP stdio 服务提供相同的本地应用功能。MCP 工具可使用已配置的配置文件,但配置文件保持只读。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbcharles-local-mcp-0.1.3-universal-apple-darwin.mcpb0.1.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

charles-local-mcp

仅限本地、由配置文件驱动的 macOS Charles Proxy 自动化工具。同一应用服务通过 JSON CLI 和 MCP stdio 服务提供。

版本 0.1.3 支持 macOS 上的 Charles 4.6.8。公开的软件包仅包含通用的 example.com 测试数据,不包含任何组织专属的主机或路径。

配置文件

schemaVersion = 1

[profiles.demo]
sourceHost = "app.example.com"
sourcePath = "/api*" # optional Charles path pattern
destinationUrl = "http://127.0.0.1:8080"
sslHosts = ["app.example.com"]
verificationUrl = "https://app.example.com/health"

省略 destinationUrl 可使用仅代理配置文件:此时会禁用 Map Remote,同时保留完全匹配的 SSL 主机和可选的验证 URL。若设置 destinationUrl,则仅允许环回地址。

Map Remote 目标必须解析为环回主机。verificationUrl 为可选项,必须使用 HTTPS,且不能嵌入凭据,并且必须与 sourceHost 匹配。

命令

charles-local-mcp doctor --json
charles-local-mcp --profiles-file profiles.toml profiles validate --json
charles-local-mcp --profiles-file profiles.toml --evidence-root /absolute/path/exports session evidence --profile demo --xml-file session.xml --json
charles-local-mcp --profiles-file profiles.toml setup plan --profile demo --platform android --json
charles-local-mcp --profiles-file profiles.toml setup apply --token TOKEN --json
charles-local-mcp setup resume --token TOKEN --json
charles-local-mcp status --json
charles-local-mcp cleanup plan --json
charles-local-mcp cleanup apply --token TOKEN --json
charles-local-mcp serve

状态目录默认为 ~/Library/Application Support/charles-local-mcp。测试和集成方可通过 CHARLES_LOCAL_MCP_HOME 或 --state-dir 将状态隔离。CLI 的标准输出仅包含 JSON;MCP 的标准输出仅包含协议内容。诊断信息写入标准错误。

变更命令要求运行于 macOS,并使用 Charles 4.6.8。设置和清理计划在 15 分钟后过期、仅可使用一次,且若状态发生变化则会被拒绝。每个状态目录只能有一个活动会话。

本地 XML 会话证据

session evidence 只会读取配置的 --evidence-root 内选定的本地 .xml 文件,以及选定的不可变配置文件。若未指定该选项,根目录默认为 <state-dir>/evidence;仅在请求进行证据分析时才会解析该目录,因此现有的设置和检查命令不要求该目录存在。会拒绝相对路径遍历和根目录之外的绝对路径,且不会返回本地路径。证据根目录、父目录和选定文件都不能是符号链接。

此操作仅将选定配置文件中的确切 sourceHost 用作内部筛选条件。返回的结果包包含配置文件名称、hostScope: "exact"、固定的 HTTP 方法枚举、每个结果包内的不透明路由引用(例如 route-001)、查询参数数量、数字类型的状态码/时长,以及在存在相应属性时的请求/响应大小。同一结果包内,重复的原始路径会获得相同的不透明路由引用。其他主机会被排除,且仅以数量报告。

此操作绝不会返回原始主机、路径、查询名称、查询值、标头、Cookie、凭据或请求/响应正文。未知请求方法会转换为固定值 OTHER。此操作不会上传或持久保存源会话,也不会写入证据台账。 文件大小限制为 10 MiB,事务数限制为 1,000;输出最多包含 100 个请求和 50 个失败项。DTD、DOCTYPE 和实体引用都会被拒绝。某些 Charles 导出文件包含 DOCTYPE 声明;请创建可信的本地副本,并在分析前删除完整的声明。有关契约、安全边界、限制和稳定错误代码,请参阅 docs/session-evidence.md。

真实设备流程有意保留为手动操作:请参阅 docs/manual-smoke.md。

安装

在本地有可用的 Rust 工具链时,可从 crates.io 构建:

cargo install charles-local-mcp --locked

若要在 macOS 上一键安装到 MCP 客户端,请使用对应 GitHub Release 中的通用 .mcpb 资源。原生二进制文件和软件包未经 Apple 签名或公证,因此 macOS 打开下载的资源时可能会显示安全警告。安装前请验证该版本中的 SHA256SUMS。此软件包会要求提供 TOML 配置文件,并启动 charles-local-mcp serve;MCP 工具只能以只读方式访问配置文件。 软件包还会要求提供 XML 证据文件夹;session_evidence 工具只能读取该目录。

Release 维护者应遵循 docs/releasing.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。