原文(日本語に翻訳)
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は以下の順序で認証サーバーを自動発見します:
https://mcp.example.com/.well-known/oauth-protected-resourceにアクセス- メタデータから
authorization_serversを取得 - 認証サーバーに対して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で行う必要があります