"帮我看看 orders 表有哪些字段和索引。" "分析一下这条 SQL 为什么慢。" "如果增加联合索引,执行计划会不会改变?" 现在,在 TRAE、Cursor 等支持 MCP 的开发工具中,直接输入这些问题,就能调用数据库完成相应操作。 近日,配套国产企业级数据库的数据库 MCP 服务端项目已在 Gitee 正式开源发布。本次发布包含 9 个标准工具,覆盖数据库结构探索、SQL 查询、执行计划分析、健康检查、慢查询定位和索引优化等常见场景。

过去,开发人员排查SQL问题,往往要在开发工具和数据库客户端之间来回切换。表结构、索引信息、执行计划,需要逐项查询、复制,再交给大模型分析。KES MCP Server把这些原本分散的操作接入开发工具,让模型能够基于真实数据库环境进行查询和分析。
如今,在TRAE、Cursor等支持MCP协议的开发工具中,开发者只需输入自然语言指令,即可直接调用数据库完成各类运维与调优操作。目前,适配企业级数据库的MCP服务端已正式开源,搭载9个标准化工具,全面覆盖数据库结构探索、SQL查询执行、执行计划分析、数据库健康检查、慢查询定位、索引优化等高频开发运维场景。
在传统开发模式下,技术人员排查SQL性能问题、核查数据库结构时,需要在开发工具、数据库客户端、AI大模型之间反复切换,手动查询表结构、提取索引信息、导出执行计划,再复制整理至大模型进行分析,操作繁琐且效率低下。而MCP服务端可将分散的数据库操作统一接入AI开发工具,让大模型基于真实的数据库运行环境开展精准查询与智能分析,彻底简化运维流程。
KES MCP Server是什么?
KES MCP Server位于开发工具和KES数据库之间。
用户提出问题后,开发工具判断需要调用哪个工具;KES MCP Server接收请求,完成参数检查和访问控制,再连接KES执行操作;数据库返回结果后,由开发工具继续整理和分析。

KES MCP Server交互流程
开发工具不会绕过数据库 MCP 服务端直接访问数据库。模型可调用的工具、可执行的 SQL 语句、可查看的数据库对象,均受服务端访问模式与数据库账号权限的双重约束,从架构层面规避非法操作风险。
数据库 MCP 服务端采用分层架构设计,自上而下共分为五层:AI 客户端层、传输层、核心服务与安全层、分析能力层及企业级数据库层。分层解耦的设计让权限管控、数据传输、智能分析与数据库交互逻辑相互独立,兼顾了系统的扩展性与安全性。
KES MCP Server分层架构
为适应不同部署环境,KES MCP Server支持三种传输方式。

KES MCP Server传输方式
为适配不同部署场景,数据库 MCP 服务端支持三种主流传输方式:Stdio 模式无需开放端口,适配本地开发场景;SSE 模式支持远程访问;Streamable HTTP 模式可搭配 HTTPS、反向代理与网络隔离策略,适配企业级集中部署场景。本地开发优先选择 Stdio 模式,团队共享或跨环境协作则推荐使用 Streamable HTTP 模式。
数据库作为企业核心基础设施,数据安全是 AI 直连场景的核心前提。服务端设计了双重访问模式管控操作风险:Restricted 受限模式内置 SQL 类型白名单与严格访问控制策略,拦截删除、修改等高风险操作,仅开放只读分析权限,建议搭配 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当前采用的扫描方式和执行代价。
从查看表结构,到分析执行计划,再到验证索引效果,原本分散在多个工具中的操作,现在可以在同一个开发环境中完成。