返回市场
sql_mcp_服务器

sql_mcp_服务器

作者:pawankumar9412 星标更新:2025-06-24

项目介绍

SQLGenius - 基于AI的SQL助手

MCP 审核

SQLGenius 是一个智能的SQL助手,它帮助您通过自然语言查询BigQuery数据库。它基于MCP(模型上下文协议)、Vertex AI的Gemini Pro以及Streamlit构建。

🌟 功能

  • 使用Gemini Pro进行自然语言到SQL的转换
  • 多标签交互式Streamlit用户界面
  • 实时查询执行与可视化
  • 数据库模式浏览器
  • 查询历史跟踪
  • 安全的查询验证
  • BigQuery集成
  • 基于MCP的架构

🎥 演示

观看SQLGenius的实际操作!这里有一个快速演示,展示如何使用该应用程序:

SQLGenius 演示

在本演示中,您可以看到:

  1. 自然语言查询转换为SQL
  2. 交互式数据可视化
  3. 模式探索
  4. 查询历史跟踪

🚀 安装

  1. 克隆仓库并导航至项目目录:
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. 当Streamlit应用启动时,MCP服务器会自动启动

  2. 使用标签来:

    • 用自然语言询问关于您的数据的问题
    • 直接编写SQL查询
    • 探索您的数据库模式

📊 用户界面标签

💬 自然语言查询

用普通英语提问并获得SQL结果:

  • "按收入显示前五名客户"
  • "一月份销售最高的产品是什么?"
  • "上个月有多少订单?"

📊 SQL查询

直接编写并执行SQL查询:

SELECT * FROM orders 
WHERE order_date > '2023-01-01' 
ORDER BY total_amount DESC
LIMIT 10

📋 数据库浏览器

  • 浏览可用表
  • 查看表模式
  • 查看任意表的样本数据

🔒 安全特性

  • 只允许SELECT查询
  • 查询验证以防止危险操作
  • 安全凭证管理
  • 错误处理和输入验证

🛠️ 架构

SQLGenius使用模型上下文协议(MCP)来暴露工具,这些工具能够:

  1. 自然语言处理:将英文问题转换为SQL
  2. 数据探索:获取模式信息和样本数据
  3. SQL执行:对您的数据库运行已验证的查询

架构包括:

  • MCP服务器:处理数据库连接并提供工具
  • Streamlit前端:用于与系统交互的用户界面
  • Vertex AI (Gemini Pro):支持自然语言理解
  • BigQuery:在您的数据上执行SQL查询

📝 MCP工具

以下MCP工具可用:

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

📚 高级用法

要向MCP服务器添加自定义工具:

  1. 编辑sql_mcp_server.py中的register_tools()方法
  2. 使用@self.tool()装饰器添加您的自定义工具
  3. 重启服务器

🤝 贡献

欢迎贡献!请随时提交Pull Request。 </中文翻译>