Skip to main content
ext-auth repository 包含官方 MCP 扩展,用于在核心 MCP 规范之外增加授权能力。这些扩展解决了一些真实场景:在这些场景中,标准 OAuth 2.0 authorization code flow 并不合适。

modelcontextprotocol/ext-auth

MCP 授权扩展的源码、规范和参考实现。

为什么需要授权扩展?

核心 MCP 规范包含一个基于 OAuth 2.0 的健壮授权框架。该框架很好地处理了常见场景:用户通过交互方式授权 MCP client 代表自己访问 server。 但并非每个 MCP 部署都适合这种模式:
  • 机器到机器集成没有人在环。后台服务、CI pipelines 和自动化工作流需要在没有交互式用户同意流程的情况下完成认证。
  • 企业环境通常有集中式身份提供商(IdPs),用于跨所有应用执行策略。要求员工单独授权每个 MCP server 会造成摩擦,也会绕过现有安全控制。
ext-auth 扩展用于弥补这些空白。

可用扩展

OAuth Client Credentials

使用 OAuth 2.0 client credentials flow 进行机器到机器认证。不需要用户交互。

Enterprise-Managed Authorization

通过企业身份提供商实现集中访问控制。员工通过组织的 IdP 访问 MCP servers。

选择合适的扩展

场景推荐扩展
后台服务或 daemon 访问 MCP serverOAuth Client Credentials
CI/CD pipeline 调用 MCP toolsOAuth Client Credentials
Server-to-server API 集成OAuth Client Credentials
企业员工在工作中访问 MCP serversEnterprise-Managed Authorization
组织范围 MCP 访问策略执行Enterprise-Managed Authorization
标准交互式用户授权核心 MCP 规范(不需要扩展)

客户端支持

授权扩展支持情况因 client 而异。完整说明见客户端矩阵。这两个扩展都需要 MCP client 显式支持,默认永远不会启用。

规范

这两个扩展都在 ext-auth repository 中定义。它们使用标准 MCP 扩展协商机制:clients 和 servers 会在初始化期间,在各自 capabilities 的 extensions 字段中声明支持。