原文(日本語に翻訳)
MCP OAuthを改善:検出とトークンリクエストが一時的なネットワークエラー後に一度リトライするようになり、ヘッドレス環境ではブラウザポップアップをスキップして直接「URLを貼り付け」プロンプトに進むようになりました
原文(英語)
Improved MCP OAuth: discovery and token requests now retry once after transient network errors, and headless environments skip the browser popup and go straight to the paste-the-URL prompt
概要
MCP(Model Context Protocol)のOAuth認証フローが2つの点で改善されました。①一時的なネットワークエラー時に自動リトライするようになり認証の信頼性が向上、②ブラウザを起動できないヘッドレス環境(CI/CD、SSH接続など)ではブラウザポップアップを省略してURL貼り付けプロンプトに直接進むようになりました。
基本的な使い方
OAuth認証が必要なMCPサーバーへの接続時、ヘッドレス環境では:
bash
# ヘッドレス環境(SSH、CI/CDなど)でのMCP OAuth認証
claude
# ブラウザが開けない場合に表示されるプロンプト(改善後)
# 以前: ブラウザポップアップ → 失敗 → エラー
# 改善後: 直接 URL プロンプトが表示される
> 以下のURLを開いてコードを取得し、貼り付けてください:
> https://auth.example.com/oauth/authorize?...
>
> コードを入力: [ここに貼り付け]実践例
SSH経由でのリモート開発環境
bash
# リモートサーバーにSSH接続した状態でClaudeを使用
ssh user@remote-server
claude
# OAuthが必要なMCPサーバーに接続する場合
# → ブラウザを開こうとせず、URL貼り付けプロンプトが直接表示される
# → ローカルマシンのブラウザでURLを開いて認証し、コードをコピー・貼り付けCI/CD パイプライン内での使用
yaml
# GitHub Actions などのCI環境
steps:
- name: Run Claude Code
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
# ヘッドレス環境でも MCP OAuth フローが正しく機能する
claude --headless "タスクを実行"ネットワーク一時エラーからの自動リカバリ
# OAuth検出またはトークンリクエスト中に一時エラーが発生
エラー: 接続タイムアウト
# 自動的に1回リトライ
リトライ中...
# 成功
認証完了 ✓注意点
- ヘッドレス環境の検出は自動的に行われます。明示的に指定する必要はありません(
$DISPLAYや$BROWSERの有無などで判定されます)。 - OAuthリトライは1回のみです。2回連続してネットワークエラーが発生した場合はエラーとして報告されます。
- URL貼り付けフローでは、認証URLをコピーしてローカルブラウザで開き、取得したコードをターミナルに貼り付ける必要があります。
- OAuth対応のMCPサーバーを使用していない場合、この変更の影響はありません。
関連情報
- Claude Code ドキュメント - MCP
- Model Context Protocol - 認証
- 関連改善: MCPサーバーのケイパビリティ検出リトライ(同バージョン)