使用说明
pymssql mcp
用于Microsoft SQL server数据库的MCP(模型上下文协议)服务器。使像Claude这样的人工智能助手能够通过标准化协议与SQL Server进行交互。
特性
- 自然语言查询:用简单的英语问克劳德你的数据
- 架构发现:探索表、视图、列和关系
- CRUD操作:安全地读取、插入、更新和删除行
- 存储过程:使用参数执行存储过程
- 多数据库支持:列出数据库并在数据库之间切换
- 数据导出:将查询结果导出为JSON或CSV文件
- 事务支持:开始、提交和回滚事务
- 知识持久性:Claude记得它从你的数据库中学到了什么
- 安全控制:只读模式、命令阻塞、行限制、模式限制
- 连接监视器:从挂起的连接中自动恢复
- OAuth集成:使用SSO部署为Claude.ai自定义连接器
文档
| 指南 | 说明 |
|---|---|
| 什么是MCP? | 了解MCP和pymssql-MCP |
| 安装 | 完整的安装指南 |
| 快速入门 | 10分钟后开始跑步 |
| 配置 | 所有配置选项 |
| 工具参考 | 详细的工具文档 |
| 使用示例 | 常见使用模式 |
| OAuth设置 | Claude.ai与SSO的集成 |
快速开始
1.安装
pip install pymssql-mcp
2.配置克劳德桌面
编辑您的Claude Desktop配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mssql": {
"command": "pymssql-mcp",
"env": {
"MSSQL_HOST": "your-server.example.com",
"MSSQL_USER": "your-username",
"MSSQL_PASSWORD": "your-password",
"MSSQL_DATABASE": "your-database",
"MSSQL_READ_ONLY": "true"
}
}
}
}
3.重新启动克劳德桌面
退出并重新打开Claude Desktop。您将看到一个锤子图标,表示工具可用。
4.开始聊天
向克劳德询问您的数据库:
“有什么桌子?”
“描述客户表”
“按总金额显示前10个订单”
“我们每个州有多少客户?”
可用工具
连接和数据库
| 工具 | 说明 |
|---|---|
connect |
连接到数据库 |
disconnect |
关闭所有连接 |
list_databases |
列出可用数据库 |
switch_database |
切换数据库上下文 |
查询和架构
| 工具 | 说明 |
|---|---|
execute_query |
运行SELECT查询 |
validate_query |
检查查询是否安全 |
list_tables |
列出表和视图 |
describe_table |
获取列信息 |
CRUD操作
| 工具 | 说明 |
|---|---|
read_rows |
按ID或筛选器读取行 |
insert_row |
插入新行 |
update_row |
更新现有行 |
delete_row |
删除一行 |
存储过程
| 工具 | 说明 |
|---|---|
list_stored_procs |
列出可用程序 |
describe_stored_proc |
获取程序参数 |
call_stored_proc |
执行程序 |
出口和交易
| 工具 | 说明 |
|---|---|
export_to_json |
将结果导出为JSON |
export_to_csv |
将结果导出到CSV |
begin_transaction |
启动交易 |
commit_transaction |
提交更改 |
rollback_transaction |
回滚更改 |
知识持久性
| 工具 | 说明 |
|---|---|
save_knowledge |
保存学习信息 |
get_all_knowledge |
检索所有知识 |
search_knowledge |
搜索已保存的知识 |
配置
必需变量
| 变量 | 描述 |
|---|---|
MSSQL_HOST |
SQL Server主机名 |
MSSQL_USER |
数据库用户名 |
MSSQL_PASSWORD |
数据库密码 |
MSSQL_DATABASE |
数据库名称 |
安全设置
| 变量 | 默认值 | 描述 |
|---|---|---|
MSSQL_READ_ONLY |
false |
阻止所有写入操作 |
MSSQL_MAX_ROWS |
1000 |
每个查询的最大行数 |
MSSQL_BLOCKED_COMMANDS |
DROP,TRUNCATE,... |
要阻止的命令 |
MSSQL_ALLOWED_SCHEMAS |
(all) | 仅限于特定模式 |
MSSQL_BLOCKED_DATABASES |
(无) | 隐藏特定数据库 |
看 配置参考 对于所有选项。
部署模式
本地(默认)
使用Claude Desktop作为本地进程运行:
pymssql-mcp
HTTP/SSE服务器
作为多个用户的共享HTTP服务器运行:
pymssql-mcp --http --host 0.0.0.0 --port 8080
流式HTTP(Claude.ai集成)
为Claude.ai运行OAuth身份验证:
pymssql-mcp --streamable-http --host 0.0.0.0 --port 8080
看 OAuth设置 获取完整的集成说明。
发展
# Clone repository
git clone https://github.com/bpamiri/pymssql-mcp.git
cd pymssql-mcp
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Lint and format
ruff check .
ruff format .
# Type check
mypy src/
安全
pymssql-mcp包括多种安全功能:
- 只读模式:阻止所有写入操作
- 命令阻止:阻止危险的SQL命令(DROP、TRUNCATE等)
- 架构限制:限制对特定架构的访问
- 数据库阻止列表:隐藏敏感数据库
- 行限制:限制查询结果以防止内存问题
- 查询验证:执行前分析查询
- 参数化查询:防止SQL注入
看 安全.md 安全策略和最佳实践。
贡献
欢迎投稿!看 贡献.md 作为指导方针。
许可证
阿帕奇-2.0。看 许可证 了解详情。
