相关实践
用 mcp-builder 构建带 OAuth 与权限隔离的只读 MCP 服务
Supercheck PR #559 展示了将已宣告但尚不可用的 MCP 能力落成安全只读服务的完整流程。输入是 discovery/consent 已存在,但缺少真正的 Streamable HTTP endpoint,同时必须限制组织、项目、角色和敏感数据边界。处理过程是实现默认关闭的 POST /api/mcp,接入 OAuth 2.1 bearer,并在每次调用复核 ban、consent 与 project role;查询使用字段 allowlist、redaction、1 MB body cap 和审计记录,CORS 仅放行 MCP headers。产物是 10 个只读工具,可访问 context、tests、jobs、runs、monitors 和 incidents。验证包括 tsc、lint、full jest 385 suites,通过 GitHub E2E Suite、Deploy Validation、Migration Safety 与多语言 CodeQL;最终 16 个 SUCCESS、2 个 SKIPPED、1 个 NEUTRAL、0 FAILURE。
用 mcp-builder 修复 Firefox 中 MCP App 卡片的 null origin 渲染故障
logiops-ai PR #157 展示了一个可复用的 MCP App 浏览器兼容性修复闭环。输入是 Firefox 153 中无 referrer 的宿主 frame 被报告为 null origin,sandbox proxy 将其误判为外部宿主,导致 MCP App 卡片在 15 秒 readiness timeout 前无法渲染,原有 35 个 Firefox 浏览器测试失败 5 个。处理过程是升级并固定 mcp-apps-web-host 1.3.1 及其上游 commit/checksum,把同一套 browser walkthrough 测试矩阵扩展到 Firefox,同时保持 Chromium 路径不变。产物是可在 Firefox 正常加载的 MCP App card,以及可复现的 vendor 来源和 checksum。验证结果为 Firefox browser 35 passed(修复前 30 passed/5 failed)、Chromium unchanged、full suite 525 passed、upstream vendor verify 通过,GitHub 10 个 checks SUCCESS、0 FAILURE。
用真实会话审计优化 MCP 与 Skill 工具的首次调用延迟
seshat-runtime PR #735 展示了基于真实会话测量优化 MCP 与 Skill 工具加载策略的流程。输入是 MCP server 与 skill tool 默认 deferred 时首次使用都会增加一次 tool_search 模型往返,真实会话中单工具 MCP turn 约 33 秒、skill turn 28.8 秒。处理过程是运行性能审计,将定义小于 3000 bytes 的 MCP server 随请求加载,并在存在技能时预载 skill tool;大 server 和无技能场景继续 deferred,同时加入可复现实验 harness。产物是 8 个文件、+324/-4 的加载策略和审计工具改动,单工具 MCP turn 从 33 秒降到 21 秒,skill turn 从 28.8 秒降到 12.1 秒,并消除对应 tool_search 往返。验证来自真实 desktop app/z.ai glm-5.1 测量、AUDIT=1 harness,以及 Build/Test/Lint/Security/Branch Policy/Gate 6 个 GitHub checks SUCCESS、0 FAILURE。
升级 MCP 2.3 并收紧远程面板的传输与安全边界
groundskeeper PR #41 将 MCP server 从 mcp 1.x 升级到 2.3,同时保持 token、路由白名单、脱敏和 tighten-only 安全边界。过程是迁移至 MCPServer 与 streamable_http_app,关闭 subscription stream,仅开放 POST /mcp,并复核 4 MiB body limit、异常脱敏和遥测出口。产物为 5 个文件、+39/-24,服务升级至 mcp>=2.3,<3,报告 panel 版本且不暴露 OAuth、metadata 或 SSE 路由。作者记录 1276 tests、HTTP smoke initialize、31 tools 列表、读取和非法 id 拒绝;test、privacy、docker 3 个 checks 均 SUCCESS。尚未用 Claude Desktop 或 Claude Code 连接真实 panel,当前 HTTP smoke 覆盖同协议请求但不等同真实宿主验收。
治理集群内 Claude Code 日志并接入可验证的 MCP 与插件
home-cluster PR #6121 解决了 Kubernetes 中 Claude Code Remote Control 非 TTY 日志每秒重复、Helm 内联脚本难维护,以及 MCP 与插件缺少可复现安装链路的问题。过程是把 entrypoint、install 和 log-filter 拆成独立资源,注册 MCP 与插件,并用 10 分钟去重窗口过滤终端重绘。产物为 8 个文件、+205/-134;运行中 pod 日志从 714 行降到 11 行,3 个插件完成安装启用,memini MCP endpoint 返回 HTTP 200。验证记录为 13 个 checks SUCCESS、4 个 SKIPPED;SKIPPED 项与成功项分开保留,不表述为全部检查通过。
为游泳成绩转换 MCP 增加双传输交互卡片与安全边界
turnmark PR #11 将只能返回文本和 structured data 的游泳成绩转换 MCP 扩展为 MCP Apps 交互卡片。过程是基于官方 MCP Apps SDK 增加 versioned HTML resource、CSP、host bridge、取消与超时处理、OIDC release path,同时保留 6 个 tools 和 text fallback。产物为 50 个文件、+2870/-272,可通过 stdio 与 HTTP 两种传输展示 conversion card。作者记录完成 10 组 protocol 组合、AppBridge 双传输浏览器测试、Axe、126 个 unit tests 与 19 个 production web checks;CI 为 9 个 SUCCESS、2 个 deploy checks SKIPPED。真实 ChatGPT、Claude、VS Code 宿主视觉验收与 npm 新版本发布仍未完成。