公司动态
《 AI直连数据库落地实践:基于MCP协议打通开发工具与数据库全链路运维分析》
“帮我看看 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当前采用的扫描方式和执行代价。从查看表结构到分析执行计划再到验证索引效果原本分散在多个工具中的操作现在可以在同一个开发环境中完成。