Skip to main content
POST
Registre um cliente público com URLs exatas de callback e um conjunto limitado de permissões do produto.

Autenticação

Nenhuma. O registro não faz login de um usuário nem autoriza uma conexão de conta.

Corpo da requisição

array
obrigatório
Entre 1 e 10 callbacks antes da remoção de duplicatas.Mínimo de itens: 1. Máximo de itens: 10.
string
Rótulo opcional do cliente; os espaços nas extremidades são removidos antes de salvar e ele deve continuar não vazio.Comprimento mínimo: 1. Comprimento máximo: 120. Padrão: ^(?=.*\S)[^\u0000-\u001F\u007F]+$. Valor padrão: “MCP client”.
field
Somente clientes públicos.Valor obrigatório: “none”. Valor padrão: “none”.
union
Deve incluir authorization_code; refresh_token é opcional. A omissão ou null seleciona ambos. Valores duplicados são removidos.Valor padrão: [“authorization_code”,“refresh_token”].
array
Lista de valores. Consulte o esquema de entrada completo para ver a estrutura dos itens.Mínimo de itens: 1. Máximo de itens: 1. Valor padrão: [“code”].
string
Permissões de scopes_supported separadas por espaços, podendo incluir offline_access. Nomes não suportados e valores contendo apenas espaços em branco são rejeitados; duplicatas são removidas. Omitir scope ou não indicar permissões de produto, como apenas openid ou apenas offline_access, registra todos os escopos de produto suportados. email exige openid; email sozinho é rejeitado. Quando OpenID Connect está disponível, o registro inclui openid e email como capacidades do cliente mesmo se scope for omitido. O registro não concede acesso; permissões de identidade exigem uma solicitação de autorização explícita e o consentimento do usuário.Comprimento mínimo: 1. Comprimento máximo: 2048. Padrão: ^ *(?: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))* *$.

Exemplos de requisição

Siga a codificação e a autenticação documentadas para esta rota. O formato de resposta e as regras de idempotência da API de ações se aplicam apenas às chamadas de ações.

Resposta

Metadados do cliente público registrado. Salve client_id e use-o com o redirect_uri exato registrado. Nenhum client_secret é emitido.
HTTP 201

Cabeçalhos da resposta

Notas da operação

  • Parâmetros escalares reconhecidos devem ser fornecidos uma única vez como strings não vazias, sem caracteres de controle ASCII ou DEL. Campos de consulta/formulário repetidos são decodificados como arrays e rejeitados quando lidos como escalares.
  • Use Content-Type application/json. Um corpo de registro codificado em URL é rejeitado com a resposta OAuth invalid_request; tipos de mídia incompatíveis podem ser rejeitados antes pelo parser da integração.
  • As URIs de redirecionamento são mantidas e comparadas exatamente. Alterações de maiúsculas e minúsculas, representação da porta, caminho, consulta ou barra final exigem o registro dessa URI exata.
  • Callbacks HTTP aceitam apenas os nomes de loopback literais localhost, 127.0.0.1 e [::1]. Hosts de redes privadas, grafias alternativas de IP, *.localhost e LOCALHOST em maiúsculas não se qualificam.
  • O único callback com esquema URI personalizado aceito é exatamente cursor://anysphere.cursor-mcp/oauth/callback.
  • Todos os callbacks devem passar pela validação; um callback inválido rejeita todo o registro. Credenciais na URL, espaços em branco, caracteres de controle, fragmentos e barras invertidas são rejeitados.
  • O cliente pode registrar qualquer escopo de produto compatível, mas o usuário deve aprovar separadamente o subconjunto solicitado durante a autorização. O registro por si só não concede acesso.
  • Somente as concessões authorization_code e, opcionalmente, refresh_token são compatíveis. Um cliente registrado sem refresh_token não recebe refresh token.
  • Campos de metadados desconhecidos no nível superior são ignorados pela implementação atual. Os campos conhecidos mantêm as restrições mostradas no esquema.
  • O limite público de registro é de 10 requisições por 10 minutos por IP de cliente, compartilhado entre workers. Corpos JSON são limitados a 1 MiB.
  • Um registro bem-sucedido retorna HTTP 201.
  • openid e email são permissões de identidade, separadas das permissões do produto, aceitas apenas quando anunciadas. email exige openid. Na autorização inicial, uma solicitação apenas com escopos de identidade usa as permissões padrão do produto mostradas na tela de consentimento.

Erros