Files

3.0 KiB
Raw Permalink Blame History

MCP 研究能力验证

日期:2026-09-09。仅本地合成平台;未部署、未签发生产令牌、未执行真实回测、未恢复定时研究。

实测

检查 结果
uv run pytest -q(backend) 238 passed,81.43 秒;包含新 MCP 9 项集成测试
官方 MCP ClientSession + Streamable HTTP 初始化、11 工具发现、直接提交、结果查询及结构化错误通过;HTTP 边界连接真实应用,平台为 MockTransport
PAT 缺失、过期、撤销、权限不足、账户变化、网页隔离、Host/Origin 拒绝与请求标识脱敏通过
PAT CLI 临时 SQLite 合成账户下,默认只读令牌签发、不含明文的列表和撤销通过
PostgreSQL 17 隔离验收 并发提交/控制只创建一次,重启重放首次响应;0010 升级保留旧研究,回退/重升级通过
Playwright backtests + research-navigation 4 passed,42.6 秒;含实际 MCP 提交后同一运行的链接、刷新恢复和来源筛选
前端构建 TypeScript + Vite 成功;现有第三方 lottie-web eval 提示仍存在
后端容器镜像 Dockerfile.backend 成功构建,Linux Python 3.12 + MCP 2.2.0
Caddy 容器代理 合成 PostgreSQL 后端经过现有 Caddyfile 验证:健康、无令牌401、有效令牌11工具、Origin拒绝、尾斜杠重定向通过
静态检查 Ruff、受影响前端文件 Prettier、git diff --check 通过

PostgreSQL 使用独立 wq_mcp_test 数据库,不连接个人库;并发验收直接跨数据库事务调用共用业务模块,未依赖 MCP 进程内锁。响应丢失测试在服务完成后丢弃 HTTP 响应,重试只产生一个运行。

修正与核验

  • Vite 原字符串代理改写 Host;改为显式 changeOrigin=false,与生产代理保持一致,未放宽 MCP 校验。
  • SDK 2.x 模型属性使用 snake_case;协议线上的字段仍由 SDK 正确编码。
  • pytest async fixture 的 MCP 生命周期放入同一任务进入/退出,避免 AnyIO cancel scope 跨任务退出。
  • 审计请求标识保存哈希;管理员密码重置撤销 PAT;时区处理保留 aware datetime 的瞬时点;控制工具声明正确的副作用提示。
  • 刷新任务错误独立分页;非通过检查和原始未知值完整保留,元数据刷新有30秒边界,不发布半成品。
  • 独立业务核验已完成,未发现高置信的正确性缺陷;本地验收容器已清理。

实际边界

  • 设置校验使用已缓存平台选项,缺快照返回 unknown;不宣称验证 FASTEXPR 语义或字段真实可用性。
  • PnL 单独采集;snapshot 为脱敏历史快照,不是原始网络抓包。
  • 平台远程取消、实际额度消耗、自动历史结果复用均不提供。
  • Caddy 检查为本地 HTTP 容器链路,不替代公网 HTTPS、真实账户权限或真实客户端凭据配置验收。
  • 容器代理检查使用构建后端镜像并只读挂载当前应用及合成测试工厂,测试代码由 .dockerignore 排除在发布镜像之外。