MSSQL

MSSQL

🚀 MSSQL MCP 服务器

一个用于连接到 Microsoft SQL Server 数据库的 Model Context Protocol (MCP) 服务器。此服务器提供了执行 SQL 查询和管理数据库连接的工具。

smithery badge

版本说明:此项目已升级为使用 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 许可证。

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-24 13:36

相似服务问题