SQL Server MCP-基于AI的数据库集成
将AI助手连接到具有企业级安全性和性能的SQL Server数据库。
🤖 AI优先数据库访问:启用GitHub Copilot、Warp AI和其他助手与您的SQL进行交互 通过自然语言查询服务器数据库,具有全面的安全控制和生产就绪的可靠性。
  ](https://nodejs.org/) 
______________________________________________________________________
🚀 快速入门-选择您的AI助手
这个项目的新手? 5分钟内起床跑步!
🤖 VS代码中的GitHub副本 (⭐ 最受欢迎)
非常适合那些希望在IDE中直接获得AI支持的SQL帮助的开发人员。
- ✅ GitHub Copilot 可以直接查询您的数据库
- ✅ 情境感知建议 基于您的实际模式
- ✅ 自然语言 生成SQL查询
- ✅ 实时洞察 编码时
💬 经纱终端
非常适合基于终端的工作流和命令行数据库交互。
- ✅ AI供电终端 与SQL Server集成
- ✅ 自然语言 数据库查询
- ✅ 快速迭代 用于分析和调试
- ✅ 跨平台 终端体验
🔧 高级集成
完整的VS代码集成指南→ -高级工作流程和配置
使用另一个AI助手? 此MCP服务器适用于任何兼容MCP的系统。
______________________________________________________________________
✨ 所得
- 🤖 SQL的自然语言 -提出问题,得到查询
- 🔒 企业安全 -具有安全默认值的三层安全系统
- 📊 性能洞察 -查询优化和瓶颈检测
- ☁️ 云就绪 -AWS/Azure秘密管理
- 🚀 流媒体支持 -大数据集的内存高效处理
- 📈 16数据库工具 -通过AI完成数据库操作
______________________________________________________________________
🔒 安全级别(快速参考)
| 安全级别 | 环境变量 | 默认值 | 影响 |
|---|---|---|---|
| 🔒 只读模式 | SQL_SERVER_READ_ONLY | true | 只允许SELECT查询 |
| ⚠️ 破坏性行动 | SQL_SERVER_ALLOW_DESTRUCTIVE_OPERATIONS | false | 控制插入/更新/删除 |
| 🚨 架构更改 | SQL_SERVER_ALLOW_SCHEMA_CHANGES | false | 控制CREATE/DROP/ALTER |
🔒 最高安全级别(默认-建议生产):
SQL_SERVER_READ_ONLY=true # Only SELECT allowed
SQL_SERVER_ALLOW_DESTRUCTIVE_OPERATIONS=false # No data modifications
SQL_SERVER_ALLOW_SCHEMA_CHANGES=false # No schema changes______________________________________________________________________
📋 基本环境变量
📖 完整参考:参见 docs/ENV-VARS.md 用于全面记录所有环境变量、默认值和上下文感知行为。
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
SQL_SERVER_HOST | 是的 | localhost | SQL Server主机名 |
SQL_SERVER_PORT | 是的 | 1433 | SQL Server端口 |
SQL_SERVER_DATABASE | 是的 | master | 初始数据库 |
SQL_SERVER_USER | 用于SQL身份验证 | - | 数据库用户名 |
SQL_SERVER_PASSWORD | SQL身份验证 | - | 数据库密码 |
SQL_SERVER_ENCRYPT | 没有 | true | 启用SSL/TLS |
SQL_SERVER_TRUST_CERT | 没有 | _上下文感知_ | 信任服务器证书 |
💡 认证:对于Windows身份验证,请离开SQL_SERVER_USER和SQL_SERVER_PASSWORD空的。 💡 SSL证书:SQL_SERVER_TRUST_CERT自动适应您的环境(在开发中信任,在生产中需要有效的证书)。
______________________________________________________________________
🛠️ 安装和配置
注意:从v1.7.11开始,该包以作用域名称发布 @egarcia74/warp-sql-server-mcp。之前的未作用域包暂时保留,并将被弃用。⭐ 推荐:全球npm安装
# Install globally via npm (easiest method)
npm install -g @egarcia74/warp-sql-server-mcp
# Initialize configuration
warp-sql-server-mcp init
# Edit config file with your SQL Server details
# Config file location: ~/.warp-sql-server-mcp.json优点:
- ✅ 无手动路径配置
- ✅ 具有文件权限的安全凭据存储(600)
- ✅ 无需触摸AI助手设置即可轻松进行配置更新
- ✅ 密码屏蔽和验证
替代方案:手动安装
# Clone and install manually
git clone https://github.com/egarcia74/warp-sql-server-mcp.git
cd warp-sql-server-mcp
npm install______________________________________________________________________
🎯 用例
🔍 数据库分析与探索
- 架构发现:在没有文档的情况下对遗留数据库进行逆向工程
- 数据质量评估:抽查表中的数据完整性
- 新团队入职培训:快速探索不熟悉的数据库模式
📊 商业智能与报告
- 随即分析:通过自然语言快速回答商务问题
- 数据导出:将过滤后的数据集导出到CSV进行分析
- 收入分析:人工智能驱动的商业洞察力
🛠️ 开发与DevOps
- 查询性能调整:执行计划分析和优化
- API开发:在开发过程中快速测试数据库查询
- 数据库故障排除:调试慢速查询并识别瓶颈
🚀 人工智能驱动的操作
- 自然语言到SQL:提出诸如“向我展示尚未下订单的客户”之类的问题
- 查询优化:“为什么此查询运行缓慢?”
- 自动化洞察:通过对话式查询生成业务报告
______________________________________________________________________
📚 完整的文件
📋 完整文档索引 -在一个地方浏览所有文档
用户指南
- 环境变量引用 -完整的环境变量文档
- 安全指南 -全面的安全配置和威胁模型
- 安全威胁分析流程 -审查和响应安全警报的工作流程
- 架构指南 -技术深潜与系统设计
- 所有MCP工具 -完整的API参考资料(16种工具)
设置指南
- VS代码集成指南 -高级工作流程和配置
- Azure密钥库指南 -云秘密管理设置
- AWS机密管理器指南 -企业凭证管理
开发人员资源
- 软件工程宣言 -哲学和工程实践
- 质量不妥协案例研究 -零容忍质量标准的现实分析
- 测试指导 -全面的测试文档(535+次测试)
- 贡献指南 -开发工作流程和标准
- Git提交清单 -预承诺质量门和指南
- Git推送清单 -预推验证和部署指南
- Git发布清单 -分步发布指南(自动化+npm)
______________________________________________________________________
🧪 生产验证
✅ 生产验证:此MCP服务器已 经过全面测试 通过:
- 618+综合测试:所有MCP工具、安全边界、错误场景(392个单元+40个手动集成+20个协议测试)
- 40手动集成测试:跨所有安全阶段的实时数据库验证
- 20项协议测试:端到端MCP通信验证
- 100%成功率:在生产场景中验证所有安全阶段
🐳 Docker快速测试 (建议开发)
# One-command testing with automated SQL Server container
npm run test:integration
# This will:
# 1. 🐳 Start SQL Server 2022 container
# 2. ⏱️ Wait for database initialization (2-3 minutes)
# 3. 🧪 Run all integration tests
# 4. 🔄 Clean up and stop container优点: ✨ 零配置,🛡️ 完全隔离,⚡ 快速设置,📋 一致的环境
****
🔧 手动设置测试 (生产验证)
测试的安全阶段:
- 第一阶段(只读):最高安全性-20/20测试✅
- 第2阶段(DML操作):选择性权限-10/10测试✅
- 第3阶段(DDL操作):完整开发模式-10/10测试✅
# Quick Start - Get comprehensive help
npm run help # Show all commands with detailed descriptions
# Run tests locally
npm test # All automated unit + integration tests
npm run test:coverage # Coverage report with detailed metrics
npm run test:integration # 🚀 Complete integration test suite with Docker
npm run test:integration:ci # For CI environments with external database
npm run test:integration:performance # ⭐ Fast performance validation (~2s)
# View logs and monitor activity
npm run logs # Show recent server logs
npm run logs:tail # Follow logs in real-time
npm run logs:audit # Show security audit logs______________________________________________________________________
🔧 使用示例
配置后,您可以与AI助手一起使用自然语言:
VS代码+GitHub副本
@sql-server List all databases
@sql-server Show me tables in the AdventureWorks database
@sql-server Generate a query to find the top 10 customers by sales
@sql-server Analyze the performance of this query: SELECT * FROM Orders WHERE OrderDate > '2023-01-01'经纱终端
Please list all databases on the SQL Server
Execute this SQL query: SELECT TOP 10 * FROM Users ORDER BY CreatedDate DESC
Can you describe the structure of the Orders table?
Show me 50 rows from the Products table where Price > 100______________________________________________________________________
🚨 故障排除
常见问题
连接问题:
- 验证SQL Server是否在指定端口上运行:
telnet localhost 1433 - 检查客户端和服务器上的防火墙设置
- 在SQL Server配置管理器中启用TCP/IP协议
身份验证问题:
- 对于SQL Server身份验证:验证
SQL_SERVER_USER和SQL_SERVER_PASSWORD - 对于Windows身份验证:将用户/密码留空,可选择设置
SQL_SERVER_DOMAIN - 确保连接用户具有适当的数据库权限
配置问题:
- 集
SQL_SERVER_ENCRYPT=false促进地方发展 - MCP服务器需要显式的环境变量(
.env文件不会自动加载) - 检查MCP服务器日志:
npm run logs或npm run logs:tail用于实时监控 - 查看安全相关问题的审核日志:
npm run logs:audit
平台特定的
窗户:
- 在SQL Server配置管理器中启用TCP/IP
- 为命名实例启动SQL Server Browser服务
- Windows身份验证与域帐户无缝协作
macOS/Linux:
- 远程SQL Server连接通常需要SQL Server身份验证
- 可能需要
SQL_SERVER_ENCRYPT=true用于远程连接 - 测试连接性:
nc -zv localhost 1433或nmap -p 1433 localhost
______________________________________________________________________
🤝 贡献
该项目展示了企业级软件工程实践。我们欢迎保持我们高标准的贡献:
- 克隆该仓库 并创建一个特征分支
- 遵循TDD实践 -先写测试!
- 保持代码质量 -所有提交都会触发自动质量检查
- 添加综合测试 对于新功能
- 更新文档 根据需要
- 提交拉取请求 附有详细说明
开发命令:
# Get comprehensive help for all available commands
npm run help # Show organized command reference with descriptions
# Core development
npm run dev # Development mode with auto-restart
npm test # Run all tests
npm run lint:fix # Fix linting issues
npm run format # Format code
npm run ci # Full CI pipeline locally
# Log viewing and monitoring
npm run logs # Show recent server logs
npm run logs:tail # Follow server logs in real-time
npm run logs:audit # Show security audit logs
npm run logs:tail:audit # Follow audit logs in real-time
# System maintenance and cleanup
npm run cleanup # Clean up leftover test processes
npm run cleanup:processes # Same as cleanup (alias)______________________________________________________________________
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
版权所有(c)2025爱德华多·加西亚
______________________________________________________________________
🌟 关于本项目
虽然这似乎是一个用于SQL server集成的MCP服务器,但它从根本上 综合框架 演示企业级软件开发实践这里的每个组件、模式和原理 展示了适用于任何生产系统的严格工程标准。
关键工程亮点:
- 🔬 618+综合测试 涵盖所有功能和边缘情况
- 🛡️ 多层安全 采用纵深防御架构
- 📊 生产可观察性 具有结构化日志记录和性能监控功能
- ⚡ 企业可靠性 具有连接池和优雅的错误处理功能
- 🏛️ 整洁架构 具有依赖反转和模块化设计
- 📚 生活文档 自动与代码更改同步
