Token导航 LogoToken导航TokenDH.com
Openai SQL Agent logo
数据服务stdio官方级别未说明来源级核验

Openai SQL Agent

MCP Server

通过Azure OpenAI和SQL MCP服务器架构实现自然语言查询SQL数据库的智能接口解决方案。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
自然语言处理数据分析JavaScript

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bhushang19

提供方

bhushang19

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

SQL MCP与Azure OpenAI的集成

概述

该项目演示了如何使用模型上下文协议(MCP)服务器架构将Azure SQL数据库与Azure OpenAI集成。该解决方案允许通过AI代理对SQL数据库进行自然语言查询,为数据库操作提供智能界面。

建筑

该项目遵循使用模型上下文协议(MCP)的客户端-服务器架构:

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   Azure OpenAI  │    │   Python Agent   │    │   SQL MCP       │
│   (GPT-4/GPT-3.5│◄──►│   (Client)       │◄──►│   Server        │
│   -turbo)       │    │                  │    │   (Node.js)     │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                                                       │
                                                       ▼
                                              ┌─────────────────┐
                                              │   Azure SQL     │
                                              │   Database      │
                                              └─────────────────┘

组件

  1. Azure OpenAI服务:为自然语言处理提供AI模型(GPT-4或GPT-3.5-turbo)
  2. Python代理:充当MCP客户端,协调AI和SQL服务器之间的通信
  3. SQL MCP服务器:基于Node.js的MCP服务器,处理SQL数据库操作
  4. Azure SQL数据库:查询和操作的目标数据库

特性

  • 自然语言查询:将纯英语转换为SQL查询
  • 智能数据库操作:通过AI执行复杂的数据库操作
  • 安全连接:支持使用Azure SQL进行SQL身份验证
  • 只读模式:出于安全考虑,可选择只读访问
  • 连接管理:可配置的超时和证书处理

先决条件

  • Python 3.8+
  • Node.js 16+
  • Azure OpenAI服务帐户
  • Azure SQL数据库
  • 所需的Python包(请参阅 requirements.txt)

⚠️ 重要提示:更新了MCP服务器设置

此存储库包括 更新版本 SQL MCP服务器支持多种身份验证方法。原始的Azure SQL AI示例存储库仅支持Azure AD身份验证,但此增强版本增加了对以下内容的支持:

  • 使用用户名和密码 (用户名/密码)
  • 身份验证 (NTLM)
  • Azure AD身份验证 (原始方法)

安装说明:

  1. 克隆仓库:
   git clone 
   cd sql-mcp-integration
  1. 安装Python依赖项:
   pip install -r requirements.txt
  1. 设置增强型MCP服务器:
   # Clone the original SQL-AI-samples repository
   git clone https://github.com/Azure-Samples/SQL-AI-samples.git repo/SQL-AI-samples

   # Navigate to the Node.js MCP server directory
   cd repo/SQL-AI-samples/MssqlMcp/Node

   # Install dependencies
   npm install

   After the build is successful, locate the index.js file within the newly created dist folder. Copy and save its fully qualified path. you will need in an upcoming step.

   # ⚠️ CRITICAL: Replace the generated index.js with our updated version
   # Copy the enhanced index.ts from this repository to replace the original
   cp ../../../index.ts src/index.ts
  1. 验证增强功能:

增强 index.ts 文件包括:

- 多身份验证支持(SQL、Windows、Azure AD) - 更好的错误处理和调试 - 可配置的连接超时 - 增强日志记录以进行故障排除

  1. 配置环境变量:

创建一个 .env 根目录中的文件:

   # Azure OpenAI Configuration
   AZURE_OPENAI_API_KEY=your_azure_openai_api_key
   AZURE_OPENAI_ENDPOINT=your_azure_openai_endpoint
   AZURE_OPENAI_CHAT_DEPLOYMENT=your_deployment_name
   AZURE_OPENAI_CHAT_DEPLOYMENT_MODEL=gpt-4
   AZURE_OPENAI_API_VERSION=2024-02-15-preview

   # SQL Database Configuration
   SERVER_NAME=your_sql_server.database.windows.net
   DATABASE_NAME=your_database_name
   AUTH_METHOD=sql
   SQL_USERNAME=your_username
   SQL_PASSWORD=your_password
   READONLY=false
   CONNECTION_TIMEOUT=50
   TRUST_SERVER_CERTIFICATE=true

用法

基本用法

运行主程序:

python program.py

该计划将:

  1. 连接到SQL MCP服务器
  2. 使用SQL功能初始化AI代理
  3. 执行默认查询:“显示Customer表的前5行”

自定义查询

要运行自定义查询,请修改 user_input 变量in program.py:

user_input = "Find all customers who made purchases in the last 30 days"

系统说明

AI代理使用中定义的系统指令 sql_system_instructions.txt。此文件包含以下指南:

  • 如何解释自然语言查询
  • SQL最佳实践
  • 错误处理
  • 安全注意事项

项目结构

sql-mcp-integration/
├── program.py                      # Main application entry point
├── sql_system_instructions.txt     # AI agent system instructions
├── requirements.txt                # Python dependencies
├── index.ts                        # Enhanced MCP server with multi-auth support
├── .env                           # Environment variables (create this)
├── readme.md                      # This documentation
└── repo/
    └── SQL-AI-samples/            # Original Azure SQL-AI-samples repository
        └── MssqlMcp/
            └── Node/
                ├── dist/
                │   └── index.js   # Compiled SQL MCP server (replace with enhanced version)
                ├── src/           # Source code
                ├── package.json   # Node.js dependencies
                └── tsconfig.json  # TypeScript configuration

配置选项

Azure OpenAI设置

  • AZURE_OPENAI_API_KEY:您的Azure OpenAI API密钥
  • AZURE_OPENAI_ENDPOINT:Azure OpenAI服务端点
  • AZURE_OPENAI_CHAT_DEPLOYMENT:聊天完成的部署名称
  • AZURE_OPENAI_CHAT_DEPLOYMENT_MODEL:型号名称(如gpt-4、gpt-35-turbo)
  • AZURE_OPENAI_API_VERSION:要使用的API版本

SQL数据库设置

  • SERVER_NAME:Azure SQL服务器名称
  • DATABASE_NAME:目标数据库名称
  • AUTH_METHOD:身份验证方法(sql、azure ad等)
  • SQL_USERNAME:数据库用户名
  • SQL_PASSWORD:数据库密码
  • READONLY:设置为“true”以进行只读访问
  • CONNECTION_TIMEOUT:连接超时(秒)
  • TRUST_SERVER_CERTIFICATE:是否信任服务器证书

安全考虑

  1. 环境变量:从不承诺 .env 文件到版本控制
  2. 只读模式:尽可能对生产查询使用只读模式
  3. 连接安全性:确保正确的SSL/TLS配置
  4. API密钥管理:将Azure密钥保险库用于生产中的API密钥存储

故障排除

常见问题

  1. 找不到Node.js:确保Node.js已安装并位于PATH中
  2. 连接超时:检查网络连接和防火墙设置
  3. 身份验证错误:验证SQL凭据和权限
  4. MCP服务器错误:检查Node.js MCP服务器日志

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

相关文件

目录标签

目录标签

自然语言处理数据分析JavaScript本地部署数据库查询AI集成SQL自动化Azure服务

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP