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

Sqlserver MCP Colossal

MCP Server

一个全面的SQL Server数据库操作工具,提供连接数据库和执行CRUD操作的功能,支持多种配置方式和安全特性。

工具数

15

提示词数

0

GitHub Stars

0

资源数

0
数据分析PythonClaude性能优化Claude DesktopClaude

安装说明

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

作者 / 组织

JavianDev

提供方

JavianDev

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

SQL Server MCP 巨型(或“大型”)

一个用于SQL Server数据库操作的全面模型上下文协议(MCP)服务器。该服务器提供了工具,可通过Claude Desktop和其他MCP客户端连接到SQL Server数据库,并执行创建、读取、更新和删除(CRUD)操作。

🚀 特性

  • 🔌 电源插头/插座 轻松配置简单的服务器、数据库和身份验证详情设置
  • 🔍(放大镜图标,通常表示搜索或查看细节) 数据库探索列出表、视图,描述结构,并浏览数据
  • 📊 表格/数据图表 CRUD 操作使用参数化查询创建、读取、更新和删除数据
  • 🔒(锁形图标,通常表示安全、保密或锁定状态) 安全特性对破坏性操作(更新/删除)的确认提示
  • 👁️ 视图支持全面的视图管理和数据访问
  • ⚙️ 通常用来表示齿轮或机械装置的图标,没有直接对应的中文翻译,但可以理解为“齿轮”或“机械装置”的象征。在具体语境中,它可能表示与机械、工程或技术相关的功能或操作。 存储过程全面支持存储过程操作
  • 🔍 翻译为中文是:放大镜(或:查找) 查询分析执行计划分析及优化建议
  • 🛡️ 翻译为中文是“护盾”。这个符号通常用来表示保护、防御或屏障的概念。 安全支持加密连接和证书验证
  • 演出使用连接池进行异步操作
  • 🔧 修理工具或扳手的符号,常用于表示需要修理或维护的场合。 灵活的支持多种ODBC驱动程序和自定义配置
  • 类型安全对所有输入进行全面的 Pydantic 验证

📋 目录

🛠️ 安装

先决条件

  • Python 3.10 或更高版本
  • 带有ODBC驱动程序17(或兼容驱动程序)的SQL Server
  • Claude Desktop(用于测试)或其他MCP客户端

安装依赖项

# Install Python dependencies
pip install -r requirements.txt

# Or install in development mode
pip install -e .

安装ODBC驱动程序

Windows(视窗操作系统):

# Download and install Microsoft ODBC Driver 17 for SQL Server
# https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server

Linux(Ubuntu/Debian):

curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt-get update
ACCEPT_EULA=Y apt-get install -y msodbcsql17

macOS(苹果电脑操作系统)

brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools

⚙️ 配置

方法1:环境变量(推荐)

创建一个 .env 文件在(某处/某个地方) config 目录:

SQLSERVER_HOST=your-server-hostname
SQLSERVER_DATABASE=your-database-name
SQLSERVER_USERNAME=your-username
SQLSERVER_PASSWORD=your-password
SQLSERVER_PORT=1433
SQLSERVER_DRIVER={ODBC Driver 17 for SQL Server}
SQLSERVER_TRUST_CERT=true
SQLSERVER_ENCRYPT=true

方法2:配置文件

创建 config/sqlserver_config.json:

{
  "server": "your-server-hostname",
  "database": "your-database-name",
  "username": "your-username",
  "password": "your-password",
  "port": 1433,
  "driver": "{ODBC Driver 17 for SQL Server}",
  "trust_server_certificate": true,
  "encrypt": true
}

方法3:运行时配置

使用 configure_sqlserver 用于动态建立连接的工具。

🚀 使用方法

启动服务器

# Start the MCP server
python src/server.py

# Or using the npm script
npm start

Claude 桌面集成

在您的Claude桌面配置文件中添加以下内容:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "sqlserver-colossal": {
      "command": "python",
      "args": [
        "C:\\path\\to\\sqlserver-mcp-colossal\\src\\server.py"
      ],
      "env": {
        "SQLSERVER_HOST": "your-server",
        "SQLSERVER_DATABASE": "your-database",
        "SQLSERVER_USERNAME": "your-username",
        "SQLSERVER_PASSWORD": "your-password"
      }
    }
  }
}

🛠️ 可用工具

1. configure_sqlserver

配置SQL Server连接参数。

参数:

  • serverSQL Server 的主机名或 IP 地址
  • database数据库名称
  • username用于认证的用户名
  • password用于认证的密码
  • portSQL Server 端口(默认:1433)
  • driverODBC 驱动程序(默认:适用于 SQL Server 的 ODBC 驱动程序 17)
  • trust_server_certificate信任服务器证书(默认:是)
  • encrypt使用加密(默认:True)

2. execute_query

执行任何SQL查询并返回结果。

参数:

  • query要执行的SQL查询
  • params用于参数化查询的可选JSON参数字符串

3. list_tables

列出当前数据库中的所有表。

4. describe_table

获取有关表结构的详细信息。

参数:

  • table_name描述的表名
  • schema_name模式名称(默认:dbo)

5. insert_data

将数据插入到表中。

参数:

  • table_name要插入数据的表名
  • data包含要插入数据(键值对)的JSON字符串
  • schema_name模式名称(默认:dbo)

6. update_data ⚠️ 需要确认

更新表中的数据。 此操作需要明确确认。

参数:

  • table_name要更新的表的名称
  • data包含要更新数据的JSON字符串(键值对)
  • where_clause更新操作的WHERE子句(不包含WHERE关键字)
  • schema_name模式名称(默认:dbo)
  • confirm必须设置为 true 继续进行更新

7. delete_data ⚠️ 需要确认

从表中删除数据。 此操作需要明确确认。

参数:

  • table_name要删除数据的表名
  • where_clause删除操作的 WHERE 子句(不包含 WHERE 关键字)
  • schema_name模式名称(默认:dbo)
  • confirm必须设置为 true 继续进行删除操作

8. get_table_data

从表中获取数据,可选择限制数量。

参数:

  • table_name要查询的表名
  • limit返回的最大行数(默认:100)
  • schema_name模式名称(默认:dbo)

9. list_views

列出当前数据库中的所有视图。

参数:

  • schema_name模式名称(默认:dbo)

10. describe_view

获取视图结构的详细信息。

参数:

  • view_name要描述的视图的名称
  • schema_name模式名称(默认:dbo)

11. get_view_data

从视图中获取数据,可选限制数量。

参数:

  • view_name要查询的视图名称
  • limit返回的最大行数(默认:100)
  • schema_name模式名称(默认:dbo)

12. list_stored_procedures

列出当前数据库中所有的存储过程。

参数:

  • schema_name模式名称(默认:dbo)

13. describe_stored_procedure

获取有关存储过程的详细信息。

参数:

  • procedure_name要描述的存储过程的名称
  • schema_name模式名称(默认:dbo)

14. execute_stored_procedure

执行带有参数的存储过程。

参数:

  • procedure_name要执行的存储过程的名称
  • parameters包含参数名称和值的JSON字符串
  • schema_name模式名称(默认:dbo)

15. analyze_query_plan

分析查询执行计划并提供优化建议。

参数:

  • query用于分析的SQL查询
  • params用于参数化查询的可选JSON参数字符串

🔒 安全特性

确认要求

为了安全起见,以下操作需要明确确认:

更新操作

# This will fail without confirmation
update_data(
    table_name="users",
    data='{"status": "inactive"}',
    where_clause="last_login < '2023-01-01'"
)

# This will succeed with confirmation
update_data(
    table_name="users",
    data='{"status": "inactive"}',
    where_clause="last_login < '2023-01-01'",
    confirm=True
)

删除操作

# This will fail without confirmation
delete_data(
    table_name="temp_data",
    where_clause="created_date < '2023-01-01'"
)

# This will succeed with confirmation
delete_data(
    table_name="temp_data",
    where_clause="created_date < '2023-01-01'",
    confirm=True
)

安全信息

当需要确认时,你会看到类似这样的信息:

⚠️ WARNING: This operation will modify data in the database.
Table: users
Operation: UPDATE
WHERE clause: last_login < '2023-01-01'
Rows affected: Estimated 1,250 rows

To proceed, add confirm=True to your request.

📚 示例

1. 配置连接

Configure SQL Server connection:
- Server: localhost
- Database: AdventureWorks
- Username: sa
- Password: YourPassword123

2. 列出表格

List all tables in the database

3. 描述表结构

Describe the structure of the 'Products' table

4. 插入数据

Insert new product data:
- Table: Products
- Data: {"Name": "New Product", "Price": 29.99, "Category": "Electronics"}

5. 查询数据

Get all products with price greater than $50

6. 更新数据(并确认)

Update product price:
- Table: Products
- Data: {"Price": 39.99}
- Where: ProductID = 1
- Confirm: true

7. 删除数据(需确认)

Delete discontinued products:
- Table: Products
- Where: Category = 'Discontinued'
- Confirm: true

8. 与视图一起工作

List all views in the database
Describe the structure of the 'CustomerOrders' view
Show me the first 20 rows from the 'CustomerOrders' view

9. 使用存储过程

List all stored procedures in the database
Describe the 'GetCustomerOrders' stored procedure
Execute the 'GetCustomerOrders' procedure with parameters: {"CustomerID": 123}

10. 分析查询性能

Analyze the execution plan for: SELECT * FROM Orders WHERE CustomerID = 123
Get optimization recommendations for: SELECT o.*, c.Name FROM Orders o JOIN Customers c ON o.CustomerID = c.CustomerID

🔧 开发

运行测试

# Run all tests
pytest tests/

# Run with coverage
pytest --cov=src tests/

# Run specific test file
pytest tests/test_models.py -v

代码格式化

# Format code
black src/ tests/

# Sort imports
isort src/ tests/

# Type checking
mypy src/

构建包

# Build Python package
python -m build

# Install in development mode
pip install -e .

🐞 故障排除

连接问题

  1. 未找到ODBC驱动程序

- 确保已安装适用于 SQL Server 的 ODBC 驱动程序 17 - 检查配置中的驱动程序名称

  1. 认证失败

- 验证用户名和密码 - 检查 SQL Server 认证模式 - 确保用户拥有适当的权限

  1. 网络问题

- 验证服务器主机名/IP和端口 - 检查防火墙设置 - 测试网络连接

常见错误

  • “SQL Server 未配置”configure_sqlserver 首先
  • “无效的JSON格式”确保数据参数是有效的JSON格式
  • “表未找到”检查表名和架构
  • “权限被拒绝”验证用户是否具有适当的数据库权限
  • “需要确认”添加 confirm=True 用于UPDATE/DELETE操作

性能优化技巧

  • 对于大型结果集,使用 LIMIT/TOP 子句
  • 频繁查询的列的索引
  • 使用参数化查询以提高性能
  • 对于高吞吐量操作,考虑使用连接池
  • 使用执行计划分析来优化慢查询

🔐 安全考量

凭证管理

  • 将敏感凭据存储在环境变量或安全配置文件中
  • 永远不要将密码提交到版本控制系统中
  • 定期更换密码

网络安全

  • 在生产环境中使用加密连接
  • 实施适当的证书验证
  • 遵循数据库用户的最小权限原则
  • 定期更换密码和访问密钥

数据库安全

  • 使用加密连接(encrypt=true)
  • 配置适当的防火墙规则
  • 使用VPN进行远程连接
  • 遵循最小特权原则
  • 使用专用服务帐户
  • 启用 SQL Server 审计日志记录

安全确认

  • 在确认UPDATE/DELETE操作之前,务必审查WHERE子句
  • 首先在非生产数据上进行测试查询
  • 使用事务处理复杂操作
  • 在进行重大更改前备份数据

🤝 贡献

  1. 为仓库创建分支
  2. 创建一个特性分支
  3. 做出你的更改
  4. 为新功能添加测试
  5. 运行测试套件
  6. 提交拉取请求

发展指南

  • 遵循PEP 8风格指南
  • 为所有函数添加类型提示
  • 编写全面的测试
  • 更新新功能的相关文档
  • 使用有意义的提交信息

📄 许可证

这个项目遵循MIT许可证授权——详见 许可证 文件中有详细信息。

🆘 支持

如需支持或有问题:

  • 在GitHub上创建一个议题
  • 联系邮箱:support@javiandev.com
  • 文档: MCP 文档

📈 更新日志

版本1.2.0

  • 增加了全面的安全功能,对UPDATE/DELETE操作设置了确认要求
  • 使用最新字段验证器语法增强的 Pydantic 模型
  • 增加了详细的安全文档和最佳实践指南
  • 增强了错误处理和验证功能
  • 将所有依赖项更新到最新版本
  • 增强文档,附有全面示例

版本1.1.0

  • 增加了视图支持(list_views,describe_view,get_view_data)
  • 增加了对存储过程的支持(列出存储过程、描述存储过程、执行存储过程)
  • 增加了查询执行计划分析(analyze_query_plan)
  • 为所有输入添加了全面的Pydantic验证
  • 为UPDATE/DELETE操作增加了确认要求
  • 增强的错误处理和类型安全性
  • 更新了包含全面示例的文档

版本1.0.0

  • 初始发布
  • 基本的CRUD操作
  • SQL Server 连接性
  • Claude Desktop 集成
  • 配置管理

🔗 相关文档

目录标签

目录标签

数据分析PythonClaude性能优化数据库管理本地部署SQLServerCRUD操作数据库安全

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

15

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP