MCP安全网关
FastAPI网关,用于通过身份验证、策略执行、批准、速率限制和审计友好的请求日志来管理MCP工具访问。
  
MCP Security Gateway dashboard
概述
团队希望代理在生产中调用MCP工具。缺失的层通常是控制层:
- 允许谁呼叫哪个MCP服务器
- 哪些工具需要批准
- 当请求超出范围或速率限制时会发生什么
- 敏感论点在进入日志之前是如何被编辑的
- 违反策略时如何创建事件
MCP安全网关将缺失的层建模为后端优先服务。
这个项目证明了什么
- 围绕MCP工具访问的策略执行,而不仅仅是模型推理
- 高风险工具和特权范围的确定性护栏
- 风险请求的审批流程
- 带有秘密编辑的审计日志
- Redis就绪状态下的按密钥速率限制
- 对请求、事件和决策的操作员友好可见性
API表面
GET /healthGET /meGET /mcp-serversGET /policiesGET /requestsGET /requests/{request_id}POST /requestsGET /approvalsPOST /approvals/{approval_id}/decisionGET /incidents
快速入门
python -m venv .venv
.venv\Scripts\activate
pip install -e .
pip install pytest httpx
uvicorn mcp_security_gateway.main:app --reload打开:
http://127.0.0.1:8000/docshttp://127.0.0.1:8000/dashboard
演示API密钥
- 网关运营商:
msg-ops-demo - 安全管理员:
msg-security-demo - 平台管理员:
msg-platform-demo
Docker编写演示
docker compose up --build这将开始:
- API开启
http://127.0.0.1:8000 - Redis 是
localhost:6379
示例请求
curl -X POST http://127.0.0.1:8000/requests `
-H "X-API-Key: msg-ops-demo" `
-H "Content-Type: application/json" `
-d "{\"mcp_server_id\":\"mcp_github\",\"tool_name\":\"repo.write_file\",\"requested_scope\":\"repo:write\",\"justification\":\"Apply a generated patch to an internal repository\",\"estimated_tokens\":1400,\"arguments\":{\"path\":\"secrets.txt\",\"api_key\":\"abcd1234secret\"}}"测试
python -m pip install -e .
python -m pytest -q证明资产
您可以立即检查的内容:
- 仪表板验证:
docs/assets/gateway-dashboard.png - 架构说明:
docs/ARCHITECTURE.md - 案例研究:
docs/CASE_STUDY.md - 简短的波兰语采访版本:
docs/README_SHORT_PL.md
已验证路径
- 低风险读取请求->已批准
- 高风险写入请求->已发送审批
- 特权生产操作->被阻止并升级为事件
- 在持久化请求记录之前,敏感参数会被编辑
面试框架
MCP安全网关是用于控制MCP工具访问的后端网关。它对策略执行、批准、事件、速率限制和编辑的审计日志进行建模。目标是展示围绕代理工具访问的控制和安全层,而不仅仅是模型调用。
建筑
- 网关API: main.py
- 策略引擎: 服务.py
- 持久层: 仓库.py
- 架构说明: 建筑.md
- 案例研究: CASE_STUDY.md
- 简短的波兰语采访版本: README_SHORT_PL.md
