欢迎光临
我们一直在努力

AI操作数据库:KES MCP Server 完整实操教程

AI操作数据库:KES MCP Server 完整实操教程

一、什么是KES MCP Server

在这里插入图片描述

1. 核心定义

KES MCP Server是电科金仓基于MCP(Model Context Protocol)标准推出的数据库AI中间件,部署在AI开发工具(Cursor/TRAE)与金仓KES数据库之间,内置9套标准化数据库工具,让大模型直接操作真实KES数据库,无需手动切换数据库客户端、复制表结构/执行计划,一站式完成库表查看、SQL分析、慢查询排查、索引仿真优化全流程工作。

在这里插入图片描述

2. 分层架构与交互流程

整体分为5层:AI客户端层→传输层→核心服务安全层→分析能力层→KES数据库层

  • 用户在Cursor/TRAE输入自然语言指令;
  • AI客户端通过Stdio/SSE/Streamable HTTP将请求发给KES MCP Server;
  • Server校验访问权限、拦截高危SQL,连接KES执行操作;
  • 数据库原始数据回传给AI,模型自动分析给出优化方案;
  • 全程AI无法直连数据库,所有操作受MCP权限管控。
  • 在这里插入图片描述

    3. 三大传输模式(按需选择)

    传输方式适用场景特点
    Stdio 本地个人开发 无需开放端口,客户端自动拉起服务,调试首选
    SSE 小规模远程调试 轻量长连接,适合内网多机器共用
    Streamable HTTP 企业生产/集中部署 支持HTTPS、反向代理、网络隔离,生产环境推荐

    在这里插入图片描述

    4. 双安全运行模式(核心安全能力)

  • Restricted(受限模式,生产必用)
    内置SQL白名单,仅允许SELECT、查询元数据、查看执行计划等只读操作;拦截DELETE/ALTER/DROP等DDL/DML修改语句;搭配AI专用最小权限账号,彻底规避AI误删、改数据风险。
  • Unrestricted(无限制模式,仅测试环境)
    放开全部数据库操作权限,支持建表、改索引、数据写入,仅本地测试使用,严禁线上开启。
  • 二、前置环境准备

    硬件&软件要求

  • 数据库:KES V8R6及以上版本
  • Python:3.12 ~ 3.13
  • 包管理工具:uv(推荐,项目官方指定)
  • AI编辑器:Cursor / TRAE(支持MCP协议)
  • 可选扩展(增强功能)
    • sys_stat_statements:慢查询、SQL负载统计
    • sys_hypo:仿真索引(无需真实创建,模拟索引优化效果)
  • 环境初始化

  • 安装uv包管理器
  • # Windows/macOS/Linux通用
    pip install uv

  • 提前创建KES专用AI账号(最小权限)
  • — 生产环境专用只读账号
    CREATE USER ai_mcp WITH PASSWORD '自定义强密码';
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO ai_mcp;
    GRANT USAGE ON SCHEMA public TO ai_mcp;
    — 禁止赋予修改、删除权限
    REVOKE CREATE,ALTER,DROP ON SCHEMA public FROM ai_mcp;

    三、KES MCP Server 完整安装部署

    步骤1:拉取官方开源代码(Gitee)

    # 克隆项目仓库
    git clone https://gitee.com/king-db/kingbase-mcp
    # 进入项目目录
    cd kingbase-mcp

    步骤2:安装项目全部依赖

    uv pip install .

    步骤3:启动服务两种方式

    方式1:本地Stdio模式(开发首选,Restricted安全模式)

    生产环境强制受限模式,数据库连接通过环境变量注入

    # Linux/macOS
    export DB_HOST=127.0.0.1
    export DB_PORT=54321
    export DB_NAME=业务库名
    export DB_USER=ai_mcp
    export DB_PASSWORD=你的数据库密码
    # 启动受限模式服务
    uv run kingbase-mcp –access-mode restricted

    # Windows PowerShell
    $env:DB_HOST="127.0.0.1"
    $env:DB_PORT="54321"
    $env:DB_NAME="业务库名"
    $env:DB_USER="ai_mcp"
    $env:DB_PASSWORD="你的数据库密码"
    uv run kingbase-mcp access-mode restricted

    方式2:远程HTTP部署(企业多团队共用)

    # 指定Streamable HTTP传输,开放端口3000
    export TRANSPORT=streamable_http
    export MCP_PORT=3000
    uv run kingbase-mcp –access-mode restricted

    四、AI编辑器MCP客户端配置

    方案1:Cursor编辑器配置(Windows/macOS)

  • 找到MCP配置文件
    • Windows:%USERPROFILE%\\.cursor\\mcp.json
    • macOS:~/.cursor/mcp.json
  • 写入Stdio本地配置(最常用)
  • {
    "mcpServers": {
    "kes-mcp": {
    "command": "uv",
    "args": [
    "–directory",
    "/你的kingbase-mcp项目绝对路径",
    "run",
    "kingbase-mcp",
    "–access-mode",
    "restricted"
    ],
    "env": {
    "DB_HOST": "127.0.0.1",
    "DB_PORT": "54321",
    "DB_NAME": "业务库",
    "DB_USER": "ai_mcp",
    "DB_PASSWORD": "数据库密码"
    }
    }
    }
    }

  • 保存文件,完全关闭Cursor后重新打开,编辑器自动拉起KES MCP服务并加载全部数据库工具。
  • 方案2:TRAE编辑器配置

  • 在项目根目录创建 .trae/mcp.json
  • 配置内容:
  • {
    "servers": [
    {
    "name": "kes-mcp",
    "command": "uv",
    "args": [
    "–directory",
    "/kingbase-mcp完整路径",
    "run",
    "kingbase-mcp",
    "–access-mode",
    "restricted"
    ],
    "transport": "stdio",
    "env": {
    "DB_HOST": "127.0.0.1",
    "DB_PORT": "54321",
    "DB_NAME": "业务库",
    "DB_USER": "ai_mcp",
    "DB_PASSWORD": "数据库密码"
    }
    }
    ]
    }

  • 重启TRAE,MCP面板识别KES数据库工具。
  • 五、KES MCP四大核心能力+实战案例

    能力1:数据库结构一键探查

    无需手动执行\\d、查询系统表,自然语言直接获取表、字段、索引、约束。
    常用指令示例

  • 列出public下所有表、视图、序列;
  • 查看orders表全部字段、主键、普通索引、外键约束;
  • 查询当前库所有schema及自定义扩展。
  • 能力2:SQL执行与执行计划分析

    AI可直接生成业务SQL、执行查询、抓取真实执行计划定位慢SQL。
    指令示例

  • 查询本月订单销售额TOP5商品;
  • 分析这条SELECT * FROM orders WHERE user_id=123 AND status='pending’的执行计划,说明扫描方式和索引使用情况。
  • 能力3:数据库健康巡检+慢SQL定位

    一站式运维体检,自动检测索引失效、长连接、Vacuum堆积、复制延迟、缓存命中率。
    指令示例

  • 对当前KES数据库做全量健康检查,输出风险点;
  • 找出近一小时总耗时最高的5条慢查询。
  • 能力4:索引仿真优化(核心亮点)

    依托sys_hypo扩展,不创建真实物理索引,模拟新增联合索引后的执行计划,零成本评估索引收益。

    完整实战流程:订单SQL优化全演示

    场景:订单查询全表扫描,优化联合索引
  • 第一步:查看表结构
    输入指令:查看orders表的字段、约束、现有全部索引
    MCP自动拉取元数据,AI判断当前无user_id+status联合索引,查询会全表扫描。

  • 第二步:分析原始SQL执行计划
    输入指令:分析SQL:SELECT * FROM orders WHERE user_id = 123 AND status = 'pending' 的执行计划
    返回计划显示Seq Scan全表扫描,查询代价极高。

  • 第三步:仿真新增联合索引验证效果
    输入指令:模拟在orders表user_id、status字段创建联合索引,对比新执行计划
    MCP通过虚拟索引重新生成执行计划,可见切换为Index Scan,查询代价大幅下降。

  • 第四步:落地变更
    仿真确认优化有效后,由DBA手动执行CREATE INDEX语句,避免盲目建索引浪费存储、增加写入压力。

  • 六、安全最佳实践(生产环境必看)

  • 强制Restricted受限模式,线上禁止Unrestricted;
  • 单独创建AI专用数据库账号,仅分配SELECT只读权限,不授予DDL/DML修改权限;
  • 远程部署使用Streamable HTTP+HTTPS+反向代理,关闭公网直接访问数据库端口;
  • 定期清理慢查询日志,限制MCP单次查询返回数据行数,防止大表全量导出;
  • 内网环境使用Stdio/SSE,禁止MCP服务暴露公网;
  • 敏感业务库单独部署MCP实例,与测试环境隔离。
  • 七、常见问题排查

  • 编辑器识别不到MCP工具
    • 检查uv路径、项目目录填写绝对路径;
    • 确认Python版本3.12~3.13,依赖安装完整;
    • 完全重启Cursor/TRAE,不要仅刷新窗口。
  • 数据库连接失败
    • 核对DB_HOST、端口、库名、账号密码;
    • 检查KES防火墙放行端口,账号本地/远程登录权限;
    • 确认KES版本≥V8R6。
  • 仿真索引功能无法使用
    • 登录KES执行CREATE EXTENSION IF NOT EXISTS sys_hypo;安装扩展;
  • 慢查询统计无数据
    • 开启sys_stat_statements扩展,修改数据库postgresql.conf配置启用统计采集。
  • 八、总结

    KES MCP Server打通AI开发工具与国产金仓数据库,彻底解决开发人员多工具来回切换、SQL优化繁琐的痛点,一套标准工具覆盖开发、DBA运维场景。配合严格的访问权限管控,在保障数据安全的前提下,大幅提升SQL调优、数据库巡检效率,是适配国产数据库的AI原生解决方案。

    体验拓展:参与电科金仓KES MCP Server主题征文活动,分享落地实践可参与奖品评选。项目完整参数、高级配置可查阅Gitee仓库README文档。

    赞(0)
    未经允许不得转载:171主机测评 » AI操作数据库:KES MCP Server 完整实操教程
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址