Skip to content

feat(plugin): capture staged hosted MCP connection evidence - #22

Merged
IanYet merged 5 commits into
mainfrom
codex/mcp-evidence-doctor-20261022
Oct 22, 2026
Merged

IanYet merged 5 commits into
mainfrom
codex/mcp-evidence-doctor-20261022

Conversation

@IanYet

@IanYet IanYet commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

云端 MCP 在 OAuth 或初始化阶段失败时,请求可能没有到达服务端;现有证据也常缺少原始错误、发生时间和当前会话工具状态。这个 PR 让 Codex / Claude Code 的基础 Skill 在实际连接错误、认证后仍无工具、工具消失或陌生协议错误时运行独立诊断,保留决定下一步排查所需的事实。

报告区分原始失败、Agent 提供且标明来源的当前宿主快照、有界运行日志,以及后来独立发起的检查。检查匿名 MCP 入口和公开 OAuth 元数据,记录正文 / JSON / 协议错误、resource / issuer / PKCE 配置不一致,以及可获得的传输上下文。HTTP 200 的协议错误和未知错误不会被当成成功;缺少的阶段明确标记未观测,后续健康探测不代表原故障已恢复。

报告先保存到本地,再在现有权限允许时通过 /telemetry/events 上报;使用既有 eventName 和 attributes.mcpDoctor,按 UTF-8 分片并提供完整性 hash。上报不依赖 MCP 登录,不读取凭据库和会话正文,不需要安装 ChatCut Desktop。缺少注册地址时只保留本地报告;主动禁用的云端连接不发探测或上传,也不被重新启用。诊断不修改连接配置、不登录、不刷新凭据、不自动修复。

验证(最终提交 8ddae5a583a138273f00bee6dcda77c6fa797a9f):

  • Windows / Node 24:32 项相关检查全部通过,其中 26 项 Doctor / 采集检查、6 项既有检查。覆盖两个包的实际 CLI 入口、真实 TCP 分块损坏、元数据不一致、未知 HTTP 200 协议错误、原始失败与后续探测分离、当前无工具、日志时间过滤、TLS 超时、采集器异常隔离、零网络分支、上传失败、本地保留和分片重组。
  • 两份 Skill 验证、修改脚本格式和 diff 检查通过;Codex / Claude 两份 helper 与 reference 内容一致。
  • 完整插件测试在本机仍有 4 项既有媒体用例因 Windows 不支持含 ? 的文件名而失败,本 PR 未修改这些用例。新增提交的 Linux CI 状态以当前 GitHub 检查为准。
  • 旧 v1 外层上报格式曾用明确标记的内部报告通过 beta 最终日志入库及 SHA-256 重组验证(4/4 分片)。本轮沿用外层格式,新增 v2 字段仅完成本地受控验证;不把旧验证当作本轮真实故障宿主验证。

边界和发布注意:

  • 这是 Agent 触发的取证能力;未触发 Skill、执行 / 网络权限不足、网页宿主远端内部日志仍可能不覆盖,不能统计全体用户失败率。Node 独立检查和原宿主连接线路不同,不能据此直接归因杀毒软件、VPN 或防火墙。
  • 先完成内部验收、正常宿主路径和最终入库检查,再发布观察新证据;反馈者回访作为补充,不作为等待门槛。HTTP 接收确认与最终日志完整入库分别判断。
  • 本 PR 将 Codex 正式包递增至 1.10.18、Claude Code 正式包递增至 1.10.20,以区分包含新采集器的发布;不修改用户现有安装。与 fix(plugins): deliver browser exports from the downloads folder #21 的基础 Skill / README 有文件重叠,需保留双方改动。
  • 服务端配套 PR #5184 记录到达服务端后的可知认证原因和协议结果;本 PR 无需新接收接口。历史用户故障尚未据此确认根因或恢复。

发布准备:用户已授权 Ready、合并和发布。发布头提交为 9d31199,仅在上述实现候选上递增两份插件版本。该发布头在 Windows / Node 24.12.0 重新通过 29 项 Doctor、证据采集与 Claude listing 检查;完整 Linux CI 和 CodeQL 以该头提交当前 GitHub 检查为准。

@IanYet IanYet changed the title feat(plugin): capture hosted MCP connection evidence feat(plugin): capture staged hosted MCP connection evidence Oct 22, 2026
@IanYet
IanYet marked this pull request as ready for review October 22, 2026 17:18
@IanYet
IanYet merged commit 0de8a5c into main Oct 22, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant