SQL自然语言查询工具

一个基于Streamlit和Claude AI的SQL Server自然语言查询工具,提供Web界面、实时查询执行和可视化数据探索功能。

  • by GuyenSoto
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 guyensoto/mcp-sql-server-natural-lang

使用说明

SQL Server代理-流式接口

一个具有Streamlit web界面的现代SQL Server代理,允许您使用自然语言与SQL Server数据库交互,由Claude AI提供支持。

主要特点

  • 自然语言到SQL:使用Claude AI将纯英语查询转换为SQL
  • 基于Web的界面:现代Streamlit仪表板,便于数据库交互
  • 实时查询执行:执行SQL查询并立即查看结果
  • 可视化数据浏览器:使用交互式界面浏览表、模式和数据
  • 导出功能:将查询结果下载为CSV文件
  • 查询示例:预构建查询,助您快速入门

什么是SQL Server代理?

这 SQL Server代理 是一个基于网络的对话式人工智能界面,使您能够 使用自然语言与SQL Server数据库交互.技术支持: 克劳德 AI,它提供:

  • 无需编写SQL即可查询数据库
  • 可视化表探索和模式浏览
  • 带格式化结果的实时查询执行
  • 无缝的数据导出和分析功能

无论您是开发人员、分析师还是非技术用户,此代理都可以通过直观的web界面访问您的数据。

🎥 演示视频

观察SQL Server代理的运行情况:

看看使用自然语言查询数据库有多容易!

先决条件

在开始之前,请确保您具备以下条件:

  • Python 3.12+ 安装在您的计算机上
  • 紫外线 已安装包管理器(安装uv)
  • A有效 无烟煤API密钥 (克劳德·艾)
  • PowerShell (Windows)

入门指南

按照以下步骤启动并运行项目:

1.克隆存储库

git clone https://github.com/Amanp17/mcp-sql-server-natural-lang.git
cd mcp-sql-server-natural-lang

2.环境设置(PowerShell)

# Create and activate uv environment
uv venv --python 3.12
.\.venv\Scripts\Activate.ps1

# Install dependencies
uv pip install streamlit anthropic pandas sqlite3-utils

3.设置环境变量

创建一个 .streamlit/secrets.toml 项目根目录中的文件:

ANTHROPIC_API_KEY = "your_anthropic_api_key_here"

[connections.sql_server]
server = "localhost"
database = "your_database_name"
username = "your_username"
password = "your_password"
driver = "ODBC Driver 17 for SQL Server"

或者设置一个 .env 文件:

ANTHROPIC_API_KEY=your_anthropic_api_key
MSSQL_SERVER=localhost
MSSQL_DATABASE=your_database_name
MSSQL_USERNAME=your_username
MSSQL_PASSWORD=your_password
MSSQL_DRIVER={ODBC Driver 17 for SQL Server}

运行SQL Server代理

设置好环境和依赖关系后,就可以启动web界面了。

启动Streamlit应用程序

# Ensure uv environment is activated
.\.venv\Scripts\Activate.ps1

# Launch the Streamlit web interface
streamlit run integrated_sql_agent.py

该应用程序将在您的默认web浏览器中自动打开,网址为 http://localhost:8501.

使用界面

  1. 自然语言查询:键入问题,如“向我展示所有客户”或“按价格排名前10的产品是什么?”

  2. SQL直接输入:您也可以直接编写SQL查询

  3. 架构资源管理器:在侧栏中浏览数据库表和列

  4. 查询示例:点击预构建示例快速开始

  5. 导出结果:将查询结果下载为CSV文件

查询示例

以下是一些您可以尝试的自然语言查询示例:

Show me all customers
What are the top 10 products by price?
Find customers who spent more than $2000
What's the average order value?
Show me monthly sales for this year
Which products are low in stock?
Find orders from the last 30 days

项目结构

mcp-sql-server-natural-lang/
├── integrated_sql_agent.py   # Main Streamlit application
├── requirements.txt          # Dependencies
├── .streamlit/
│   └── secrets.toml         # Streamlit secrets
├── .env                     # Environment variables (optional)
├── .venv/                   # Virtual environment
└── README.md               # This file

故障排除

常见问题

  1. 未找到紫外线:确保uv已安装并位于PATH中

    # Install uv if needed
    powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
    
  2. 权限不足:如果需要,以管理员身份运行PowerShell

  3. API关键问题:确保您的Anthropic API密钥在secrets.toml中设置正确

  4. 数据库连接:验证您的SQL Server连接详细信息

环境管理

  • 激活环境: .\.venv\Scripts\Activate.ps1
  • 停用环境: deactivate
  • 检查相关性: uv pip list
  • 更新依赖关系: uv pip install --upgrade package_name

功能概述

🔍 自然语言处理

  • 将英语问题转换为SQL查询
  • 上下文感知查询生成
  • 支持复杂的连接和聚合

🎯 web界面

  • 干净、现代的Streamlit仪表板
  • 实时查询执行
  • 交互式数据表
  • 带有表详细信息的架构浏览器

📊 数据可视化

  • 格式化查询结果
  • 可排序和可过滤的表
  • CSV导出功能
  • 查询历史和示例

🔒 安全

  • 安全的API密钥管理
  • 基于环境的配置
  • 安全执行SQL查询

依赖项

streamlit>=1.28.0
anthropic>=0.25.0
pandas>=2.0.0
sqlite3-utils>=3.35.0
python-dotenv>=1.0.0

获取API密钥

  1. 访问 拟人控制台
  2. 注册或登录您的帐户
  3. 导航到API密钥部分
  4. 创建新的API密钥
  5. 复制并粘贴到您的 secrets.toml 文件

结论

这 SQL Server代理 Streamlit界面通过现代web界面将对话式AI的力量带入您的数据库操作。通过将Claude AI的自然语言处理与Streamlit的交互功能相结合,它提供了一种直观的方式来探索和分析您的数据。

无论您是执行即席查询、探索数据关系还是构建报告,此代理都可以作为您与SQL Server的基于web的智能界面。


快速启动命令:

# Clone, setup, and run in one go
git clone https://github.com/Amanp17/mcp-sql-server-natural-lang.git
cd mcp-sql-server-natural-lang
uv venv --python 3.12
.\.venv\Scripts\Activate.ps1
uv pip install streamlit anthropic pandas
streamlit run integrated_sql_agent.py