一条自然语言,直连数据库!我用 Python 做了个 MCP 服务,让 AI 也能查数据库
MCPDBPython是一个基于MCP协议的Python数据库服务,它安全地将数据库结构暴露给AI工具,支持只读SQL查询。该项目通过JSON-RPC提供表结构浏览、查询诊断等功能,当前支持MySQL,未来计划扩展更多数据库。主要特性包括严格的安全校验、即插即用配置和可视化接口,适用于AI助手集成、数据分析等场景。开发者可通过GitHub获取项目,配置简单,帮助AI安全高效地访问数据库。
一、项目背景:让 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 的客户端。 |
| 📚 数据可视化接口 | 支持查看表结构、存储过程、索引、触发器、外键等。 |
| 🔍 查询诊断能力 | 提供 EXPLAIN、compareSchemas、getTableStats 等分析接口。 |
四、快速开始
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 数据应用。
更多推荐



所有评论(0)