MSSQL数据库连接服务

一个为AI代理提供安全、无状态的Microsoft SQL Server数据库访问能力的生产级MCP服务器。

  • by michaelyuwh
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 michaelyuwh/mcp-mssql-connector

使用说明

🚀 增强版 MCP MSSQL 服务器

一个适用于Microsoft SQL Server的生产就绪型模型上下文协议(MCP)服务器,为AI代理提供安全、无状态的数据库访问能力。

✨(这个符号本身没有具体的中文翻译,但通常可以表示“闪亮”、“闪耀”或用于表达某种积极、兴奋的情绪) 新功能与增强特性

  • 🔒 高级安全SQL注入防护、查询验证和可配置的安全策略
  • 📊 健康监测实时性能指标和连接健康检查
  • ⚙️ 配置管理针对开发和生产环境的特定设置
  • 📦 批量操作针对大规模数据操作的高效批处理
  • 🛡️ 增强错误处理为AI代理提供包含可操作信息的结构化错误
  • 🎯 准备就绪,可投入生产企业级监控和安全能力

🛠️(工具/扳手) 可用工具(共9个)

核心数据库工具 (增强型)

  1. 列出 MSSQL 数据库 - 列出所有可访问的数据库
  2. mssql_list_tables 翻译成中文是“列出 MSSQL 数据库中的表” - 列出特定数据库中的表
  3. mssql_describe_table 翻译为中文是“描述 MSSQL 表” - 获取详细的表结构信息
  4. `mssql_query` 翻译成中文是“执行 MSSQL 查询”。不过,需要注意的是,在现代的 PHP 开发中,`mssql_query` 已经被弃用,并且不再推荐使用,取而代之的是使用 PDO(PHP Data Objects)或其他更现代的数据库连接和查询方法 - 执行带有安全验证和度量指标的查询
  5. MSSQL示例数据 - 从表中检索示例行
  6. mssql_get_relationships 翻译为中文是:“获取 MSSQL 关系”或“获取 MSSQL 中的关系”。这里,“mssql”指的是 Microsoft SQL Server,“get_relationships”表示获取关系或关联 - 发现外键关系

新高级工具

  1. MSSQL健康检查 - 服务器健康监测及性能指标
  2. mssql_validate_query 翻译为中文是:“验证 MSSQL 查询” - 无需查询执行的安全验证
  3. `mssql_bulk_insert` 翻译成中文是“MSSQL批量插入” - 高效的批量数据插入操作

🚀 快速入门

# Install dependencies
npm install

# Build the project  
npm run build

# Configure your database (copy .env.example to .env)
cp .env.example .env

# Start the server
npm start

# Run tests (requires running MSSQL server)
npm test

🎯 这个的作用

这个MCP服务器允许AI代理:

  • 连接 安全地连接到MSSQL数据库
  • 发现 数据库模式(数据库、表、列)
  • 查询 安全地以只读方式访问数据
  • 探索 关系和元数据
  • 样本 无需全表扫描的数据以供分析

✨ 主要特点

  • ✅ 只读安全仅允许使用SELECT查询
  • 🔒 表示“锁”或“安全”的意思。 安全认证默认启用加密连接
  • 🔍 翻译为中文是:“🔍”(这个符号本身在中文里没有直接对应的翻译,因为它是一个图形符号,通常用于表示放大镜或搜索等意思,在这里直接保留原样或根据上下文解释为“放大镜/搜索”等含义)。如果仅从字符本身来看,没有直接的中文翻译,但其含义可以根据上下文来解释。 模式发现自动数据库结构探索
  • 📊 表格/数据图表 智能采样获取代表性数据而不造成过载
  • 🔗 关系映射理解外键连接
  • 🛡️ 译为中文是“盾牌”。 SQL注入防护参数化查询和验证

🛠️ 安装

先决条件:

  • Node.js 18及以上版本
  • 访问 MSSQL Server(2008 R2 及更高版本)
  • 具有读取权限的数据库用户

设置:

  1. 克隆或下载此仓库
  2. 跑 npm install 安装依赖项
  3. 跑步 npm run build 编译TypeScript
  4. 配置您的数据库连接(参见配置部分)

📝 配置

无需配置!

这个MCP服务器现在 无状态的 - 在调用每个工具时,您需要提供连接详情。AI代理会在需要时询问您的数据库凭据。

对于 Claude Desktop,请在您的配置中添加:

{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["path/to/mcp-mssql-connector/dist/index.js"]
    }
  }
}

🔧 可用工具

工具 描述 关键参数
项目 英文翻译 中文翻译
连接到 MSSQL 服务器 服务器, 用户, 密码 mssql_list_databases
列出可用数据库 - mssql_list_tables
列出数据库中的表 数据库 mssql_describe_table
获取表结构 数据库, 表 mssql_query
执行SELECT查询 数据库,查询,限制 mssql_sample_data
获取样本行 数据库, 表, 限制 mssql_get_relationships

| 获取外键 | 数据库,表 |

💡 使用示例

List all databases on server 'myserver.com' using username 'myuser' and password 'mypass'

列出数据库:

List all tables in the 'Northwind' database on myserver.com with my credentials

探索结构:

Query "SELECT TOP 10 * FROM Customers WHERE Country = 'USA'" on Northwind database at myserver.com

查询数据:

Show foreign key relationships for the Orders table in Northwind database on myserver.com

理解关系:

  • 🔒 安全只读
  • 仅允许使用SELECT语句输入验证
  • 所有参数均通过Zod模式验证连接安全
  • 默认启用TLS加密查询限制
  • 自动行限制防止数据大量导出错误处理

安全的错误信息,不暴露内部细节

📋 要求

  1. 🤝 贡献
  2. 为仓库创建分支(或“克隆仓库”)
  3. 创建一个特性分支
  4. 进行你的更改
  5. 如适用,请添加测试

提交拉取请求

📄 许可证

MIT 许可证 - 详情请参阅 LICENSE 文件

🆘 支持

  1. 如果您遇到问题: 检查一下 使用指南
  2. 对于通用解决方案
  3. 验证您的MSSQL服务器配置
  4. 确保数据库权限设置正确