使用说明
MCP SQL Server集成
项目概述
此模型上下文协议(MCP)为Claude Desktop提供了一个安全的只读SQL Server集成,实现了高级数据库查询和探索功能。MCP充当Claude的自然语言界面和SQL Server数据库之间的桥梁,允许智能、上下文感知的数据库交互。
特性
MCP为数据库交互提供了以下关键工具:
execute_query:对数据库运行只读SQL查询list_tables:检索数据库中可用表的列表describe_table:获取特定表的详细架构信息get_connection_info:检索高级连接元数据
技术栈
- 语言:Python 3.9+
- 关键库:
- MCP-SDK
- pyodbc
- 媒染剂
- 数据库驱动:SQL Server的ODBC驱动程序18
- 支持的SQL Server版本:SQL Server 2022
安装
先决条件
- Python 3.9或更高版本
- SQL Server的ODBC驱动程序18
- 推荐虚拟环境
设置步骤
-
克隆存储库:
git clone <repository-url> cd mcp_mssql -
创建虚拟环境:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
安装依赖项:
pip install .
配置
环境变量
创建一个 .env 项目根目录中的文件具有以下配置:
MSSQL_CONNECTION_STRING="Driver={ODBC Driver 18 for SQL Server};Server=your_server\instance;Database=your_database;UID=username;PWD=password;Encrypt=yes;TrustServerCertificate=yes;Application Intent=ReadOnly;"
Windows身份验证示例:
MSSQL_CONNECTION_STRING="Driver={ODBC Driver 18 for SQL Server};Server=your_server\instance;Database=your_database;Trusted_Connection=yes;Encrypt=yes;TrustServerCertificate=yes;Application Intent=ReadOnly;"
连接字符串选项
- 使用Windows身份验证(Trusted_Connection)
- 如果需要,请指定特定凭据
- 确保最小只读权限
Claude桌面集成
设置配置
-
创建或编辑您的Claude Desktop配置文件:
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- 视窗:
-
添加MCP服务器配置:
{ "mcpServers": { "mcp-mssql": { "command": "python", "args": ["-m", "mcp_mssql.server"], "cwd": "/path/to/your/mcp_mssql", "env": { "PYTHONPATH": "/path/to/your/mcp_mssql/src", "MSSQL_CONNECTION_STRING": "your_connection_string_here" } } } } -
重新启动克劳德桌面
-
开始使用自然语言进行查询
使用示例
查询表格
- “列出数据库中的所有表”
- “显示客户表的架构”
- “从销售表中检索前10行”
支持的数据库模式
dbo:默认架构fact:用于分析查询的事实表err:错误和审核日志记录meta:元数据和系统信息dim:用于报告的尺寸数据
(这些是我特定案例中的一些示例,包含在server.py中的模式示例中,以防需要更改)
安全考虑
- 只读访问:严格防止写入操作
- 连接安全性:
- 使用最小权限数据库帐户
- 加密连接字符串
- 无直接数据修改功能
局限性
- 只读访问
- 无法修改数据库架构
- 不支持存储过程执行
- 仅限于SELECT查询
- 最大结果集大小可能受到限制
禁止
严禁操作:
- INSERT、UPDATE、DELETE语句
- 数据定义语言(DDL)命令
- 执行存储过程
- 访问系统或敏感表
- 运行复杂或资源密集型查询
故障排除
常见问题
-
连接失败
- 验证连接字符串
- 检查网络连接
- 确保已安装ODBC驱动程序
-
查询限制
- 简化复杂的查询
- 分解大型结果集请求
- 避免跨数据库连接
-
权限问题
- 确认只读访问
- 验证数据库用户权限
日志记录
在配置中启用详细日志记录以进行详细诊断。
贡献
开发设置
- 分叉存储库
- 创建虚拟环境
- 安装开发依赖项:
pip install -e .[dev]
运行测试
# Run validation tests
python validate_mcp_for_claude.py
代码的风格
- 遵循PEP 8指南
- 使用类型提示
- 编写全面的文档字符串
版本
当前版本:0.1.0
支持
对于问题或功能请求,请在项目存储库中提交问题。