数据库协议服务器

一个用于SQL Server Management Studio集成的Python MCP服务器,提供增强的数据库访问能力。

  • by UDAY-CHAITANYA-G
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 UDAY-CHAITANYA-G/SSMS-MCP

使用说明

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-server

2.安装依赖项

pip install -r requirements.txt

3.配置环境

cp env.example .env
# Edit .env with your database credentials

4.运行服务器

python src/main.py

WSFC MCP–设置和使用(快速)

设置

  1. 首选 mcp-server
    cd mcp-server
    
  2. 在中配置数据库 .env (如果用户/密码为空,则进行Windows身份验证):
    master_db_server=localhost
    master_db_name=MasterDB
    data_mgmt_db_server=localhost
    data_mgmt_db_name=DataManagementDB
    
  3. 确保已安装用于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注入

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 通过测试实现您的更改
  4. 提交拉取请求

许可证

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

支持

对于问题和疑问:

  • 在存储库中创建问题
  • 查看Python README中的故障排除部分
  • 查看日志以了解错误详细信息