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 credentialsAzure 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注入预防和查询验证
- 综合录井:具有上下文感知的详细日志记录
📝 许可证
麻省理工学院
