Token导航 LogoToken导航TokenDH.com
MCP Server Mssqlserver logo
数据服务未说明官方级别未说明来源级核验

MCP Server Mssqlserver

MCP Server

一个为MSSQL Server提供的全面模型上下文协议(MCP)服务器,支持高级DDL操作、细粒度权限控制、完整操作日志记录和企业级连接管理。

工具数

4

提示词数

0

GitHub Stars

2

资源数

0
数据分析JavaScriptCursorCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

liliangshan

提供方

liliangshan

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MSSQL服务器的MCP服务器

用于MSSQL server的综合模型上下文协议(MCP)服务器,具有高级DDL支持、细粒度权限控制、综合操作日志记录和企业级连接管理。

🚀 主要特点

核心能力

  • 完全SQL支持:完整的DDL和DML操作支持,具有SQL注入保护
  • 高级权限控制:通过环境变量对DDL、DROP、DELETE操作进行精细控制
  • 综合录井:完成请求/响应日志记录、SQL操作跟踪和连接池监控
  • 企业连接管理:自动创建连接池、运行状况监视和故障转移恢复
  • MCP协议合规性:具有工具发现和执行功能的完整模型上下文协议实现
  • 多编辑器支持:与Cursor、VS Code和其他MCP兼容编辑器无缝集成

高级功能

  • 架构自动前缀:多租户环境的自动模式处理
  • 连接池优化:智能连接重用和性能调优
  • 错误处理:全面的错误记录和优雅的故障恢复
  • 安全功能:SQL注入预防、参数化查询支持和操作验证

📦 安装

NPM安装

全局安装(推荐)

npm install -g @liangshanli/mcp-server-mssqlserver

本地安装

npm install @liangshanli/mcp-server-mssqlserver

手动安装

git clone https://github.com/liliangshan/mcp-server-mssqlserver.git
cd mcp-server-mssqlserver
npm install

⚙️ 配置

环境变量

数据库连接设置

环境变量默认值描述必填
MSSQL_SERVERlocalhostMSSQL服务器主机地址
MSSQL_PORT1433MSSQL服务器端口号
MSSQL_USERsa数据库用户名
MSSQL_PASSWORD``Database passwordMSSQL_DATABASE``目标数据库名称
MSSQL_SCHEMAdbo默认架构名称
MSSQL_ENCRYPTfalse启用加密
MSSQL_TRUST_SERVER_CERTIFICATEtrue信任服务器证书

权限控制设置

环境变量默认值描述安全级别
ALLOW_DDLfalse允许CREATE、ALTER、DROP操作🔴 高风险
ALLOW_DROPfalse允许DROP TABLE操作🔴 高风险
ALLOW_DELETEfalse允许DELETE操作🟡 中等风险

日志记录配置

环境变量默认值描述
MCP_LOG_DIR./logs日志目录路径
MCP_LOG_FILEmcp-mssqlserver.log日志文件名

安全配置示例

开发环境(高权限)

export ALLOW_DDL=true
export ALLOW_DROP=true
export ALLOW_DELETE=true

测试环境(中等权限)

export ALLOW_DDL=true
export ALLOW_DROP=false
export ALLOW_DELETE=true

生产环境(受限权限)

export ALLOW_DDL=false
export ALLOW_DROP=false
export ALLOW_DELETE=false

🚀 用法

启动服务器

方法1:CLI启动

npm start

方法2:直接服务器执行

npm run server

方法3:管理模式

npm run start-managed

方法4:开发模式(带调试)

npm run dev

完整环境设置示例

# Database Connection
export MSSQL_SERVER=your-mssql-server.com
export MSSQL_PORT=1433
export MSSQL_USER=your-username
export MSSQL_PASSWORD=your-secure-password
export MSSQL_DATABASE=your-database
export MSSQL_SCHEMA=your-schema

# Security Permissions
export ALLOW_DDL=true
export ALLOW_DROP=false
export ALLOW_DELETE=true

# Logging Configuration
export MCP_LOG_DIR=/var/log/mcp
export MCP_LOG_FILE=mssqlserver.log

# Start Server
npm start

🛠️ 可用工具

1.sql_query

使用完整的DDL和DML支持执行SQL查询。

参数:

  • sql (字符串,必填):要执行的SQL语句

特征:

  • 自动模式前缀
  • 权限验证
  • 全面的错误处理
  • SQL注入保护

例子:

{
  "name": "sql_query",
  "arguments": {
    "sql": "SELECT * FROM users WHERE id = 1"
  }
}

支持的操作:

  • ✅ SELECT查询
  • ✅ INSERT操作
  • ✅ 更新操作
  • ✅ 删除操作(如果允许)
  • ✅ 创建表(如果DDL允许)
  • ✅ ALTER TABLE(如果DDL允许)
  • ✅ DROP表(如果允许DROP)

2.get_database_info

检索全面的数据库信息和配置详细信息。

参数:

退货:

  • 数据库列表
  • 当前数据库的表列表
  • 当前配置
  • 权限状态
  • 连接信息

例子:

{
  "name": "get_database_info",
  "arguments": {}
}

3.get_operation_logs

访问详细的操作日志以进行监控和调试。

参数:

  • limit (number,可选):要返回的日志条目数(默认值:50)
  • offset (数字,可选):分页的起始位置(默认值:0)

日志信息:

  • 请求/响应详细信息
  • SQL执行结果
  • 错误消息和堆栈跟踪
  • 连接池状态
  • 性能指标

例子:

{
  "name": "get_operation_logs",
  "arguments": {
    "limit": 100,
    "offset": 0
  }
}

4.检查权限

验证当前权限配置和访问权限。

参数:

退货:

  • 当前权限设置
  • 环境变量状态
  • 配置验证
  • 安全建议

例子:

{
  "name": "check_permissions",
  "arguments": {}
}

📊 日志记录与监视

日志类别

1.请求/响应日志

  • 所有MCP方法调用
  • 参数验证
  • 响应生成
  • 错误处理

2.SQL操作日志

  • SQL语句执行
  • 查询结果
  • 性能指标
  • 错误详细信息

3.连接池日志

  • 池创建/销毁
  • 健康检查结果
  • 连接失败
  • 恢复尝试

4.系统事件日志

  • 服务器启动/关闭
  • 配置更改
  • 权限更新
  • 安全事件

日志文件位置

  • 默认: ./logs/mcp-mssqlserver.log
  • 可定制的:通过 MCP_LOG_DIRMCP_LOG_FILE 环境变量

日志格式

2025-01-15T10:30:00.000Z | method_name | {"param1": "value1"} | SUCCESS | RESPONSE: {"result": "data"}
2025-01-15T10:30:01.000Z | SQL: SELECT * FROM users | SUCCESS

🔒 安全功能

权限控制

  • 细粒度访问控制:针对不同操作类型的细粒度权限管理
  • 基于环境的安全:通过环境变量进行安全配置
  • 操作验证:SQL执行前的实时权限检查
  • 审计日志:完成所有业务的审计跟踪

SQL注入保护

  • 参数化查询:支持编写发言稿
  • 输入验证:全面的输入净化
  • 错误屏蔽:安全的错误消息处理
  • 查询日志记录:完成SQL操作跟踪

连接安全性

  • 加密连接:支持SSL/TLS加密
  • 证书验证:可配置的证书信任设置
  • 连接池:安全连接管理
  • 超时保护:可配置的连接和请求超时

🎯 编辑器集成

光标编辑器配置

  1. 创建 .cursor/mcp.json 在项目根目录中:
{
  "mcpServers": {
    "mssqlserver": {
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mssqlserver"],
      "env": {
        "MSSQL_SERVER": "your_host",
        "MSSQL_PORT": "1433",
        "MSSQL_USER": "your_user",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_SCHEMA": "your_schema",
        "MSSQL_ENCRYPT": "false",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true",
        "ALLOW_DDL": "false",
        "ALLOW_DROP": "false",
        "ALLOW_DELETE": "false"
      }
    }
  }
}

VS代码配置

  1. 安装VS代码MCP扩展
  2. 创建 .vscode/settings.json:
{
  "mcp.servers": {
    "mssqlserver": {
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mssqlserver"],
      "env": {
        "MSSQL_SERVER": "your_host",
        "MSSQL_PORT": "1433",
        "MSSQL_USER": "your_user",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_SCHEMA": "your_schema",
        "MSSQL_ENCRYPT": "false",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true",
        "ALLOW_DDL": "false",
        "ALLOW_DROP": "false",
        "ALLOW_DELETE": "false"
      }
    }
  }
}

直接使用MCP服务器

服务器通过stdin/stdout与MCP客户端通信:

{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2025-06-18"}}

🔧 连接池管理

自动功能

  • 自动创建:连接池在上自动创建 notifications/initialized
  • 健康监测:每隔5分钟进行一次健康检查
  • 自动恢复:故障时自动游泳池娱乐
  • 性能优化:智能连接重用
  • 优雅地关闭:服务器终止时正确清理连接

配置选项

  • 池大小:可配置的最小和最大连接
  • 超时设置:可定制的连接和请求超时
  • 重试逻辑:失败连接的可配置重试尝试
  • 负载平衡:智能连接分配

🚨 故障排除

常见问题

1.连接失败

症状:

  • “连接被拒绝”错误
  • 超时错误
  • 身份验证失败

解决:

  • 验证MSSQL服务器是否正在运行
  • 检查防火墙设置
  • 验证连接参数
  • 确认网络连接

2.权限错误

症状:

  • “不允许操作”错误
  • “拒绝访问”消息
  • 权限验证失败

解决:

  • 检查环境变量配置
  • 验证数据库用户权限
  • 确认ALLOW\_\*设置
  • 审查安全配置

3.日志问题

症状:

  • 缺少日志文件
  • 日志条目不完整
  • 权限被拒绝错误

解决:

  • 检查日志目录权限
  • 验证磁盘空间可用性
  • 确认日志文件路径有效性
  • 检查文件系统权限

调试模式

启用详细调试信息:

npm run dev

调试信息:

  • 详细的SQL执行日志
  • 连接池状态
  • 权限验证详细信息
  • 错误堆栈跟踪
  • 性能指标

🏗️ 发展

项目结构

mcp-server-mssqlserver/
├── bin/
│   └── cli.js              # CLI startup script
├── src/
│   └── server-final.js     # Main server implementation
├── start-server.js         # Managed startup script
├── package.json            # Project configuration
├── README.md              # English documentation
├── README.zh-CN.md        # Chinese documentation
└── SCHEMA_USAGE.md        # Schema usage guide

建造和测试

# Install dependencies
npm install

# Run basic tests
npm test

# Run comprehensive tests
npm run test-full

# Start development server
npm run dev

# Build for production
npm run build

发展特征

  • 热重新加载:代码更改时自动重新启动服务器
  • 调试日志记录:全面的调试信息
  • 错误处理:详细的错误报告和堆栈跟踪
  • 性能监控:实时性能指标

📄 许可证

MIT许可证-有关详细信息,请参阅许可证文件

🤝 贡献

我们欢迎捐款!请参阅我们的投稿指南:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

贡献领域

  • 漏洞修补:报告并修复错误
  • 功能开发:添加新功能
  • 文档:改进文件
  • 测试:添加测试覆盖率
  • 演出:优化性能

🔗 相关链接

📞 支持

获取帮助

  • GitHub问题:报告错误和请求功能
  • 文档:综合指南和示例
  • 例子:工作示例和用例
  • 社区:加入我们的开发者社区

版本兼容性

  • Node.js:18.x或更高
  • MSSQL服务器:2012年或更高
  • MCP协议:2025-06-18或兼容版本

目录标签

目录标签

数据分析JavaScriptCursor数据库管理本地部署SQL服务企业级安全连接池管理多租户支持

支持客户端

CursorVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP