使用说明
MCP SQL Server
用于双SQL server 2019实例的远程FastMCP服务器,具有强大的只读控制、速率限制和诊断功能。
此存储库提供什么
- FastMCP+FastAPI服务通过HTTP在/mcp上公开SQL工具
- 双实例SQL Server 2019支持(主要和次要)
- 具有denylist(13种模式:DDL、DML、DCL、系统过程)和allowlist配置的只读SQL策略控件
- Redis或具有每个参与者和全局限制的本地速率限制
- 面向安全的输出处理(敏感字段编辑)
- 运行时姿态和工具使用的诊断端点
- Docker运行时和为本地和远程操作编写文件
重要文件
- 刀具目录 -公开工具和合同的规范列表。
- 访问级别和受控写入 -授权模型和写护栏。
- 运行时策略配置指南 -权威策略工作流、YAML角色和安全更新步骤。
- 使用Docker运行 -本地和远程Docker运行时指令。
- Azure容器应用部署 -Azure部署流程和操作指南。
- 云部署策略分析 -此MCP服务器的Azure、AWS和Rancher托管策略的跨云比较。
- 部署检查表 -部署前和部署后验证步骤。
- 安全维护手册 -每周/每月/每季度的安保行动。
- 扩展策略手册 -缩放和负载验证操作。
- 连接和诊断规范 -发现和诊断行为参考。
- 安全策略 -报告和强化政策。
- 贡献指南 -分支机构、PR和测试期望。
仓库结构
- src:服务运行时、工具注册、中间件、诊断
- config:实例配置、策略和速率限制设置
- 策略:SQL允许列表和拒绝列表定义
- docker:Dockerfile和组合文件
- 测试:单元测试
- 测试:集成和操作测试工具
- docs:工具目录、Runbook和运行说明
- docs/runbooks/scaling-strategy.md:用于扩展和负载验证操作的runbook
- docs/runbooks/security-maintance.md:用于安全状态检查和维护的runbook
- docs/access-levels-and-controlled-write.md:访问模型和受控写入实施参考
快速入门(本地)
- 创建并激活Python 3.11+虚拟环境。
- 安装依赖项:
Windows(PowerShell):
pip install -e .[dev]
Linux/macOS:
pip install -e '.[dev]'
- 复制环境和配置模板:
Windows(PowerShell):
Copy-Item .env.example .env
Linux/macOS:
cp .env.example .env
- 在中配置实例
config/instances.yaml(此存储库已包含它;否instances.yaml.example文件已提供)。为了与.env.example->.env在上面的模式中,使用现有文件作为本地运行时文件,并使用config/instances.runtime.example.yaml作为格式/密钥参考。 - 运行服务:
python -m src.server
- 验证端点:
- http://localhost:8080/
- http://localhost:8080/diagnostics/health
- http://localhost:8080/diagnostics/security
- http://localhost:8080/diagnostics/pool
主要推出验证检查:
/diagnostics/health:确认服务和实例连接。/diagnostics/security:确认身份验证模式、所需范围计数、组授权状态和已注册的工具清单。/diagnostics/pool:确认每个实例的SQL池大小和重用计数器。
Docker运行时
使用docs/run-mcp-server-with-docker.md中记录的运行时编写流。
受控写入策略从config/runtime-policy.yaml强制执行。文件policy/sql-allowlist.yaml是一个审查/引用镜像,不会作为运行时策略源加载。
docker compose -f docker/docker-compose.runtime.yml up -d
操作手册
测试
运行单元测试:
pytest -q
当前验证快照:
- 完整测试套件:
196 passed - 看 docs/release-notes-v1.4.0.md 了解最新版本的详细信息。
安全说明
- 不要泄露真正的秘密。
- 仅保留.env本地。
- 首选权限最低的SQL凭据。
- 有关报告和强化指南,请参阅SECURITY.md。
贡献
有关分支、PR和测试期望,请参阅CONTRIBUTING.md。
发布和CI
- CI在pull请求上运行,并推送到master/main。
- v*后面有发布标签(例如:v1.2)。
- 最新发行说明: docs/release-notes-v1.4.0.md
面向CMMI的平台集成
该存储库包括与CMMI实现模式一致的GitHub本地过程控制:
- 需求管理:需求发布模板和PR可追溯性部分
- 配置管理:分支保护、代码所有者、签名提交和受保护的发布标签
- 验证和确认:CI检查、PR门和可追溯性检查工作流程
- 测量和分析:计划可追溯性矩阵生成
- 审计跟踪:GitHub中保留的问题/PR历史、提交历史和工作流日志
人工产品:
- .github/ISSUE_TEMPLATE/requirement.yml
- .github/workflows/traceability-check.yml
- .github/workflows/traceability-matrix.yml
- 文档/可追溯性矩阵.md
许可证
根据MIT许可证获得许可。看 许可证.