Files
Neo-ZQYY/docs/prd/specs/P5.1-mcp-server-ai-extension.md

101 lines
5.0 KiB
Markdown
Raw Permalink 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.
# P5.1MCP Server AI 扩展 — mcp-server-ai-extension
> 优先级P5.1(分批执行,见下方阶段说明)
> 预估工作量:中等
> 前置条件ETL 数据全景文档 ✅ 已完成(`docs/reports/DWD-DOC/`2026-03-06、P5 AI 集成层 spec 确定
---
## 分批执行策略2026-03-07 评审决定)
P5.1 的任务按依赖成熟度分三批:
### 批次 A立即可执行无前置依赖
- T4重写 MCP 查库手册 — ETL 库部分DWD-DOC 已完成DWS 34 张表全字段)
### 批次 BP5-A 之后(需 biz 表存在)
- T1MCP Server 新增 `zqyy_app` 数据库连接池
- T2扩展 MCP 工具支持多数据库路由
- T3实现 `zqyy_app` 敏感字段脱敏策略
- T5重写 MCP 查库手册 — 业务库部分auth/biz/public 全字段)
- T6补充常用查询模式
### 批次 C批次 B 完成后
- T7手册上传百炼平台并验证 AI 应用引用效果
---
## 需求Requirements
### 用户故事
1. 作为 AI 应用(应用 1 通用对话),我需要通过 MCP 工具查询 `etl_feiqiu` 数据仓库,获取会员、订单、助教、财务等运营数据。
2. 作为 AI 应用(应用 1 通用对话),我需要通过 MCP 工具查询 `zqyy_app` 业务库获取备注、任务、维客线索、AI 缓存等业务数据。
3. 作为系统MCP Server 需要提供完整的数据库查询手册,供百炼平台 AI 应用作为知识库引用。
### 验收标准
- AC1MCP Server 支持同时连接 `etl_feiqiu`ETL 六层 Schema`zqyy_app`auth/biz/public Schema
- AC2`zqyy_app` 连接仅允许只读查询SELECT`etl_feiqiu` 相同的安全限制
- AC3MCP 查库手册覆盖所有可查询表的完整字段说明(每张表列出全部字段)
- AC4手册上传百炼平台后AI 应用可直接参考手册进行查询,无需频繁调用 describe_table
---
## 设计要点
### MCP Server 扩展
当前 MCP Server`apps/mcp-server/`)仅连接 `etl_feiqiu` 库。需要扩展:
1. **新增 `zqyy_app` 数据库连接**
- 使用 `APP_DB_DSN` 环境变量(已在根 `.env` 定义)
- 只读连接,与 `etl_feiqiu` 相同的安全策略
- 可访问 Schema`auth``biz``public`
2. **工具扩展**
- 现有 4 个工具list_tables、describe_table、describe_schemas、query_sql需支持指定目标数据库
- 新增参数 `database`(可选,默认 `etl_feiqiu`,可选 `zqyy_app`
- 或通过 schema 名称自动路由(`ods/dwd/dws/core/meta/app` → etl_feiqiu`auth/biz/public` → zqyy_app
3. **权限控制**
- `zqyy_app``auth` schema 中敏感字段(如 `wx_openid``phone`)需要在查询结果中脱敏或限制访问
- `biz` schema 的 `ai_messages.content` 字段包含对话内容,需考虑隐私保护
### MCP 查库手册重写
当前手册:`docs/mcp/AI-DATABASE-QUERY-MANUAL.md`
> **数据字段权威参考**:手册中涉及的 DWD/DWS 层字段来源、金额口径、业务逻辑,
> 以 `docs/reports/DWD-DOC/` 校准文档为准(数据快照 2026-03-06
> 核心规则:
> - `consume_money` 存在三种历史口径混合,不可直接使用;应使用 `items_sum`= table_charge_money + goods_money + assistant_pd_money + assistant_cx_money + electricity_money
> - 收入结构拆分为台桌费、陪打费、超休费、商品费、电费五项,不使用笼统的 `service_fee`
> - settle_type 映射1=台桌结账(78.6%)、3=商城订单(21.4%)、5=充值、7=充值退款、6=结算退款
> - 详见 [consume_money 口径说明](../reports/DWD-DOC/consume/consume-money-caliber.md)、[财务全景](../reports/DWD-DOC/03-financial-panorama.md)、[业务全景](../reports/DWD-DOC/01-business-panorama.md)
重写范围:
- **保留**:架构流程、六层 Schema 概览、4 个 MCP 工具详解
- **补充**DWS 层完整表清单34 张表按业务域分组,每表全部字段)
- **新增**`zqyy_app` 业务库表结构biz.notes、biz.coach_tasks、biz.member_retention_clue、biz.ai_cache 等)
- **新增**常用查询模式维客线索、任务系统、备注、AI 缓存)
- **新增**金额口径说明章节consume_money 不可用、items_sum 定义、settle_type 映射表)
- **优化**:补充表的最新数据量统计、查询性能建议
---
## 任务清单
### 批次 A — 立即可执行
- [ ] T4重写 MCP 查库手册 — ETL 库部分DWD/DWS 全字段,基于 DWD-DOC 标杆文档)
### 批次 B — P5-A 之后(依赖 P1 + P4 + P5-Abiz 表已建)
- [ ] T1MCP Server 新增 `zqyy_app` 数据库连接池(使用 `APP_DB_DSN`
- [ ] T2扩展 MCP 工具支持多数据库路由(按 schema 名称自动选择连接)
- [ ] T3实现 `zqyy_app` 敏感字段脱敏策略
- [ ] T5重写 MCP 查库手册 — 业务库部分auth/biz/public 全字段)
- [ ] T6补充常用查询模式维客线索、任务、备注、AI 缓存)
### 批次 C — 批次 B 完成后
- [ ] T7手册上传百炼平台并验证 AI 应用引用效果