Skip to content

原文(日本語に翻訳)

MCP OAuth認証をステップアップ認証のサポートとディスカバリーキャッシュで改善し、サーバー接続中の不要なネットワークリクエストを削減しました。

原文(英語)

Improved MCP OAuth authentication with step-up auth support and discovery caching, reducing redundant network requests during server connections

概要

MCPサーバーへのOAuth認証フローが強化されました。ステップアップ認証のサポートにより、最初は基本的な認証で接続し、必要に応じてより高い権限を要求する段階的な認証フローが可能になりました。また、ディスカバリー情報がキャッシュされるようになり、サーバー接続のたびに繰り返していた認証情報の取得が不要になり、接続速度が向上します。

基本的な使い方

MCP OAuth認証の設定は従来通りです。改善は自動的に適用されます。

json
// .claude/settings.json または ~/.claude/settings.json
{
  "mcpServers": {
    "my-oauth-server": {
      "command": "npx",
      "args": ["my-mcp-server"],
      "env": {},
      "oauth": {
        "clientId": "your-client-id",
        "authorizationUrl": "https://auth.example.com/oauth/authorize",
        "tokenUrl": "https://auth.example.com/oauth/token"
      }
    }
  }
}

特別な設定変更は不要です。Claude Codeを起動すると、改善された認証フローが自動的に使用されます。

実践例

ユースケース1: 段階的な権限昇格が必要なMCPサーバー

基本的なデータ読み取り権限から始まり、書き込み操作時に追加認証を要求するサーバーの場合。

bash
# MCPサーバーに接続(基本権限で開始)
claude

# 読み取り操作は通常通り実行
> @my-database-server データベースのスキーマを確認して

# 書き込み操作ではステップアップ認証が発動
> @my-database-server テーブルに新しいレコードを追加して
# → より高い権限が必要なため、追加認証を求めるプロンプトが表示
# → 認証後、書き込み操作が実行される

ユースケース2: 複数のMCPサーバーへの高速接続

ディスカバリーキャッシュにより、再接続が高速化される場合。

bash
# 最初の接続(ディスカバリー情報を取得してキャッシュ)
claude
# → MCPサーバーの機能情報を取得(ネットワークリクエストが発生)
# → キャッシュに保存

# 次の接続(キャッシュを使用)
claude
# → キャッシュからディスカバリー情報を読み込む
# → ネットワークリクエストが不要(起動が高速化)

ユースケース3: 認証を要求するHTTP/SSE MCPサーバー

認証失敗をキャッシュして不必要な再接続を防ぐ場合(関連改善)。

json
// 認証が必要なHTTP MCPサーバーの設定
{
  "mcpServers": {
    "http-api-server": {
      "url": "https://api.example.com/mcp",
      "headers": {
        "Authorization": "Bearer ${MCP_API_TOKEN}"
      }
    }
  }
}
bash
# 認証トークンなしで起動した場合
claude
# → 認証失敗を検出してキャッシュ
# → 同じセッション内での再接続試行をスキップ(起動が高速化)

注意点

  • ステップアップ認証はMCPサーバー側でのサポートが必要です。すべてのMCPサーバーで自動的に機能するわけではありません。
  • ディスカバリーキャッシュはセッション間で共有されます。サーバーの設定が変更された場合は、キャッシュが更新されるまで古い情報が使用される可能性があります。
  • 認証失敗のキャッシュはHTTPおよびSSE MCPサーバーに適用されます。認証情報が変更された場合は、Claude Codeを再起動してキャッシュをクリアしてください。
  • OAuth設定の詳細はMCPサーバーのドキュメントを参照してください。

関連情報