
SQL Server Table Assistant - Modal Context Protocol

2025.04.14
0
Python数据库管理自然语言处理SQL 查询优化数据库开发效率
SQL Server Table Assistant 是一个基于 Modal Context Protocol (MCP) 的应用程序,允许用户通过自然语言与特定的 SQL Server 表进行交互。它提供了多种功能,包括自然语言查询、SQL 查询迭代、格式化结果展示、查询历史记录等,旨在简化数据库操作并提高开发效率。
View on GitHub
Overview
基本能力
产品定位
SQL Server Table Assistant 是一个专注于通过自然语言与 SQL Server 表交互的工具,旨在简化数据库操作并提高开发效率。
核心功能
- 自然语言交互:用户可以使用自然语言与 SQL Server 表进行交互,无需编写复杂的 SQL 查询。
- SQL 查询迭代:用户可以通过反馈逐步优化 SQL 查询,直到满足需求。
- 格式化结果展示:查询结果以美观的表格形式展示,提高可读性。
- 查询历史记录:自动保存查询、迭代和结果,方便后续参考。
- 无代码操作:支持通过自然语言进行查询、插入、更新和删除操作。
- 安全访问:仅限访问单个表,提供更高的安全性。
- 上下文感知:支持跨多个查询的上下文维护。
- 自然语言解释:提供查询结果的简单英文解释。
- 令牌优化:通过智能缓存和上下文管理减少 API 使用。
适用场景
- 数据分析:快速查询和分析表中的数据。
- 数据库管理:简化表的插入、更新和删除操作。
- 开发调试:通过自然语言快速生成和优化 SQL 查询。
- 教育培训:帮助初学者理解 SQL 查询和数据库操作。
工具列表
- mcp-ssms-client.py:主客户端脚本,用于启动 Table Assistant 并与表交互。
- 日志记录工具:自动保存查询历史和结果到 JSON 文件。
- 诊断工具:提供表访问诊断和模式刷新功能。
常见问题解答
- 连接问题:检查服务器名称、防火墙设置和 ODBC 驱动是否正确。
- 令牌使用问题:等待一段时间后重试,或申请更高的速率限制。
- SQL 注入预防:通过结构化查询生成减少风险。
使用教程
使用依赖
- Python 3.12+:确保已安装 Python 3.12 或更高版本。
- Azure OpenAI 部署:需要有有效的 Azure OpenAI API 访问权限。
- SQL Server:确保 SQL Server 已安装并可访问。
- ODBC 驱动:安装
{ODBC Driver 18 for SQL Server}
。
安装教程
- 克隆仓库:
git clone https://github.com/yourusername/sql-server-table-assistant.git
cd sql-server-table-assistant
- 安装依赖:
pip install -r requirements.txt
- 配置环境变量:
创建
.env
文件并添加以下内容:
# Azure OpenAI Configuration (required)
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 Configuration
MSSQL_SERVER=localhost
MSSQL_DATABASE=your_database_name
MSSQL_USERNAME=your_username
MSSQL_PASSWORD=your_password
MSSQL_DRIVER={ODBC Driver 18 for SQL Server}
# Table Configuration
MSSQL_TABLE_SCHEMA=dbo
MSSQL_TABLE_NAME=your_table_name
调试方式
- 启动客户端:
python mcp-ssms-client.py
- 使用特殊命令:
/diagnose
:运行表访问诊断。/refresh_schema
:刷新表模式。/history
:查看当前会话的查询历史。- 检查日志:所有查询和结果保存在
logs/queries/
目录下。