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 的客户端不会收到刷新令牌。
  • 当前实现会忽略未知的顶层 metadata 字段。已知字段仍须遵守架构中显示的约束。
  • 公开注册限制为每个客户端 IP 每 10 分钟 10 次请求,由所有工作进程共用。JSON 请求体上限为 1 MiB。
  • 注册成功时返回 HTTP 201。
  • openid 和 email 是独立于产品权限的身份权限,仅在公布支持时接受。email 需要 openid。在首次授权时,仅包含身份权限的请求会使用同意页面显示的默认产品权限。

错误