
SQLGenius - AI-Powered SQL Assistant

2025.03.26
7
PythonSQL助手自然语言处理数据库查询数据库开发效率
SQLGenius是一个基于AI的SQL助手,能够通过自然语言帮助用户查询BigQuery数据库。它结合了MCP(Model Context Protocol)、Vertex AI的Gemini Pro和Streamlit技术,提供自然语言到SQL的转换、交互式UI、实时查询执行和可视化等功能。
View on GitHub
Overview
基本能力
产品定位
SQLGenius是一个智能SQL助手,旨在通过自然语言简化数据库查询过程,特别适用于需要频繁与BigQuery交互的开发者和数据分析师。
核心功能
- 自然语言到SQL的转换(使用Gemini Pro)
- 交互式Streamlit UI,支持多标签页
- 实时查询执行和可视化
- 数据库模式探索器
- 查询历史跟踪
- 安全查询验证
- BigQuery集成
- 基于MCP的架构
适用场景
- 数据分析师需要快速查询数据库
- 开发者希望减少编写SQL的时间
- 团队需要共享和复用查询历史
- 需要探索和理解数据库结构的用户
MCP工具列表
execute_nl_query
: 执行自然语言查询execute_sql_query
: 执行原始SQL查询list_tables
: 列出所有可用表get_table_schema
: 获取特定表的模式
常见问题解答
- 如何添加自定义工具?
编辑
sql_mcp_server.py
中的register_tools()
方法,使用@self.tool()
装饰器添加自定义工具,然后重启服务器。 - 支持哪些类型的查询? 目前仅支持SELECT查询,以确保安全性。
使用教程
使用依赖
- 确保已安装Python和pip
- 克隆仓库并进入项目目录:
cd sql_mcp_server
安装教程
- 安装依赖:
pip install -r requirements.txt
- 复制
.env.example
文件为.env
并填写配置:
cp .env.example .env
- 在
.env
中设置环境变量:
PROJECT_ID=your-project-id
DATASET_ID=your-dataset-id
GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service-account.json
VERTEX_AI_LOCATION=us-central1
调试方式
- 启动应用程序:
streamlit run streamlit_app.py
- MCP服务器将在Streamlit应用启动时自动启动
- 使用标签页进行:
- 自然语言查询
- 直接编写SQL查询
- 探索数据库模式
许可证
None