基本能力
产品定位
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(推荐用于开发)
安装教程
```bash
克隆仓库
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
```
调试方式
```bash
运行测试
pytest tests/
```