
Shield MCP

2025.04.05
2
Python安全中间件MCP 工具安全开发效率
Shield MCP 是一个为 Model Context Protocol (MCP) 服务器设计的安全中间件,旨在增强安全性和监控能力,而无需修改官方 SDK。它提供了工具调用的安全保护和监控功能,遵循 MCP 文档中的最佳实践。
View on GitHub
Overview
基本能力
产品定位
Shield MCP 是一个安全中间件,专注于为 MCP 服务器提供增强的安全和监控功能。
核心功能
- 工具访问控制:基于白名单的 MCP 工具访问控制
- 结果净化:可配置的工具输出净化
- 结构化日志:使用 structlog 进行全面的审计日志记录
- 速率限制:使用令牌桶算法进行速率限制
- 错误处理:标准化的错误处理和格式化
- MCP Inspector 兼容:与 MCP Inspector 工具无缝协作
适用场景
- 需要增强 MCP 工具调用安全性的场景
- 需要对 MCP 工具调用进行监控和审计的场景
- 需要限制 MCP 工具调用速率的场景
工具列表
- Decorators (
decorators.py
):提供@secure_tool
装饰器,用于协调所有安全功能 - Audit Logging (
audit.py
):使用 structlog 进行结构化日志记录 - Access Control (
access.py
):工具访问验证 - Sanitizers (
sanitizers.py
):结果净化工具 - Rate Limiting (
rate_limit.py
):令牌桶速率限制
常见问题解答
- 如何定义允许的工具?:通过
allowed_tools
参数定义白名单 - 如何配置速率限制?:使用
RateLimitConfig
配置请求速率和突发大小 - 如何记录工具调用?:使用
ToolAudit
记录工具调用的开始和结束
使用教程
使用依赖
- Python 3.8 或更高版本
- pip(Python 包安装程序)
- virtualenv(推荐用于开发)
安装教程
# 克隆仓库
git clone https://github.com/shieldmcp/shieldmcp.git
cd shieldmcp
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # 或在 Windows 上使用 `venv\Scripts\activate`
# 安装开发依赖
pip install -r requirements.txt
调试方式
# 运行测试
pytest tests/