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.
 
 

4.4 KiB

新增需求:完善MCP数据库服务

项目目标

扩展现有的MCP数据库服务,实现一个功能完整的数据库操作框架,支持达梦数据库的全面CRUD操作、DDL管理以及元数据查询功能。

核心功能需求

1. 数据操作(DML)

  • 完整的CRUD操作
    • 创建记录(INSERT)
    • 读取记录(SELECT,支持条件查询)
    • 更新记录(UPDATE)
    • 删除记录(DELETE)
  • 批量数据操作支持
  • 事务管理
    • 开始事务
    • 提交事务
    • 回滚事务
  • 查询功能
    • 条件查询(WHERE子句)
    • 排序(ORDER BY)
    • 分页支持(LIMIT/OFFSET)
    • 聚合函数支持

2. 结构操作(DDL)

  • 表管理
    • 创建表(CREATE TABLE)
    • 修改表(ALTER TABLE)
    • 删除表(DROP TABLE)
    • 重命名表
  • 字段管理
    • 添加字段(ADD COLUMN)
    • 修改字段属性(MODIFY COLUMN)
    • 删除字段(DROP COLUMN)
    • 重命名字段
  • 索引管理
    • 创建索引(CREATE INDEX)
    • 删除索引(DROP INDEX)
    • 查看索引信息
  • 约束管理
    • 主键约束(PRIMARY KEY)
    • 外键约束(FOREIGN KEY)
    • 唯一约束(UNIQUE)
    • 检查约束(CHECK)
    • 默认值约束(DEFAULT)

3. 元数据查询

  • 数据库信息
    • 获取所有数据库列表
    • 查询数据库版本和配置
  • 表信息
    • 获取所有表列表及基本信息(表名、注释、行数等)
    • 查询表结构详情(字段名、类型、长度、精度、是否可为空、默认值等)
    • 获取表注释和字段注释
  • 索引和约束信息
    • 查询索引信息(索引名、类型、字段等)
    • 查看约束信息(主键、外键、唯一约束等)
  • 对象定义
    • 查看存储过程定义
    • 查看函数定义
    • 查看视图定义
    • 查看触发器定义

4. 高级功能

  • SQL执行
    • 执行原生SQL语句
    • 参数化查询支持
    • SQL注入防护
  • 数据管理
    • 数据库备份操作
    • 数据库恢复操作
    • 数据导入功能(从CSV/JSON等格式)
    • 数据导出功能(导出为CSV/JSON等格式)
  • 性能优化
    • 查询执行计划分析
    • 性能监控指标
    • 查询优化建议
  • 连接管理
    • 连接池配置和管理
    • 连接状态监控
    • 连接超时和重试机制

5. MCP协议集成

  • 工具定义
    • 标准化的工具接口定义
    • 参数验证和类型检查
    • 工具权限控制
  • 错误处理
    • 统一的错误码体系
    • 详细的错误信息返回
    • 异常恢复机制
  • 日志记录
    • 操作日志记录
    • 性能日志记录
    • 审计日志记录
  • 传输协议
    • 支持stdio通信
    • 支持SSE(Server-Sent Events)
    • 支持HTTP REST API
  • 资源管理
    • 资源发现和注册
    • 资源版本管理
    • 资源缓存机制

技术要求

  1. 技术栈

    • 基于现有MCP Go框架进行扩展
    • 使用达梦数据库官方驱动
    • 遵循MCP协议规范
  2. 代码质量

    • 保持向后兼容性
    • 模块化设计,易于扩展
    • 清晰的代码注释和文档
  3. 安全性

    • SQL注入防护
    • 输入参数验证
    • 权限控制和访问审计
  4. 性能要求

    • 连接池优化
    • 查询缓存机制
    • 内存使用优化

交付物

  1. 源代码

    • 完整的Go语言实现
    • 配置文件和部署脚本
  2. 文档

    • API接口文档
    • 配置说明文档
    • 使用示例和教程
    • 故障排除指南
  3. 测试

    • 单元测试覆盖核心功能
    • 集成测试验证数据库操作
    • 性能测试报告
  4. 部署材料

    • Docker容器镜像
    • 系统服务配置文件
    • 监控和告警配置

优先级

  1. 高优先级(第一阶段):

    • 基本的CRUD操作
    • 表结构和字段信息查询
    • 简单的DDL操作
  2. 中优先级(第二阶段):

    • 事务管理
    • 索引和约束管理
    • 高级查询功能
  3. 低优先级(第三阶段):

    • 性能优化功能
    • 数据导入导出
    • 监控和告警

验收标准

  1. 所有核心功能均可通过MCP协议调用
  2. 支持达梦数据库8.0及以上版本
  3. 单表操作响应时间小于100ms
  4. 支持并发连接数不少于50
  5. 系统稳定性达到99.9%可用性

创建时间:2026年2月9日
需求提出者:张献维
项目位置/home/Viviman/Music/code-go/mcp-go-db/