news 2026/7/17 4:24:27

一句话让 AI 看懂你的表结构并执行计划:MCP 如何让大模型安全接入关系型数据库!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一句话让 AI 看懂你的表结构并执行计划:MCP 如何让大模型安全接入关系型数据库!

“帮我看看orders表有哪些字段和索引。”

“分析一下这条SQL为什么慢。”

“如果增加联合索引,执行计划会不会改变?”

现在,在TRAE、Cursor等支持MCP的开发工具中,直接输入这些问题,就能调用KES完成相应操作。

近日,电科金仓在Gitee发布了KES MCP Server。本次发布包含9个标准工具,覆盖数据库结构探索、SQL查询、执行计划分析、健康检查、慢查询定位和索引优化等常见场景。

过去,开发人员排查SQL问题,往往要在开发工具和数据库客户端之间来回切换。表结构、索引信息、执行计划,需要逐项查询、复制,再交给大模型分析。KES MCP Server把这些原本分散的操作接入开发工具,让模型能够基于真实数据库环境进行查询和分析。

KES MCP Server是什么?

KES MCP Server位于开发工具和KES数据库之间。

用户提出问题后,开发工具判断需要调用哪个工具;KES MCP Server接收请求,完成参数检查和访问控制,再连接KES执行操作;数据库返回结果后,由开发工具继续整理和分析。

KES MCP Server交互流程

开发工具不会绕过KES MCP Server直接访问数据库。模型能调用哪些工具、执行哪些SQL、查看哪些对象,既受Server访问模式限制,也受数据库账号权限约束。

KES MCP Server采用分层架构设计,从上到由AI客户端层、传输层、核心服务与安全层、分析能力层及KES数据库层共5层组成。

KES MCP Server分层架构

为适应不同部署环境,KES MCP Server支持三种传输方式。

KES MCP Server传输方式

Stdio适合本地开发,不需要开放端口;SSE可用于远程访问;Streamable HTTP更适合配合HTTPS、反向代理和网络隔离进行集中部署。本地开发通常使用Stdio,团队共享或跨环境使用时,可以选择Streamable HTTP。

数据库作为核心基础设施,而AI就像一匹野马,如果给这匹野马套上牢固的缰绳,是它在接触数据库前必须思考的第一步,所以在安全方面,我们通过最严格的Restricted 模式,通过内置SQL类型白名单与严格的访问控制策略,拦截并限制高风险数据库操作,从源头阻断非法写入与修改行为,实际使用时建议配置AI专用的数据库最小权限账户,多配置减少AI误操作的风险。同时为了配合测试环境的灵活性,我们通过Unrestricted 模式开放完整数据库操作权限,支持复杂的管理与开发类指令执行。这两种模式可以根据使用场景自由切换。

KES MCP Server能做什么?

KES MCP Server将KES常用的操作封装为标准工具,主要包括四类能力。

▶ 查看数据库结构

用户可以查看数据库中的Schema、表、视图和序列,也可以进一步查看表的字段、约束和索引。例如:

“列出全部或指定Schema下的表、视图、序列或扩展。”

“查看orders表的字段、约束、索引等对象详情。”

返回的信息直接来自当前KES数据库,不需要提前把建表语句复制到对话窗口。

▶ 执行查询与分析SQL

用户可以根据实际业务需求生成并执行查询,也可以查看SQL在KES中的实际执行计划。例如:

“查询本月销售额排名前5的商品。”

“分析这条SQL的执行计划。”

KES返回查询结果和执行计划后,模型可以继续分析扫描方式、过滤条件和索引使用情况,帮助定位SQL性能问题。

▶ 检查数据库运行状态

对于数据库运维,可以通过一句指令发起健康检查:

“检查一下数据库健康状况。”

KES MCP Server会检查索引、连接、Vacuum、序列、复制、缓存和约束等状态。

还可以查看高耗时查询:

“找出最近总耗时最高的5条SQL。”

发现问题SQL后,可以继续分析执行计划和索引使用情况。

▶ 分析索引方案

还可以可以针对指定SQL或历史查询负载分析索引。

配合sys_hypo扩展,还可以在不创建真实索引的情况下,模拟新增索引后的执行计划。例如:

“如果在user_id和status字段上增加联合索引,执行计划会有什么变化?”

这样可以先评估索引是否有效,再决定是否实施实际变更。

KES MCP Server核心能和适用场景

如何安装配置?

体验KES MCP Server,需要准备KES V8R6及以上版本、Python 3.12至3.13,以及TRAE、Cursor等支持MCP的开发工具。

▶ 获取项目代码

git clone https://gitee.com/king-db/kingbase-mcp

▶ 安装依赖

uv pip install .

随后在MCP客户端中配置数据库连接、启动命令和访问模式。生产或演示环境建议启用Restricted模式:

uv run kingbase-mcp–access-mode restricted

使用本地Stdio方式时,一般由客户端自动启动服务,无需提前单独运行。

假设索引分析需要sys_hypo扩展,慢查询和负载分析需要sys_stat_statements扩展。完整配置参数可参考项目README。

客户端配置及工具加载页面

实战演示:在开发工具中完成一次SQL优化

假设开发人员正在排查下面这条订单查询:

SELECT * FROM orders WHERE user_id = 123 AND status = ‘pending’;

先输入:

“查看orders表的结构,包括字段、约束和索引。”

KES MCP Server会返回orders表当前的结构和索引情况,方便判断查询字段是否已有可用索引。

接着输入:

“分析这条SQL的执行计划。”

如果查询使用了全表扫描,或者现有索引没有生效,就可以继续验证新的索引方案:

模拟增加user_id和status联合索引后的执行计划。

KES MCP Server通过假设索引重新生成执行计划,并对比增加索引前后的变化。整个过程不会真正创建物理索引,也不会带来额外的存储和维护成本。

如果模拟结果显示查询计划明显改善,再由开发人员或DBA结合查询频率、写入压力和存储成本,决定是否执行实际变更。

返回结果会展示SQL当前采用的扫描方式和执行代价。

从查看表结构,到分析执行计划,再到验证索引效果,原本分散在多个工具中的操作,现在可以在同一个开发环境中完成。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/17 4:22:37

Arm Ethos-U65 介绍(2) Vela编译和命令流

编程模型 软件栈 网络模型到 NPU 实现的步骤如下,总体划分为离线和运行两部分 a)离线工具链(量化 → Vela编译) 离线过程需要将网络模型转换为 NPU 可以接受的二进制命令流,具体流程为: • 训练模型&#x…

作者头像 李华
网站建设 2026/7/17 4:19:19

Fluentd配置文件加密:从风险到落地的全链路安全防护方案

1. 项目概述:为什么Fluentd配置文件加密是运维安全的“命门”?如果你负责过生产环境的日志收集,尤其是使用Fluentd作为核心的日志路由引擎,那你一定对它的配置文件(通常是fluent.conf)又爱又恨。爱的是它强…

作者头像 李华
网站建设 2026/7/17 4:18:08

C++模板实战:构建通用数据处理框架,告别重复代码

1. 项目概述:当数据处理遇上C模板干了这么多年C,我越来越觉得,数据处理这事儿,本质上就是一场关于“类型”和“操作”的抽象游戏。你想想,无论是从文件里读一堆数字做统计分析,还是处理网络传来的JSON包&am…

作者头像 李华
网站建设 2026/7/17 4:17:50

Windows 2000服务架构解析与安全管理实践

1. Windows 2000服务架构深度解析Windows 2000作为微软企业级操作系统的里程碑版本,其服务架构设计至今仍影响着现代服务器体系。不同于普通用户熟悉的应用程序,服务(Service)是在后台长期运行的组件,通常随系统启动而…

作者头像 李华
网站建设 2026/7/17 4:17:40

DRC模块高亮抑制的原理

目录 1. 基础流水线架构 2. Raw域前置DRC高光抑制核心原理 1. 基础流水线架构 本次说明基于平台固定Raw域处理链路:BLC(黑电平校正)→ LSC(镜头阴影校正)→ DRC(动态范围压缩)→ WB&#xff0…

作者头像 李华
网站建设 2026/7/17 4:16:41

KV260视觉套件开发实战:从DPU原理到AI模型部署

1. KV260视觉入门套件初体验:从开箱到上电当我第一次拿到KV260视觉入门套件时,黑色哑光外壳上醒目的AMD-Xilinx标志就给人一种专业感。这个比信用卡略大的开发板搭载了Zynq UltraScale MPSoC,板载资源相当丰富:4GB DDR4内存、8GB …

作者头像 李华