SQL Server Table Assistant - Modal Context Protocol

SQL Server Table Assistant - Modal Context Protocol

SQL Server 代理工具(带 MCP)

hblaDCOM

开发者工具
访问服务器

README

SQL Server 表格助手 - 模态上下文协议

本应用程序允许您使用自然语言与特定的 SQL Server 表格进行交互,利用模态上下文协议作为 LLM 和您的数据源之间的通信层。

本项目基于 Aman Pachorimcp-sql-server-natural-lang 仓库,并进行了修改,专注于单表访问。

主要特性:

  • 与您的表格对话:使用简单的英语与特定的 SQL Server 表格聊天
  • 无代码表格操作:通过自然对话查询、插入、更新和删除数据
  • 安全、有限的访问:仅连接到一个表格,并使用受限的凭据以增强安全性
  • MCP 增强的准确性:通过模态上下文协议实现精确的表格交互
  • 上下文感知的对话:在多个查询中保持上下文

什么是 MCP?

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

单表模式

此应用程序以“单表模式”运行,该模式提供以下几个优点:

  1. 增强的安全性:访问仅限于单个表格,而不是整个数据库
  2. 更简单的权限:用户只需要最少的权限(仅针对特定表格)
  3. 专注的体验:助手专门用于处理单个表格
  4. 降低风险:防止意外访问其他表格中的敏感数据

前提条件

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

  • 您的机器上安装了 Python 3.12+
  • 具有 API 访问权限的有效 Azure OpenAI 部署
  • 具有您要与之交互的表格的 SQL Server
  • 仅有权访问该表格的 有限用户凭据

快速入门

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

1. 克隆存储库

git clone https://github.com/yourusername/sql-server-table-assistant.git
cd sql-server-table-assistant

2. 安装依赖项

pip install -r requirements.txt

3. 设置环境变量

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

# Azure OpenAI 配置(必需)
AZURE_OPENAI_API_KEY=your_azure_openai_api_key
AZURE_OPENAI_ENDPOINT=https://your-resource-name.openai.azure.com
AZURE_OPENAI_API_VERSION=2023-05-15
AZURE_OPENAI_DEPLOYMENT_ID=your-deployment-name

# SQL Server 配置
MSSQL_SERVER=localhost
MSSQL_DATABASE=your_database_name
MSSQL_USERNAME=your_username
MSSQL_PASSWORD=your_password
MSSQL_DRIVER={ODBC Driver 18 for SQL Server}

# 表格配置
MSSQL_TABLE_SCHEMA=dbo
MSSQL_TABLE_NAME=your_table_name

运行表格助手

设置好您的环境和依赖项后,您就可以与表格助手进行交互了。

运行客户端脚本

执行以下命令以启动助手:

python mcp-ssms-client.py

脚本启动后,它将提示您表格名称和可用命令。 然后,您可以以简单的英语输入您的请求。 例如:

表格助手已准备就绪。 您正在处理表格:dbo.Employees
用自然语言输入您关于表格的问题,我将它们翻译成 SQL。
特殊命令:/diagnose - 运行诊断,/refresh_schema - 刷新表格架构

输入您的查询:显示所有工资超过 50,000 美元的员工

助手将:

  1. 将您的自然语言翻译成 SQL 查询
  2. 显示查询以供批准
  3. 在您确认后执行它
  4. 返回并解释结果

诊断和故障排除

该应用程序包含内置的诊断工具:

  • 使用 /diagnose 运行全面的表格访问诊断
  • 使用 /refresh_schema 刷新表格架构
  • 检查 logs 目录以获取详细的日志文件
  • 如果遇到访问问题,请检查权限

安全注意事项

此应用程序实现了多个安全功能:

  1. 单表访问:查询仅限于配置的表格
  2. 查询验证:所有 SQL 查询都会显示给用户,以在执行前获得批准
  3. 事务安全性:INSERT/UPDATE/DELETE 测试使用带有回滚的事务
  4. 错误跟踪:详细的错误日志有助于诊断问题,而不会暴露敏感信息

连接问题

如果遇到连接问题:

  1. 验证您的服务器名称或 IP 地址是否正确
  2. 确保 SQL Server 正在运行并接受远程连接
  3. 检查防火墙设置以允许 SQL Server 流量
  4. 验证您的 .env 文件中指定的 ODBC 驱动程序是否已安装
  5. 使用 SSMS 或 sqlcmd 等其他工具测试连接

许可证

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

致谢

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
MCP Package Docs Server

MCP Package Docs Server

促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
mermaid-mcp-server

mermaid-mcp-server

一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。

精选
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

精选
TypeScript
Linear MCP Server

Linear MCP Server

一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

精选
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Curri MCP Server

Curri MCP Server

通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。

官方
本地
JavaScript