WSFC MCP服务器
用于SQL server Management Studio集成的全面模型上下文协议(MCP)服务器,通过Python提供增强的数据库访问功能。
概述
此存储库包含一个基于Python的MCP服务器,它取代了之前的TypeScript实现,提供了增强的功能,并与SQL server数据库更好地集成。
特性
🔧 核心能力
- 双数据库支持:主数据库和数据管理数据库
- 使用用户名和密码:安全的用户名/密码身份验证
- 连接池:使用pyodbc进行高效连接管理
- 参数化查询:通过参数化执行防止SQL注入
- 全面的图式反思:表、视图、存储过程、触发器、索引和关系
🛠️ MCP工具
- 查询执行:安全的SELECT、INSERT、UPDATE、DELETE操作
- CRUD操作:插入、更新和删除带有验证的数据
- 模式分析:详细的数据库模式信息和关系
- 存储过程执行:使用输入/输出参数执行程序
- 高级分析:表统计信息、行数和性能指标
📊 MCP资源
- 表格:完整的表元数据、架构和示例数据
- 存储过程:过程定义、参数和元数据
- 触发器:触发器定义和执行上下文
- 视图:查看定义和依赖关系
项目结构
SSMS-MCP/
├── mcp-server/ # MCP Server Implementation
│ ├── main.py # Main entry point
│ ├── mcp_config.json # MCP client configuration
│ ├── server/ # Core server implementation
│ │ ├── ssms_mcp_server.py # Main MCP server class
│ │ ├── database/ # Database connection layer
│ │ ├── tools/ # MCP tools implementation
│ │ └── resources/ # MCP resources implementation
│ ├── config/ # Configuration management
│ │ ├── database_config.py
│ │ └── env.example
│ ├── docs/ # Documentation
│ │ ├── README.md
│ │ └── ARCHITECTURE_AND_STRUCTURE.md
│ ├── requirements.txt # Python dependencies
│ └── pyproject.toml # Project metadata
└── README.md # This file快速开始
1.导航到MCP服务器
cd mcp-server2.安装依赖项
pip install -r requirements.txt3.配置环境
cp env.example .env
# Edit .env with your database credentials4.运行服务器
python src/main.pyWSFC MCP–设置和使用(快速)
设置
- 首选
mcp-server
cd mcp-server- 在中配置数据库
.env(如果用户/密码为空,则进行Windows身份验证):
master_db_server=localhost
master_db_name=MasterDB
data_mgmt_db_server=localhost
data_mgmt_db_name=DataManagementDB- 确保已安装用于SQL Server的Microsoft ODBC驱动程序17。
启动/重新启动
- 在光标中:设置→ MCP服务器→ 启用/切换
user-ssms-mcp. - 手动(调试):
cd "mcp-server"
python -u main.py使用
- 请您的代理人:
- “在DataManagement中列出存储过程” - “显示App.问卷的架构” - “使用参数运行App.GetQuestionnaire…”
故障排除
- 无工具/资源→ 重新启动MCP服务器。
- 触发器列表错误→ 确保最新代码(使用
OBJECT_SCHEMA_NAME).
完整指南
请参阅合并文件: mcp-server/docs/README.md.
从TypeScript迁移
此Python实现用以下改进替换了以前的TypeScript版本:
- 增强的安全性:更好的SQL注入预防和输入验证
- 存储过程支持:使用输入/输出参数完全执行
- 高级模式分析:全面的数据库自检
- 更好的错误处理:详细的错误消息和日志记录
- 性能优化:连接池和查询优化
- 事务支持:多对账单交易执行
需求
- Python 3.8+
- 用于SQL Server的Microsoft ODBC驱动程序17
- 数据库访问:主数据库和数据管理数据库的有效凭据
安全
- 所有查询都使用参数化执行(无字符串插值)
- 查询类型验证(白名单方法)
- 仅环境变量中的连接凭据
- 通过pyodbc参数化防止SQL注入
贡献
- 分叉存储库
- 创建要素分支
- 通过测试实现您的更改
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
支持
对于问题和疑问:
- 在存储库中创建问题
- 查看Python README中的故障排除部分
- 查看日志以了解错误详细信息
