|
基于MCP协议的自然语言数据库查询工具,直接用对话方式获取数据库信息,无需编写SQL!
一个开源工具,允许用户使用自然语言查询数据库。它通过模型上下文协议(MCP)利用AI能力来解释用户查询,生成适当的SQL语句,并在数据库上执行它们。
本项目提供两套源码,满足不同的使用场景:
完整的数据库查询工具
- 生成SQL语句并执行查询
- 返回实际查询结果
- 适合需要直接获取数据库信息的场景
纯SQL生成工具
- 仅生成SQL语句,不执行实际操作
- 支持所有类型的SQL操作(SELECT、INSERT、UPDATE、DELETE、CREATE等)
- 适合SQL学习和教学场景
- 适合需要生成SQL但由其他系统执行的场景
特性- 自然语言查询:使用普通中文或英文查询您的数据库
- SQL生成:自动将自然语言转换为优化的SQL查询
- 数据库结构缓存:缓存数据库结构以加快查询生成
- 支持复杂查询:处理JOIN、子查询、聚合等
- 交互式查询优化:通过对话方式优化您的数据库查询
架构系统由以下几个组件组成: - MCP服务器:提供AI模型和数据库工具之间的接口
- 数据库连接:连接到您的数据库(目前通过PyMySQL支持MySQL/MariaDB)
- 缓存管理:用于缓存和更新数据库结构信息的工具
- 查询执行:执行SQL查询并处理结果的工具
安装前提条件- Python 3.8或更高版本
- 访问MySQL/MariaDB数据库的权限
设置使用方法启动MCP服务器:
在AI客户端中配置MCP服务器连接:
- {
- "mcpServers": {
- "sql bot": {
- "timeout": 60,
- "type": "sse",
- "url": "http://127.0.0.1:8000/sse"
- }
- }
- }
复制代码
查询示例- "显示IT部门的所有员工"
- "按部门统计平均薪资是多少?"
- "查找过去3个月内下单的客户"
- "列出销售量前5的产品"
工具系统通过MCP接口提供了几个工具: - get_table_data:在数据库上执行SQL查询
- get_cache_info:检索缓存的表和字段信息
- update_cache_info:使用最新的数据库结构更新缓存

链接: https://pan.baidu.com/s/1vyrs6fFj8j42HwHkBeH5xg
提取码下载:
|
|