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で行う必要があります

関連情報 ​