原文(日本語に翻訳)
リフレッシュトークンが存在する場合にMCPのステップアップ認証が失敗する問題を修正しました。403 insufficient_scope でより高いスコープを要求するサーバーが、再認証フローを正しくトリガーするようになります。
原文(英語)
Fixed MCP step-up authorization failing when a refresh token exists — servers requesting elevated scopes via 403 insufficient_scope now correctly trigger the re-authorization flow
概要
MCPサーバーが 403 insufficient_scope エラーを返して追加のOAuthスコープ(権限)を要求した場合、既存のリフレッシュトークンがある状態では再認証フローが正しく起動せず、操作が失敗するバグがありました。この修正により、リフレッシュトークンが存在していても、より高いスコープが必要な場合には適切に再認証フローがトリガーされます。
基本的な使い方
MCPサーバーへのアクセス中に追加権限が必要になった場合、自動的に再認証ダイアログが表示されます:
MCPサーバーがより高い権限を要求しています。
再認証してください。
[ブラウザで認証する]ユーザーはブラウザで認証を完了すると、より高いスコープで操作を続行できます。
実践例
ユースケース: GitHubのMCPサーバーでプライベートリポジトリにアクセスする
初回はパブリックリポジトリのみのスコープで認証し、プライベートリポジトリにアクセスしようとした際にステップアップ認証が発生するシナリオ:
- Claude Codeが
github-mcpに接続(パブリックリポジトリのスコープで認証済み) - プライベートリポジトリへのアクセスを試みる
- GitHubのMCPサーバーが
403 insufficient_scopeを返す - Claude Codeが再認証ダイアログを表示
- ユーザーがブラウザで追加スコープを承認
- プライベートリポジトリへのアクセスが成功
修正前はステップ4が正しく機能せず、リフレッシュトークンによる再試行が失敗していました。
注意点
- この修正はOAuthを使用するMCPサーバーに適用されます
- ステップアップ認証はセキュリティ上重要な機能で、必要な権限のみを都度要求します
- リフレッシュトークンのキャッシュが関係するため、再認証が必要な場合はブラウザ操作が求められます