/api/mcp MCP 服务器的访问权限。它实现了:
发现端点
| URL | 用途 |
|---|---|
/.well-known/oauth-authorization-server | AS 元数据(端点、支持的 grant、PKCE 方法) |
/.well-known/oauth-protected-resource | 资源元数据(授权服务器、scope) |
/.well-known/oauth-protected-resource 目前公布公共资源作用域 mcp。Pro 授权码授权返回内部作用域值 mcp_pro。遗留 API-key 授权与 client_credentials 返回 mcp。
端点
POST /api/oauth/register
动态客户端注册。返回 client_id(公共客户端,无 secret)。
请求:
https://claude.ai/api/mcp/auth_callbackhttps://claude.com/api/mcp/auth_callbackhttp://localhost:<port>/http://127.0.0.1:<port>— 任意端口
GET /api/oauth/authorize
启动 OAuth 流程。渲染一个同意页,重定向到 Clerk 登录,随后签发与调用方 PRO 权益绑定的授权码。
必填 query 参数:
response_type=codeclient_id— 来自 DCRredirect_uri— 必须与已注册的相匹配code_challenge— PKCE S256code_challenge_method=S256state— 不透明值scope(可选)
GETDEL)。
POST /api/oauth/token
用授权码换取访问令牌,或刷新已有令牌。
Grant type: authorization_code:
refresh_token:
client_credentials 按 client_secret 哈希,有 client_id 时(authorization_code 与 refresh_token)按 client_id,两者均不可用时才回退到调用方 IP。
令牌 TTL:
- Access token:1 小时
- Refresh token:7 天
Cache-Control: no-store, Pragma: no-cache。
使用令牌
在每次 MCP 请求中携带访问令牌:错误响应
依据 RFC 6749 §5.2:invalid_request、invalid_client、invalid_grant、unsupported_grant_type、invalid_scope。