SEP-990:在 MCP OAuth 流程中启用企业 IdP 策略控制

SEP-990:在 MCP OAuth 流程中启用企业 IdP 策略控制

社区译文;来源: MCP 29affa6b

本 SEP 已达到 Final 状态,并作为已接受设计的历史记录保留。 定稿后对协议所做的更改不会反映在此处。权威要求请参阅当前规范 及其变更日志。
字段值
SEP990
标题在 MCP OAuth 流程中启用企业 IdP 策略控制
状态Final
类型标准跟踪
创建日期2025-06-04
作者Aaron Parecki (@aaronpk)
发起人无
PR#646

摘要

本扩展旨在利用现有企业身份基础设施,促进企业环境中 MCP 客户端的安全且可互操作的授权。

  • 对最终用户而言,无需再手动将 MCP 客户端连接到组织内的各项服务并逐一授权。
  • 对企业管理员而言,可以查看并控制组织内允许使用哪些 MCP 服务器。

如何测试?

我们在此处提供了一个端到端实现,并正与一些合作伙伴共同开发 MCP 实现。

破坏性更改

本设计通过提供企业 IdP 环境下使用的替代方案来增强现有 OAuth 配置规范。MCP 客户端可在需要时选择启用此配置规范。

其他背景

有关此问题的更多背景,请参阅我的博客文章:

面向企业的 MCP

我还在 5 月举行的 MCP Dev Summit 上介绍过这一方案。

以下是该流程的高层概览:

  sequenceDiagram
    participant UA as 浏览器
    participant C as MCP 客户端
    participant MAS as MCP 授权服务器
    participant MRS as MCP 资源服务器
    participant IdP as 身份提供商

    rect rgb(255,255,225)
    C-->>UA: 重定向到 IdP
    UA->>+IdP: 重定向到 IdP
    Note over IdP: 用户登录
    IdP-->>-UA: IdP 授权码
    UA->>C: IdP 授权码
    C->>+IdP: 携带 IdP 授权码的 token 请求
    IdP-->-C: ID Token
    end

    note over C: 用户已登录<br>到 MCP 客户端。<br>客户端存储 ID Token。

    C->+IdP: 用 ID Token 换取 ID-JAG
    note over IdP: 评估策略
    IdP-->-C: 返回 ID-JAG
    C->+MAS: 携带 ID-JAG 的 token 请求
    note over MAS: 验证 ID-JAG
    MAS-->-C: MCP Access Token

    loop
    C->>+MRS: 使用 Access Token 调用 MCP API
    MRS-->>-C: 返回数据的 MCP 响应
    end

Important

状态: 待审查(Ready to Review)