Skip to main content
POST
完全一致するコールバック URL と、範囲を限定したプロダクト権限を指定してパブリッククライアントを登録します。

認証

ありません。登録では、ユーザーのログインやアカウント接続の認可は行われません。

リクエストボディ

array
必須
重複を除去する前のコールバック数は1から10です。最小要素数: 1. 最大要素数: 10.
string
任意のクライアントラベル。保存前に前後の空白が除去され、空であってはなりません。最小文字数: 1. 最大文字数: 120. パターン: ^(?=.*\S)[^\u0000-\u001F\u007F]+$. デフォルト値: “MCP client”.
field
パブリッククライアントのみ。必須の値: “none”. デフォルト値: “none”.
union
authorization_code は必須で、refresh_token は任意です。省略または null の場合は両方が選択されます。重複する値は削除されます。デフォルト値: [“authorization_code”,“refresh_token”].
array
値のリスト。要素の構造は完全な入力スキーマを参照してください。最小要素数: 1. 最大要素数: 1. デフォルト値: [“code”].
string
scopes_supported の権限をスペース区切りで指定し、任意で offline_access を含められます。未対応の名前や空白のみの値は拒否され、重複は除去されます。scope を省略するか、openid のみや offline_access のみなど製品権限を指定しない場合、対応するすべての製品スコープが登録されます。email には openid が必要で、email のみは拒否されます。OpenID Connect が利用可能な場合、scope を省略しても openid と email がクライアントの対応機能として登録されます。登録だけではアクセス権は付与されず、ID 権限には明示的な認可リクエストとユーザーの同意が必要です。最小文字数: 1. 最大文字数: 2048. パターン: ^ *(?:account:read|usage:read|settings:read|settings:write|team:read|team:write|projects:read|projects:write|projects:delete|translations:write|transcription:read|transcription:write|subtitles:read|subtitles:write|tts:read|tts:write|voices:read|voices:write|images:read|images:write|thumbnails:read|thumbnails:write|folders:read|folders:write|glossary:read|glossary:write|webhooks:read|webhooks:write|publishing:read|publishing:write|offline_access|openid|email)(?: +(?:account:read|usage:read|settings:read|settings:write|team:read|team:write|projects:read|projects:write|projects:delete|translations:write|transcription:read|transcription:write|subtitles:read|subtitles:write|tts:read|tts:write|voices:read|voices:write|images:read|images:write|thumbnails:read|thumbnails:write|folders:read|folders:write|glossary:read|glossary:write|webhooks:read|webhooks:write|publishing:read|publishing:write|offline_access|openid|email))* *$.

リクエスト例

このルートに記載されたエンコード方式と認証方法に従ってください。アクション API のエンベロープと冪等性のルールは、アクションの呼び出しにのみ適用されます。

レスポンス

登録済みパブリッククライアントのメタデータ。client_id を保存し、登録済みの redirect_uri と完全一致する値と組み合わせて使用してください。client_secret は発行されません。
HTTP 201

レスポンスヘッダー

操作の注意事項

  • 認識されるスカラーパラメーターは、ASCII 制御文字や DEL を含まない空でない文字列として、1回だけ指定する必要があります。重複するクエリ/フォームフィールドは配列にデコードされ、スカラーとして読み取る際に拒否されます。
  • Content-Type に application/json を使用してください。URL エンコードされた登録本文は OAuth の invalid_request レスポンスで拒否されます。未対応のメディアタイプは、それより前に連携パーサーで拒否される場合があります。
  • リダイレクト URI はそのまま保存され、完全一致で比較されます。大文字・小文字、ポートの表記、パス、クエリ、末尾のスラッシュを変更する場合は、その URI を正確に登録する必要があります。
  • HTTP コールバックで許可されるのは、ループバック名をそのまま表記した localhost、127.0.0.1、[::1] のみです。プライベートネットワークのホスト、別表記の IP、*.localhost、大文字の LOCALHOST は該当しません。
  • カスタム URI スキームのコールバックは、cursor://anysphere.cursor-mcp/oauth/callback と完全に一致するものだけが許可されます。
  • すべてのコールバックが検証に合格する必要があります。1 つでも無効なコールバックがあると、登録全体が拒否されます。URL 内の認証情報、空白、制御文字、フラグメント、バックスラッシュは拒否されます。
  • クライアントは対応する任意の製品スコープを登録できますが、ユーザーは認可時に、要求されたサブセットを別途承認する必要があります。登録だけではアクセス権は付与されません。
  • 対応する付与タイプは authorization_code と、任意の refresh_token だけです。refresh_token なしで登録されたクライアントにはリフレッシュトークンは発行されません。
  • 現在の実装では、最上位の未知のメタデータフィールドは無視されます。既知のフィールドには、スキーマに示された制約が適用されます。
  • 公開登録エンドポイントの上限は、クライアント IP ごとに 10 分間で 10 リクエストで、ワーカー間で共有されます。JSON 本文は 1 MiB 以内です。
  • 登録に成功すると HTTP 201 を返します。
  • openid と email は製品権限とは別の ID 権限であり、公開されている場合のみ受け付けられます。email には openid が必要です。初回の認可で ID スコープのみを指定すると、同意画面に表示される既定の製品権限が使われます。

エラー