🤖

最近のMCPの仕様拡張(2025年9月)

に公開

MCPの仕様拡張について調べました。個人的に2つ気になったものがあったので記事に残しておこうと思います。

① Enhance authorization server discovery with support for OpenID Connect Discovery 1.0. (PR #797)

この変更は、「MCP Authorization」の仕様を拡張するものになります。

2025-06-18 版の「MCP Authorization」の仕様では、未認可の MCP Client が Authorization Server にアクセスすると Authorization Server が
WWW-Authenticate ヘッダーを返し ​Server Metadata Discovery のフローが開始され、 MCP Client が /.well-known/oauth-authorization-server にアクセスする流れでした。

これに対し仕様が追加され、 /.well-known/oauth-authorization-server へのリクエストに失敗したら /.well-known/openid-configuration を試行する仕様が増えています。これにより「MCP Authorization」が OIDC をサポートすることになるようです。

これはすでに draft版のMCPの仕様 に反映されているようです。

https://github.com/modelcontextprotocol/modelcontextprotocol/pull/797

② SEP-1036: URL Mode Elicitation for secure out-of-band interactions (PR #887)

このPRは、MCPの機能である「Elicitation」に「URL Mode」を追加しようというものです。

この「URL Mode」というものを使うと、MCPクライアントによりブラウザを自動で開くことができます。そして必要に応じて、ユーザーはブラウザ上で何らかの情報を入力することもできるようになるため、使い方によってはブラウザ上で認証認可も可能となり、「MCP Authorization」とは別に認証認可を行えるようにもなる、ということのようです。

個人的にはこの仕様拡張により認証認可に与える影響がとても大きいと感じていて、特に次のメリットを感じています。

  • 認可サーバーからMCPサーバーにアクセストークンを渡すことが可能になるため、認証認可においてMCPクライアントが介在することがほぼなくなり、MCPクライアントがアクセストークンを管理する必要がなくなる
  • 「Elicitation」という仕組みを使うので、認証認可が必要になるまでは普通にMCPを利用可能である
  • 「MCP Authorization」の問題として話題にあがりがちだった、「DCR(Dynamic Client Registration)」が不要になる

これは仕様変更の提案自体は受け入れられていますが、まだ仕様には反映されていません。

https://github.com/modelcontextprotocol/modelcontextprotocol/pull/887

MCPの仕様拡張を調べるには

MCP の仕様に関する提案は「SEP」(Specification Enhancement Proposal) と呼ばれ、GitHub Issue で提出されます。

↓SEPの提出状況、受け入れられたかどうかなどはこちらで一覧できます。
https://github.com/orgs/modelcontextprotocol/projects/12

↓PRはこちらで管理されているようです。
https://github.com/orgs/modelcontextprotocol/projects/2

↓SEPについて詳しくはこちらのページで解説されています。
https://github.com/orgs/modelcontextprotocol/projects/12

↓またこちらのchangelogでは実際に仕様に反映されたものを確認できるようです。
https://modelcontextprotocol.io/specification/draft/changelog

最後に

以上、2025年9月時点で個人的に気になった変更をまとめてみました。

もし間違っているところがあればご指摘いただけるとうれしいです。

Discussion