SQL_MCP_Server

SQL_MCP_Server

🚀 SQLGenius - 智能SQL助手

SQLGenius是一款强大的智能SQL助手,它能让您使用自然语言对BigQuery数据库进行查询。该项目基于MCP(模型上下文协议)、Vertex AI的Gemini Pro以及Streamlit构建,为您提供高效便捷的数据库查询体验。

✨ 主要特性

  • 智能转换:借助Gemini Pro,可将自然语言精准转换为SQL语句。
  • 交互界面:拥有多个标签页的交互式Streamlit界面,操作方便。
  • 实时反馈:支持实时查询执行,并对结果进行可视化展示。
  • 架构探索:方便进行数据库架构探索,了解数据结构。
  • 历史跟踪:可跟踪查询历史记录,便于回顾和复用。
  • 安全验证:具备安全查询验证机制,保障数据安全。
  • 深度集成:与BigQuery深度集成,充分利用其强大功能。
  • 架构支撑:基于MCP架构,提供稳定的工具支持。

🎥 演示

观看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查询。
    • 探索数据库架构。

高级用法

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

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

📊 界面标签页

💬 自然语言查询

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

  • "显示收入前5名的客户"
  • "一月份销售最高的产品有哪些?"
  • "上个月下了多少订单?"

📊 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:获取特定表的架构。

🤝 贡献

欢迎贡献!请随意提交拉取请求。

  • 0 关注
  • 0 收藏,14 浏览
  • system 提出于 2025-09-23 19:24

相似服务问题

相关AI产品