使用说明
SQL Server MCP
用于SQL server数据库自检的只读MCP(模型上下文协议)服务器。与Claude Desktop一起使用,让Claude探索和查询您的SQL Server数据库。
特性
- 列出数据库、表、视图、存储过程和函数
- 获取对象定义(DDL/源代码)
- 执行只读SELECT查询
- 跨数据库搜索对象
- 按设计只读 -所有变异查询都被阻止
安装
# Clone the repo
git clone https://github.com/millelog/sql-server-mcp.git
cd sql-server-mcp
# Install in a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .
Claude桌面配置
添加到您的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"],
"cwd": "C:\\path\\to\\sql-server-mcp",
"env": {
"MSSQL_HOST": "your-server",
"MSSQL_USER": "your-username",
"MSSQL_PASSWORD": "your-password",
"MSSQL_DATABASE": "master"
}
}
}
}
更新配置后重新启动Claude Desktop。
配置选项
| 变量 | 描述 | 默认值 |
|---|---|---|
MSSQL_HOST |
SQL Server主机名 | localhost |
MSSQL_PORT |
SQL Server端口 | 1433 |
MSSQL_USER |
用户名 | - |
MSSQL_PASSWORD |
密码 | - |
MSSQL_DATABASE |
默认数据库 | master |
MSSQL_CONNECTION_STRING |
完整连接字符串(覆盖上述内容) | - |
MAX_ROWS |
返回的最大行数 | 100 |
QUERY_TIMEOUT |
查询超时(秒) | 30 |
ALLOWED_DATABASES |
逗号分隔的满列表 | - |
BLOCKED_DATABASES |
逗号分隔的块列表 | - |
可用工具
| 工具 | 说明 |
|---|---|
list_databases |
列出所有可访问的数据库 |
list_tables |
列出数据库中的表 |
get_table_definition |
获取创建表DDL |
get_table_columns |
获取列元数据 |
get_table_indexes |
获取索引信息 |
get_table_relationships |
获取外键关系 |
list_views |
列出数据库中的视图 |
get_view_definition |
获取创建视图DDL |
list_procedures |
列出存储过程 |
get_procedure_definition |
获取创建过程DDL |
get_procedure_parameters |
获取程序参数 |
list_functions |
列出用户定义的函数 |
get_function_definition |
获取创建函数DDL |
execute_query |
运行只读SELECT查询 |
get_sample_data |
从表中获取示例行 |
search_objects |
按名称搜索对象 |
search_definitions |
在对象定义内搜索 |
get_schema_overview |
获取数据库架构摘要(对象计数、大小) |
发展
# Run tests
pytest tests/ -v
# Run with coverage
pytest tests/ --cov=src/sql_server_mcp
许可证
麻省理工学院
