Shield MCP

Shield MCP

site icon
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/

许可证

该项目遵循 MIT 开源许可条款。