一、项目背景:让 AI 直接理解数据库结构

最近我在研究 Model Context Protocol(MCP) —— 一种让 AI 模型安全访问外部工具或数据源的协议。

在大多数场景里,我们想让 AI 帮我们分析数据库数据、生成 SQL 或理解表结构,但问题是:

  • AI 不知道数据库里有哪些表;

  • 不知道字段类型;

  • 一旦开放 SQL 执行接口,就容易误删数据。

于是我写了一个服务 —— MCP DB Python
它可以安全地把数据库结构、字段信息、存储过程等内容暴露给 AI 工具(或自己写的 Agent),并且严格限制 只读 SQL 查询

这意味着你可以直接用一句自然语言,让 AI 执行安全 SQL 并返回结果。


二、项目简介:MCP DB Python 是什么?

MCP DB Python 是一个用 Python 编写的 MCP 协议数据库服务
它通过 JSON-RPC(标准输入/输出通信) 提供:

  • 数据库结构浏览;

  • 安全的只读 SQL 执行;

  • 可扩展的数据库适配接口(当前支持 MySQL)。

项目地址:
👉 GitHub · mcp-db-python


三、核心特性亮点

功能 说明
安全性高 所有 SQL 均严格校验为只读操作,防止误删生产数据。
⚙️ 即插即用 通过 .env 文件配置数据库连接,轻松切换环境。
🧩 协议标准 完全符合 MCP(Model Context Protocol)标准,可直接接入支持 MCP 的客户端。
📚 数据可视化接口 支持查看表结构、存储过程、索引、触发器、外键等。
🔍 查询诊断能力 提供 EXPLAINcompareSchemasgetTableStats 等分析接口。

四、快速开始

1️⃣ 克隆项目

git clone https://github.com/191341025/mcp-db-python.git cd mcp-db-python

2️⃣ 安装依赖

pip install -r requirements.txt

3️⃣ 配置数据库连接

.env 文件中填写数据库信息:

DB_TYPE=mysql DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASS=your_password DB_NAME=test

4️⃣ 启动服务

python server.py

启动后终端输出:

[INFO] MCP Python Server started. Waiting for requests...

此时,你可以通过支持 MCP 协议的 AI 客户端(例如 Claude、OpenAI Codex 等)连接此服务,实现自然语言数据库交互。


五、可用接口示例

方法名 功能描述
listTables 列出所有表
getTableSchema 查看字段定义
runQuery 执行安全查询
compareSchemas 比较表结构差异
getIndexInfo 查看索引信息
getTriggers 获取触发器定义
searchColumns 模糊搜索字段或注释
explainQuery 执行 EXPLAIN 分析执行计划

这些接口让 AI 不再“盲目猜 SQL”,而是真正能“理解数据库”。


六、应用场景

  • 🔹 AI 助手集成:让 AI 直接查询数据库结构并生成报表。

  • 🔹 数据分析工具:通过自然语言接口访问 MySQL。

  • 🔹 后端调试辅助:快速查看表结构、索引或统计信息。

  • 🔹 智能问答系统:让知识库 Bot 能够实时查询数据库内容。


七、未来计划

  • 支持 PostgreSQL、SQLite 等更多数据库;

  • 增加结构对比、索引优化分析等工具;

  • 开放 REST/WebSocket 版本接口;

  • 增加测试用例与 Demo。


八、项目地址与支持方式

📦 GitHub 项目地址
https://github.com/191341025/mcp-db-python

📧 联系作者

  • Email: tiansenxu@gmail.com

  • Email: 191341025@qq.com

如果本项目对你有帮助,可以通过微信/支付宝赞助支持开发。


九、总结

MCP DB Python 的目标是让数据库访问变得 更安全、更智能、更开放

无论你是做数据分析、AI 工具开发,还是后端运维,这个项目都能帮你在 “让 AI 安全使用数据库” 这件事上,少走弯路。

欢迎大家试用、Star 或 Fork。
我也非常期待看到你用它构建出新的 AI 数据应用。

Logo

更多推荐