SQLGenius - AI-Powered SQL Assistant

SQLGenius - AI-Powered SQL Assistant

site icon
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工具列表

  1. execute_nl_query: 执行自然语言查询
  2. execute_sql_query: 执行原始SQL查询
  3. list_tables: 列出所有可用表
  4. get_table_schema: 获取特定表的模式

常见问题解答

  • 如何添加自定义工具? 编辑sql_mcp_server.py中的register_tools()方法,使用@self.tool()装饰器添加自定义工具,然后重启服务器。
  • 支持哪些类型的查询? 目前仅支持SELECT查询,以确保安全性。

使用教程

使用依赖

  1. 确保已安装Python和pip
  2. 克隆仓库并进入项目目录:
cd sql_mcp_server

安装教程

  1. 安装依赖:
pip install -r requirements.txt
  1. 复制.env.example文件为.env并填写配置:
cp .env.example .env
  1. .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

调试方式

  1. 启动应用程序:
streamlit run streamlit_app.py
  1. MCP服务器将在Streamlit应用启动时自动启动
  2. 使用标签页进行:
  3. 自然语言查询
  4. 直接编写SQL查询
  5. 探索数据库模式

许可证

None