You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

6.4 KiB

MCP 数据库服务 — 验收验证清单

依据《新增需求.md》的验收标准与优先级,对当前实现做可验证的检查。

一、验收标准对照

验收项 标准 验证方法 当前状态
1 所有核心功能均可通过 MCP 协议调用 见下方「核心功能清单」逐项调用 代码已实现(13 个工具均已注册并实现 handler)
2 支持达梦数据库 8.0 及以上版本 使用 DM8 实例连接并执行 AllTable / FetchData 需联机:连接真实达梦 8.0+ 验证
3 单表操作响应时间 < 100ms 对「获取表数据」等工具测 P95 延迟 需联机:压测
4 支持并发连接数不少于 50 配置连接池 MaxOpenConns≥50 并压测 需联机:在 main 或 DmService 中配置连接池后压测
5 系统稳定性 99.9% 可用性 长期运行 + 监控(运维侧) 运维侧

二、核心功能清单(可逐项验证)

2.1 数据操作(DML)— 第一阶段

功能 MCP 工具名 验证步骤 通过
读取记录 获取表数据 调用「获取表数据」库名+表名+限制
条件查询 执行SQL 执行 SELECT * FROM schema.table WHERE id=1
分页 获取表数据 / 执行SQL 使用「限制」或 SQL ROWNUM 分页
创建记录 插入记录 库名+表名+键值对(JSON),如 {"NAME":"张三","AGE":20}
更新记录 更新记录 库名+表名+SET子句+WHERE子句+值列表(JSON数组)
删除记录 删除记录 库名+表名+WHERE子句+值列表(JSON数组)

2.2 结构操作(DDL)— 第一阶段

功能 MCP 工具名 验证步骤 通过
表列表 获取所有表 调用「获取所有表」+ 库名
添加字段 添加字段 库名+表名+字段名+字段类型
删除字段 删除字段 库名+表名+字段名
表结构详情 表结构详情 库名+表名,返回字段名/类型/长度/可空/默认值/注释
创建表 创建表 库名+表名+字段定义(如 ID INT, NAME VARCHAR(100))
删除表 删除表 库名+表名

2.3 元数据查询

功能 MCP 工具名 验证步骤 通过
数据库配置 数据库配置信息 调用工具,返回 DSN/环境信息
表注释/字段注释 添加注释 为某表某字段添加注释后,通过表结构或 SQL 查询验证 (工具含「注释描述」参数)

2.4 其它已有能力

功能 MCP 工具名 验证步骤 通过
执行 SQL(只读) 执行SQL SELECT 类 SQL,返回 CSV 或文本
执行 SQL(DDL/DML 确认) 执行SQL INSERT/UPDATE/DELETE/ALTER,应返回“请确认”而非直接执行

三、建议的验证步骤(可脚本化)

  1. 环境:达梦 8.0+,schema 与《新增需求》一致。
  2. 启动服务go run . --dsn "dm://user:pass@host:port/DAMENG?schema=YOUR_SCHEMA"
  3. MCP 客户端:用 Cursor/Claude Desktop 等连接该 MCP 服务,或使用 mcp-go 的测试客户端。
  4. 逐项调用:按上表「验证步骤」调用每个工具,记录结果与耗时。
  5. 性能:对「获取表数据」连续调用 20 次,记录 P95 延迟,要求 < 100ms。
  6. 并发:连接池设为 50,并发 50 个「获取表数据」请求,全部成功即满足“不少于 50 并发”。

四、已实现项(可按清单逐项验证)

  • DML:已提供「插入记录」「更新记录」「删除记录」MCP 工具(参数化执行,防注入)。
  • DDL:已提供「表结构详情」「创建表」「删除表」;表结构查询使用达梦系统视图 ALL_TAB_COLUMNS/ALL_COL_COMMENTS(若无注释视图则注释字段可能为空)。
  • 添加注释:已为「添加注释」工具增加参数「注释描述」。
  • 事务(第二阶段):尚未实现,可后续扩展。

跑通「三、建议的验证步骤」后,即可认为满足需求文档中的验收标准并可用于签字验收。

五、快速自检(无需达梦环境)

在项目根目录执行编译,确认无报错:

go build -o /dev/null ./...

直接验证结果(已执行)

  • 编译 通过
  • 核心功能清单 全部 13 个 MCP 工具已注册且存在对应 handler 与 DmService 方法
  • 验收项 2~5 需在具备达梦 8.0+ 与 MCP 客户端的环境下联机验证(连接、延迟、并发、稳定性)

六、验证报告(按验收验证.md 执行)

结论:功能已满足《验收验证.md》中所有可代码级验证的条目。

验证项 结果 说明
编译 通过 go build ./... 无报错
验收项 1(核心功能通过 MCP 调用) 满足 13 个工具:数据库配置信息、获取所有表、获取表数据、表结构详情、添加注释、添加字段、删除字段、插入记录、更新记录、删除记录、创建表、删除表、执行SQL;均已注册且各有 case 与 handler
二、核心功能清单 2.1 DML 满足 读取/条件查询/分页/插入/更新/删除 对应工具与 DmService 方法均存在
二、核心功能清单 2.2 DDL 满足 表列表/添加删除字段/表结构详情/创建表/删除表 均存在
二、核心功能清单 2.3 元数据 满足 数据库配置、添加注释(含「注释描述」参数)已实现
二、核心功能清单 2.4 其它 满足 执行 SQL 只读与 DDL/DML 确认(返回「请确认」)逻辑已实现
验收项 2(达梦 8.0+) 需联机 需真实达梦实例 + MCP 客户端调用验证
验收项 3(<100ms) 需联机 需压测
验收项 4(并发≥50) 需联机 需配置连接池并压测
验收项 5(99.9% 可用性) 运维侧 长期运行与监控

是否功能已经满足:在不依赖达梦联机的前提下,清单中的功能均已实现并可通过编译与代码核对验证;联机与性能/稳定性(验收项 2~5)需在具备达梦 8.0+ 与 MCP 客户端的环境下按「三、建议的验证步骤」执行后,方可视为全部满足。