README
🚀 MSSQL MCP 服务器
一个用于连接到 Microsoft SQL Server 数据库的 Model Context Protocol (MCP) 服务器。此服务器提供了执行 SQL 查询和管理数据库连接的工具。
版本说明:此项目已升级为使用 Model Context Protocol SDK 1.9.0。有关详细信息,请参阅 UPGRADE.md。
🚀 快速开始
MSSQL MCP 服务器可帮助你连接 Microsoft SQL Server 数据库,轻松执行 SQL 查询和管理数据库连接。以下为你介绍安装和使用方法。
📦 安装指南
使用 Smithery 进行安装
通过 Smithery 自动安装 MSSQL MCP 服务器以供 Claude 桌面使用:
npx -y @smithery/cli install @c0h1b4/mssql-mcp-server --client claude
手动安装
npm install mssql-mcp-server
💻 使用示例
基础用法
将服务器添加到您的 MCP 设置配置文件中:
{
"mcpServers": {
"mssql": {
"command": "mssql-mcp-server",
"env": {
"MSSQL_CONNECTION_STRING": "Server=localhost;Database=master;User Id=sa;Password=yourpassword;",
// 或者单独的连接参数:
"MSSQL_HOST": "localhost",
"MSSQL_PORT": "1433",
"MSSQL_DATABASE": "master",
"MSSQL_USER": "sa",
"MSSQL_PASSWORD": "yourpassword",
"MSSQL_ENCRYPT": "false",
"MSSQL_TRUST_SERVER_CERTIFICATE": "true"
}
}
}
}
高级用法
query 工具使用
在 MSSQL 数据库上执行 SQL 查询。
参数:
| 参数 | 类型 | 是否可选 | 详情 |
| ---- | ---- | ---- | ---- |
| connectionString | 字符串 | 是 | 完整的连接字符串(与单独参数互斥) |
| host | 字符串 | 是 | 数据库服务器主机名 |
| port | 数字 | 是 | 数据库服务器端口(默认:1433) |
| database | 字符串 | 是 | 数据库名称(默认:master) |
| username | 字符串 | 是 | 数据库用户名 |
| password | 字符串 | 是 | 数据库密码 |
| query | 字符串 | 否 | 要执行的 SQL 查询 |
| encrypt | 布尔值 | 是 | 启用加密(默认:false) |
| trustServerCertificate | 布尔值 | 是 | 信任服务器证书(默认:true) |
要么提供 connectionString,要么同时提供 (host + username + password)。
示例:
const result = await use_mcp_tool({
server_name: 'mssql',
tool_name: 'query',
arguments: {
host: 'localhost',
username: 'sa',
password: 'yourpassword',
query: 'SELECT * FROM Users',
},
});
🔧 技术细节
运行服务器
本地开发
# 安装依赖项
npm install
# 以开发模式运行
npm run dev
# 构建
npm run build
# 运行构建后的服务器
npm start
使用 Docker
# 构建并启动服务(SQL Server + MCP 服务器)
docker-compose up
# 或者仅构建 Docker 镜像
docker build -t mssql-mcp-server .
测试
# 运行测试
npm test
# 带覆盖率的测试
npm run test:coverage
安全
服务器包含防止危险 SQL 操作的安全措施:
- 阻止执行潜在危害的操作,如 DROP、TRUNCATE、ALTER、CREATE、EXEC 等。
- 验证所有输入参数和数据库名称的有效性。
- 设置合理的查询长度和超时限制。
- 使用连接池以提高性能和安全性。
📄 许可证
本项目采用 MIT 许可证。
扫码联系在线客服