Files
WorthPath/docs/mcp-coverage.md
T

72 lines
19 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 现有功能 → MCP 覆盖与验证矩阵
> 2026-10-04 最新边界:MCP 提供 39 个工具。用户明确要求撤下敏感操作、汇率和贵金属报价修改;备份、清空、密码与隐藏解锁流程仍在网站完成。单文件 JSON 及旧 ZIP 全部拒绝。此要求取代最初“全部业务均可由 MCP 完成”的范围。
盘点来源:App.tsx、Calendar、SchedulePanel、MetalPanel、IconLibrary、TransferForm、DebtPaymentForm、GroupOrderList 及所有 API Controller 路由。架构沿用 NestJS/Express/Prisma/MySQL/Zod,不新增消费账本或 AI 框架。
验证记号:**M** 第一组官方 SDK 普通业务/草稿/隐藏权限;**C** 第二组幂等/并发/私有图标/回滚;**O** 第三组 OAuth;**P** 第四组期限/永久令牌/隔离/撤销;**R** 18 组真实 REST/MySQL;**U** 34 项单元计算/行情/ZIP 测试。均有真实业务断言,外部行情成功/失败路径由 U 验证。
**B**:2026-10-03 22:55(UTC+8)真实浏览器验证黄金/白银创建、可选买入价与盈亏、清空成本、估值历史及报价完成后自动同步,临时用户已清理。
当前权限为 read(只读)、read+draft(网页确认后提交)、read+write(直接普通修改)。hidden_read/hidden_write 是独立附加授权。没有网站全局写入策略。所有写入均校验可信身份、归属、幂等键和 expectedState。
| 现有页面/API 与功能 | MCP 操作路径 | 权限 | 确认方式 | 验证 |
| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------- | ---------------------------------------- | --------------------------------------------------------- |
| 账户/独立资产/债务列表 GET positions | positions_list:kind、名称、归档、方向、币种、分组、排序、offset/limit | read | 无 | M:查询、重名、分页和外用户隔离 |
| 项目详情 GET positions/:id | position_get | read | 隐藏项目须连接独立网页解锁 | M:当前余额、隐藏/外用户拒绝 |
| 创建项目 POST positions | position_create,保留账户/资产/债务初始绝对余额语义 | draft/write | 连接权限决定草稿或直接 | M/C:3 类对象、重复调用、无效金额、并发 |
| 按克数创建贵金属 POST metals/holdings | metal_holding_create | draft/write | 连接权限 | M/R/U/B:待估值、报价、成本盈亏、旧备份 |
| 元数据、分类、分组、图标、归档/恢复、隐藏、计入开关 PATCH positions/:id | position_update,完整 metadata;币种与方向固定 | draft/write | 连接权限 | M:分组、归档禁止金额更新与恢复;R:隐藏和开关 |
| 分组拖拽排序 PATCH settings | settings_update.accountGroupOrder | draft/write | 连接权限 | M/R:持久化、排序、备份 |
| 类别选项、名称与分组配置 | position_create/update;positions_list 读取现有值,Schema/描述提供规则 | read + draft/write | 连接权限 | M/R;当前没有独立分类/分组实体 CRUD |
| 新增余额、资产估值、负债余额及单边还款 POST revisions | balance_record,reason 区分;amount 为变更后余额 | draft/write | 连接权限 | M:精确余额;R/U:负债、估值、业务时间 |
| 历史全局/单项目 GET history、positions/:id/history | history_list.positionId、cursor、from/to | read | 无 | M/R:页大小、游标、前序余额、日期范围 |
| 更正普通历史 PUT revisions | history_update | draft/write | 连接权限 | M/R:重放、精度、日历联动 |
| 删除/撤销历史 DELETE revisions | history_delete;配对记录删除完整双边 | draft/write | 连接权限,destructive annotation | M/R:余额重算及双边撤销 |
| 债务关联账户/资产 PUT links | debt_links_set.targetIds | draft/write | 连接权限 | M:合法关联、隐藏目标拒绝;R:外用户拒绝 |
| 资金往来列表 GET transfers | movements_list:cursor、日期过滤 | read | 无 | M/R |
| 按历史找双边记录 GET transfers/revision/:revisionId | movement_by_revision | read | 无 | M/R |
| 转账、借入、借出、收款、还款 POST transfers | movement_create.operation:transfer/borrow/lend/collect/repay | draft/write | 连接权限,双边事务 | M:转账、repay、信用卡溢缴;R:全部 5 种语义;C:错误回滚 |
| 修改配对记录 PUT transfers/:id | movement_update | draft/write | 连接权限,后续历史重放 | M/R |
| 删除/撤销配对记录 DELETE transfers/:id | movement_delete | draft/write | 连接权限,双边撤销 | M/R |
| 净资产、总额、结构、变化归因 GET overview | overview_get,明细分页、保留全局总额 | read | 隐藏项目按本连接可见范围 | M/R/U:总额、开关、外币缺失 |
| 轨迹、日期与统计粒度 GET trend | trend_get:day/week/month 及 from/to | read | 无 | M/R/U:范围、首日、期末、归因 |
| 本位币、币种、实际汇率与更新状态 GET settings | settings_get,固定币种枚举且金额无浮点计算 | read | 无 | M/R/U |
| 本位币切换、显示菜单、备注、闲置退出、总览卡片、独立资产计入 PATCH settings | settings_update | draft/write | 连接权限 | M/R |
| 是否查看隐藏资产需密码 PATCH settings | 按用户最新要求仅在网站操作;MCP 不提供该流程 | 无 MCP 权限 | 网站原确认流程 | R/U;M:相关工具不存在且调用拒绝 |
| 自动/重试日汇率 POST rates/refresh | 按用户最新要求仅在网站操作;MCP 不提供该流程 | 无 MCP 权限 | 网站原确认流程 | R/U;M:相关工具不存在且调用拒绝 |
| 金银报价与状态 GET metals | metals_prices,最近 100 条 | read | 无;查询 MCP 不触发隐式自动更新 | M/U/R |
| 金银报价刷新 POST metals/refresh | 按用户最新要求仅在网站操作;MCP 不提供该流程 | 无 MCP 权限 | 网站原确认流程 | R/U;M:相关工具不存在且调用拒绝 |
| 贵金属手动报价 | 已从网页、REST、MCP 移除 | 无 | 无 | R:原 REST 路由 404;M:无工具 |
| 克数、品种、买入成本、自动估价 PUT metals/:id | metal_configure | draft/write | 连接权限 | M/R/U:估值历史和去重 |
| 应用估价 POST metals/:id/value | metal_value | draft/write | 连接权限 | M/R/U |
| 收支月日历 GET calendar | calendar_month,YYYY-MM | read | 无 | M/R/U |
| 单日日历明细 GET calendar/day | calendar_day,业务日和分页 | read | 无 | M/R/U:历史修改、转账排除、Decimal |
| 计划列表/状态 GET schedules | schedules_list,按到期排序分页;history_list 查看执行历史 | read | 无 | M/R |
| 新建/修改支出或转账计划 POST/PUT schedules | schedule_create/update | draft/write | 连接权限 | M/R:真实执行及编辑限制 |
| 启用/停用 PATCH schedules/:id | schedule_toggle | draft/write | 连接权限 | M/R |
| 删除计划 DELETE schedules/:id | schedule_delete,保留执行历史 | draft/write | 连接权限 | M/R |
| 按需运行到期计划 POST schedules/run | schedules_run,最多 20 项、hasMore;MCP 失败整批回滚 | draft/write | 连接权限,幂等事务 | M/C/R/U |
| 登录个人资料 GET auth/me | settings_get;connection_info 提供 Agent 授权资料 | read | 无 | M/C |
| 修改用户名和密码 PATCH auth/credentials | 按用户最新要求仅在网站操作;MCP 不提供该流程 | 无 MCP 权限 | 网站原确认流程 | R/U;M:相关工具不存在且调用拒绝 |
| 隐藏资产密码核验 POST auth/reveal | 按用户最新要求仅在网站操作;MCP 不提供该流程 | 无 MCP 权限 | 网站原确认流程 | R/U;M:相关工具不存在且调用拒绝 |
| 锁定隐藏资产 POST auth/lock | 按用户最新要求仅在网站操作;MCP 不提供该流程 | 无 MCP 权限 | 网站原确认流程 | R/U;M:相关工具不存在且调用拒绝 |
| 退出登录 POST auth/logout | connection_revoke 退出当前 MCP 连接;网页退出仍在原页面 | 当前连接认证 | 撤销是即时缩小授权,不受写入连接权限阻碍 | M/O/R:后续 401 |
| 注册/登录、网页 activity | OAuth 网页入口复用原注册/登录,Agent 令牌不依赖网页 Cookie;activity 为网页会话维护 | 网页认证/OAuth | 用户登录或注册及授权 | O/R、浏览器验证管理入口 |
| 图标搜索 GET icons | icons_list,60/页、q | read | 无 | M/C/R |
| 图标图片 GET icons/:id/image | icon_image → 同连接 Bearer GET | read | 无 | C/R:PNG 和归属 |
| 上传图标 POST icons/upload | file_upload_request(kind=icon) → POST file → icon_publish | draft/write;共享仅网站 | 私有按连接权限;共享仅网站 | C:私有保存及共享拒绝;R:网站共享保存 |
| 导出备份 GET backup | 按用户最新要求仅在网站操作;MCP 不提供该流程 | 无 MCP 权限 | 网站原确认流程 | R/U;M:相关工具不存在且调用拒绝 |
| 上传备份 POST backup/upload | 仅网站上传当前 ZIP v9,MCP 不发行备份上传入口 | 无 MCP 权限 | 网站预检与确认 | R:JSON 拒绝、ZIP 恢复及文件归属 |
| 预检 POST backup/upload 自动预检 | 按用户最新要求仅在网站操作;MCP 不提供该流程 | 无 MCP 权限 | 网站原确认流程 | R/U;M:相关工具不存在且调用拒绝 |
| 追加恢复 POST backup/import-file | 按用户最新要求仅在网站操作;MCP 不提供该流程 | 无 MCP 权限 | 网站原确认流程 | R/U;M:相关工具不存在且调用拒绝 |
| 清空资格 GET backup/clear-status | 按用户最新要求仅在网站操作;MCP 不提供该流程 | 无 MCP 权限 | 网站原确认流程 | R/U;M:相关工具不存在且调用拒绝 |
| 清空财务数据 POST backup/clear | 按用户最新要求仅在网站操作;MCP 不提供该流程 | 无 MCP 权限 | 网站原确认流程 | R/U;M:相关工具不存在且调用拒绝 |
| 新增接入管理、权限、PAT、撤销、调用日志和待确认页 | /api/agent 管理;connection_info、operation_get、state_get;OAuth 标准路径 | 网站身份/本连接 Bearer | PAT 创建验证密码;操作归属校验 | M/C/O、真实浏览器管理页 |
不存在的业务不列作“已实现”:单个持仓永久删除、账户注销、覆盖导入、批量删除、独立分类/分组对象 CRUD 均不在当前页面/API 中。历史删除、资金往来撤销、计划删除、归档仍由上述 MCP 工具覆盖;备份保护清空在网站保留,按最新要求退出 MCP 范围。
共享服务:PortfolioBusinessService、TransfersBusinessService、SchedulesBusinessService、CalendarBusinessService、SettingsBusinessService、MetalsBusinessService、IconsBusinessService。AuthBusinessService 与 BackupBusinessService 保留网站/REST 流程。REST Controller 仅转发并保留原参数、文件拦截器、认证和路由;SDK Catalogue 调用同一服务,不复制金额或重放。
金额状态、OAuth、scope、Origin/Host、文件生命周期和客户端限制见 [接入文档](mcp.md)。当前官方客户端验证通过;未验证其他产品配置和生产 HTTPS 反向代理。