Skip to content

原文(日本語に翻訳)

MCP OAuthが、認証サーバーを見つけるためのRFC 9728 Protected Resource Metadata discoveryに対応しました。

原文(英語)

MCP OAuth now follows RFC 9728 Protected Resource Metadata discovery to find the authorization server

概要

MCPサーバーとのOAuth認証において、RFC 9728で定義されたProtected Resource Metadata discoveryプロトコルをサポートするようになりました。これにより、MCPサーバーがリソースメタデータを公開していれば、Claude Codeが自動的に適切な認証サーバーを発見して認証フローを開始できます。より標準化されたOAuth認証フローが可能になります。

基本的な使い方

RFC 9728に対応したMCPサーバーでは、/.well-known/oauth-protected-resource エンドポイントにメタデータが公開されます。Claude Codeはこのエンドポイントを自動的に参照して認証サーバーを特定します:

json
{
  "resource": "https://mcp.example.com",
  "authorization_servers": [
    "https://auth.example.com"
  ],
  "scopes_supported": ["mcp:read", "mcp:write"]
}

ユーザー側での特別な設定は不要で、対応するMCPサーバーに接続すると自動的にdiscoveryが行われます。

実践例

ユースケース: RFC 9728対応のMCPサーバーに接続する

.claude/settings.json の設定:

json
{
  "mcpServers": {
    "my-oauth-server": {
      "url": "https://mcp.example.com",
      "authType": "oauth"
    }
  }
}

Claude Codeは以下の順序で認証サーバーを自動発見します:

  1. https://mcp.example.com/.well-known/oauth-protected-resource にアクセス
  2. メタデータから authorization_servers を取得
  3. 認証サーバーに対してOAuthフローを開始

ユースケース: カスタムMCPサーバーのOAuth実装

MCPサーバー側でRFC 9728のエンドポイントを実装する例(Node.js):

javascript
app.get('/.well-known/oauth-protected-resource', (req, res) => {
  res.json({
    resource: 'https://mcp.example.com',
    authorization_servers: ['https://auth.example.com'],
    scopes_supported: ['mcp:read', 'mcp:write'],
    bearer_methods_supported: ['header']
  });
});

注意点

  • RFC 9728はOAuthの拡張仕様であり、すべてのMCPサーバーが対応しているわけではありません
  • RFC 9728非対応のサーバーでは従来の認証方法が使われます
  • Protected Resource Metadataエンドポイントへの通信はHTTPSで行う必要があります

関連情報