101 lines
5.0 KiB
Markdown
101 lines
5.0 KiB
Markdown
# P5.1:MCP 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 张表全字段)
|
||
|
||
### 批次 B:P5-A 之后(需 biz 表存在)
|
||
- T1:MCP 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 应用作为知识库引用。
|
||
|
||
### 验收标准
|
||
|
||
- AC1:MCP Server 支持同时连接 `etl_feiqiu`(ETL 六层 Schema)和 `zqyy_app`(auth/biz/public Schema)
|
||
- AC2:`zqyy_app` 连接仅允许只读查询(SELECT),与 `etl_feiqiu` 相同的安全限制
|
||
- AC3:MCP 查库手册覆盖所有可查询表的完整字段说明(每张表列出全部字段)
|
||
- 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-A,biz 表已建)
|
||
- [ ] T1:MCP Server 新增 `zqyy_app` 数据库连接池(使用 `APP_DB_DSN`)
|
||
- [ ] T2:扩展 MCP 工具支持多数据库路由(按 schema 名称自动选择连接)
|
||
- [ ] T3:实现 `zqyy_app` 敏感字段脱敏策略
|
||
- [ ] T5:重写 MCP 查库手册 — 业务库部分(auth/biz/public 全字段)
|
||
- [ ] T6:补充常用查询模式(维客线索、任务、备注、AI 缓存)
|
||
|
||
### 批次 C — 批次 B 完成后
|
||
- [ ] T7:手册上传百炼平台并验证 AI 应用引用效果
|