SQL Server数据库访问服务

一个通过Claude Desktop安全访问SQL Server数据库的Model Context Protocol (MCP)服务器,支持多种认证方式和高效异步性能。

  • by Nizarel
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Nizarel/mssql_fastmcp_server

使用说明

Microsoft SQL Server MCP服务器

通过Claude Desktop构建的用于安全访问SQL server数据库的模型上下文协议(MCP)服务器 FastMCP 2.9.2 以获得现代异步性能和增强的开发人员体验。

✨ 主要特点

  • 🔍 数据库发现:列出表、架构和数据库
  • 📊 SQL执行:执行具有适当验证和安全性的查询
  • 🔐 多身份验证支持:SQL、Windows和Azure AD身份验证
  • 🏢 平台支持:本地数据库、SQL Server Express和Azure SQL
  • ⚡ 异步性能:基于FastMCP 2.9.2构建,具有异步/等待模式
  • 🛡️ 安全第一:SQL注入预防和查询验证
  • 📝 丰富的资源:可发现的表架构和数据资源
  • 🔌 灵活的配置:基于环境的配置和验证

🚀 工具和资源

工具

  • execute_sql -执行带有验证和日志记录的SQL查询
  • get_table_schema -检索详细的表架构信息
  • list_databases -枚举服务器上的可用数据库

资源

  • mssql://tables -列出所有可用表格
  • mssql://table/{table_name} -获取特定的表数据和模式

快速开始

使用Claude Desktop安装

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "mssql": {
      "command": "uvx",
      "args": ["microsoft_sql_server_mcp"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password"
      }
    }
  }
}

配置

基本SQL身份验证

MSSQL_SERVER=localhost          # Required
MSSQL_DATABASE=your_database    # Required
MSSQL_USER=your_username        # Required for SQL auth
MSSQL_PASSWORD=your_password    # Required for SQL auth

身份验证

MSSQL_SERVER=localhost
MSSQL_DATABASE=your_database
MSSQL_WINDOWS_AUTH=true         # Use Windows credentials

Azure SQL数据库

MSSQL_SERVER=your-server.database.windows.net
MSSQL_DATABASE=your_database
MSSQL_USER=your_username
MSSQL_PASSWORD=your_password
# Encryption is automatic for Azure

可选设置

MSSQL_PORT=1433                 # Custom port (default: 1433)
MSSQL_ENCRYPT=true              # Force encryption

替代安装方法

使用pip

pip install microsoft_sql_server_mcp

然后在 claude_desktop_config.json:

{
  "mcpServers": {
    "mssql": {
      "command": "python",
      "args": ["-m", "mssql_mcp_server"],
      "env": { ... }
    }
  }
}

🔧 开发与测试

运行测试

# Run refactoring validation tests
python test_refactor.py

# Run full test suite
python -m pytest tests/

示例用法

# Copy example environment file
cp .env.example .env

# Edit configuration
nano .env

# Run example usage script
python example_usage.py

🛡️ 安全最佳实践

  • 专用用户:创建具有最小权限的专用SQL用户
  • 无管理员权限:切勿在生产环境中使用admin/sa帐户
  • Windows身份验证:尽可能使用Windows身份验证
  • 加密:为敏感数据连接启用加密
  • 查询验证:所有查询都根据注射模式进行验证
  • 安全日志记录:日志中隐藏了敏感数据

🏗️ 建筑

此服务器由以下组件构建:

  • FastMCP 2.9.2:带有上下文注入的现代异步MCP框架
  • Pydantic V2:配置验证和数据建模
  • 线程池:同步pymssql操作的异步包装器
  • 安全层:SQL注入预防和查询验证
  • 综合录井:具有上下文感知的详细日志记录

📝 许可证

麻省理工学院