自然语言数据库交互工具

SQL Server Agent 是一个基于模态上下文协议(MCP)的自然语言数据库交互工具,允许用户通过自然语言与SQL Server数据库进行交互,无需编写SQL代码。

  • by aman-panjwani
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 aman-panjwani/mcp-sql-server-natural-lang

使用说明

SQL Server代理-模态上下文协议

这是SQL Server代理,它允许您利用模态上下文协议作为LLM和数据源之间的一层,以自然语言与SQL Server数据库进行交互。

主要特点:

  • 与您的数据库对话:使用简单的英语与SQL Server聊天。
  • 无代码数据库操作:完全通过自然对话管理数据库任务。
  • 一键式程序执行:使用自然命令轻松运行存储过程。
  • MCP增强精度:通过模态上下文协议(MCP)实现精确的数据库交互,智能地将命令连接到数据。
  • 情境感知对话:享受由模态上下文协议支持的无缝交互。

什么是MCP?

MCP(模态上下文协议)是一种方法论,它统计了我们应该如何将上下文绑定到LLM。 MCP提供了一种将AI模型连接到不同数据源和工具的标准化方法。

为什么选择MCP?

MCP帮助我们以简化的方式构建复杂的工作流程,在LLM之上构建代理,其中语言模型需要与数据源和工具频繁集成。

MCP架构:

MCP架构遵循客户端-服务器模型,允许单个客户端与多个服务器无缝交互。

MCP客户端:您的AI客户端(LLM)正在访问数据。

MCP协议:将您的客户端直接连接到服务器。

MCP服务器:帮助您的客户通过MCP访问数据源。

本地数据库、云数据库、外部API:通过本地存储、云或在线API提供数据的来源。

现在,让我们深入了解实施过程

了解MCP及其架构后,是时候将其与 SQL Server代理.

什么是SQL Server代理?

这 SQL Server代理 是一个会话式AI Query CLI,使您能够 使用自然语言与SQL Server数据库交互。由 模态上下文协议,它充当语言模型和数据库之间的智能层,可以:

  • 无需编写SQL即可查询数据库
  • 使用会话命令执行存储过程
  • 执行复杂的操作,同时跨多个步骤维护上下文

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

现在,让我们来看看如何启动并运行它👇

先决条件

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

  • Python 3.12+ 安装在您的计算机上
  • A有效 OpenAI API密钥

入门指南

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

1.克隆存储库

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

2.安装依赖项

pip install -r requirements.txt

3.设置环境变量

创建一个 .env 在项目的根目录下创建文件,并添加以下内容:

OPENAI_API_KEY=your_openai_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代理

设置好环境和依赖关系后,您就可以与SQL Server代理进行交互了。

运行客户端脚本

执行以下命令以启动代理:

python mcp-ssms-client.py

脚本启动后,它将提示您如下:

Enter your Query:

现在,您可以用简单的英语键入您的请求。例如:

Create a Employee table with 10 dummy data in it with their departments and salaries.

代理将使用模态上下文协议处理您的输入,并从SQL Server数据库返回相关数据。

🧠 提示:你可以问后续问题或提出要求,比如“给我看看员工和他们的部门?”或“有多少员工的工资低于4万美元?”——上下文是保留的!

结论

这 SQL Server代理 由 模态上下文协议(MCP) 将对话式人工智能的力量带入您的数据库操作。通过弥合自然语言和SQL之间的差距,它允许用户轻松地与数据交互,使数据库访问更加直观、高效,即使是没有技术专长的人也能访问。

无论您是查询数据、执行过程还是构建复杂的工作流,此代理都可以作为您与SQL Server的智能接口。

欢迎贡献、公开问题或提出改进建议——我们正在共同构建人工智能驱动的数据交互的未来! 🚀