SEP-990:在 MCP OAuth 流程中启用企业 IdP 策略控制
SEP-990:在 MCP OAuth 流程中启用企业 IdP 策略控制
社区译文;来源: MCP 29affa6b
本 SEP 已达到 Final 状态,并作为已接受设计的历史记录保留。
定稿后对协议所做的更改不会反映在此处。权威要求请参阅当前规范
及其变更日志。
| 字段 | 值 |
|---|---|
| SEP | 990 |
| 标题 | 在 MCP OAuth 流程中启用企业 IdP 策略控制 |
| 状态 | Final |
| 类型 | 标准跟踪 |
| 创建日期 | 2025-06-04 |
| 作者 | Aaron Parecki (@aaronpk) |
| 发起人 | 无 |
| PR | #646 |
摘要
本扩展旨在利用现有企业身份基础设施,促进企业环境中 MCP 客户端的安全且可互操作的授权。
- 对最终用户而言,无需再手动将 MCP 客户端连接到组织内的各项服务并逐一授权。
- 对企业管理员而言,可以查看并控制组织内允许使用哪些 MCP 服务器。
如何测试?
我们在此处提供了一个端到端实现,并正与一些合作伙伴共同开发 MCP 实现。
破坏性更改
本设计通过提供企业 IdP 环境下使用的替代方案来增强现有 OAuth 配置规范。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)