定义
在生产环境中部署 MCP(Model Context Protocol)服务器时所需的安全实践和架构模式,超越适合本地开发的宽松默认设置。
深入了解
MCP 生产安全解决的是本地开发 MCP 服务器(通常在 localhost 上运行且无认证)与服务多个代理和用户并有真实数据访问的生产部署之间的差距。默认的 MCP 设置假定受信任的本地环境,开发者既是运营者也是唯一用户。生产部署面临不同的威胁:不受信任的网络访问、多租户数据隔离、工具滥用和通过精心构造的工具输入进行的注入攻击。核心安全层包括:传输安全(所有 MCP 连接使用 TLS,服务器间使用双向 TLS)、认证(每个连接客户端使用 API 密钥、OAuth2 或 JWT token)、授权(按工具的权限矩阵定义哪些客户端可以用什么参数调用哪些工具)、输入验证(对所有工具参数进行注入攻击清理,特别是执行查询或访问数据库的工具)、速率限制(按客户端请求节流以防止滥用和成本超支)、审计日志(记录每次工具调用的客户端身份、参数和响应元数据以满足合规和调试需求)和网络隔离(在仅通过 API 网关可访问的私有子网中部署 MCP 服务器)。对于封装 Scavio 等 API 的 MCP 服务器,额外的考虑包括:凭证管理(将 API 密钥存储在密钥管理器中而非服务器配置中)、响应过滤(在传递给代理之前从 API 响应中移除敏感数据)和成本控制(每个客户端的硬性支出限制以防止失控的代理循环耗尽积分)。企业部署通常在 MCP 服务器外包裹一个网关层,将认证和授权与工具逻辑分开处理,使相同的安全策略适用于组织中所有 MCP 服务器。
用法示例
生产环境 MCP 服务器要求所有连接的 JWT 认证、验证每个工具调用的参数匹配预期 schema、将每次调用记录到审计追踪、并强制每个客户端每分钟 100 请求的速率限制。
平台
MCP 生产安全在以下平台中相关,所有这些平台都可通过Scavio的统一API访问:
- Amazon
- YouTube
- TikTok
- Walmart