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이 클라이언트 기능으로 등록됩니다. 등록만으로 접근 권한이 부여되지는 않으며 신원 권한에는 명시적인 권한 부여 요청과 사용자 동의가 필요합니다.최소 길이: 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이 없는 비어 있지 않은 문자열로 한 번만 제공해야 합니다. 반복된 쿼리/폼 필드는 배열로 디코딩되며, 스칼라로 읽을 때 거부됩니다.
  • 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뿐입니다.
  • 모든 콜백이 검증을 통과해야 하며, 유효하지 않은 콜백이 하나라도 있으면 전체 등록이 거부됩니다. URL 내 인증 정보, 공백, 제어 문자, 프래그먼트 및 역슬래시는 허용되지 않습니다.
  • 클라이언트는 지원되는 모든 제품 범위를 등록할 수 있지만, 사용자는 인증 시 요청된 하위 집합을 별도로 승인해야 합니다. 등록만으로 접근 권한이 부여되지는 않습니다.
  • authorization_code 및 선택적 refresh_token 부여 유형만 지원됩니다. refresh_token 없이 등록된 클라이언트는 갱신 토큰을 받지 않습니다.
  • 현재 구현은 알 수 없는 최상위 메타데이터 필드를 무시합니다. 알려진 필드에는 스키마에 표시된 제약 조건이 그대로 적용됩니다.
  • 공개 등록 한도는 클라이언트 IP당 10분에 10회 요청이며 워커 간에 공유됩니다. JSON 본문은 1 MiB로 제한됩니다.
  • 등록에 성공하면 HTTP 201을 반환합니다.
  • openid와 email은 제품 권한과 별개인 신원 권한이며, 지원이 명시된 경우에만 허용됩니다. email에는 openid가 필요합니다. 최초 권한 부여 시 신원 범위만 요청하면 동의 화면에 표시되는 기본 제품 권한이 사용됩니다.

오류