使用说明
SQL Server MCP服务器
一种模型上下文协议(MCP)服务器,为AI助手提供SQL server数据库访问功能。
特性
- 执行具有自动安全限制的SQL查询
- 数据库模式检查和探索
- 表统计和性能监控
- 表和列的高级搜索功能
- 表备份功能
- 数据插入与冲突处理
- 查询执行计划分析
- 连接健康监测
快速开始
1.设置环境
# Navigate to project directory
cd C:\Users\benha\Desktop\sql-server-mcp
# Create virtual environment
python -m venv venv
venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
2.配置数据库连接
编辑 .env 包含SQL Server凭据的文件:
SQL_SERVER_HOST=192.168.1.117
SQL_SERVER_DATABASE=EM_Data
SQL_SERVER_USERNAME=benhg
SQL_SERVER_PASSWORD=your_actual_password
SQL_SERVER_PORT=1433
3.测试服务器
python -m sql_server_mcp.server
与AI工具集成
克劳德桌面
添加到您的Claude Desktop配置文件中:
位置:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
配置:
{
"mcpServers": {
"sql-server": {
"command": "python",
"args": ["-m", "sql_server_mcp.server"],
"cwd": "C:\\Users\\benha\\Desktop\\sql-server-mcp",
"env": {
"SQL_SERVER_HOST": "192.168.1.117",
"SQL_SERVER_DATABASE": "EM_Data",
"SQL_SERVER_USERNAME": "benhg",
"SQL_SERVER_PASSWORD": "your_password_here",
"SQL_SERVER_PORT": "1433"
}
}
}
}
VS代码
- 安装“模型上下文协议”扩展
- 添加到VS代码设置.json:
{
"mcp.servers": {
"sql-server": {
"command": "python",
"args": ["-m", "sql_server_mcp.server"],
"cwd": "C:\\Users\\benha\\Desktop\\sql-server-mcp"
}
}
}
光标
添加到光标MCP配置:
{
"mcp": {
"servers": {
"sql-server": {
"command": "python",
"args": ["-m", "sql_server_mcp.server"],
"cwd": "C:\\Users\\benha\\Desktop\\sql-server-mcp"
}
}
}
}
可用工具
- execute_query -运行具有安全限制的SQL查询
- get_schema -检查数据库结构
- get_table_info -带样本的详细表格信息
- 解释查询 -查询执行计划
- check_connection -数据库连接状态
- get_table_stats -表大小和性能指标
- search_tables -按名称查找表和列
- 备份表 -创建表备份
- insert_data -插入具有冲突处理功能的数据
使用示例
一旦与Claude集成,您可以问:
- “显示SeriesRecord表的架构”
- “执行:从源='NBP'的系列记录中选择前10个*”
- “我的数据库中有哪些表?”
- “创建我的SeriesRecord表的备份”
- “搜索包含'GDP'的任何表”
- “显示我所有表的统计信息”
安全功能
- 自动查询限制(默认为TOP 1000)
- 参数化查询支持
- 基于环境的配置
- 连接池和健康检查
- 全面的错误处理
发展
运行测试
pip install pytest pytest-asyncio
pytest tests/
项目结构
sql-server-mcp/
├── sql_server_mcp/
│ ├── __init__.py
│ └── server.py
├── tests/
│ ├── __init__.py
│ └── test_server.py
├── requirements.txt
├── pyproject.toml
├── .env
└── README.md
故障排除
常见问题
- 未找到ODBC驱动程序:安装SQL Server的Microsoft ODBC驱动程序17
- 连接失败:验证服务器地址、凭据和网络连接
- 权限不足:确保数据库用户具有适当的权限
测试连接
# Test ODBC drivers
import pyodbc
print(pyodbc.drivers())
# Test basic connection
from sqlalchemy import create_engine, text
engine = create_engine('mssql+pyodbc://user@server:port/database?driver=ODBC+Driver+17+for+SQL+Server')
with engine.connect() as conn:
result = conn.execute(text('SELECT 1'))
print('Connection successful!')
许可证
MIT许可证-有关详细信息,请参阅许可证文件。