Connections
Approve a request to connect an agent
Verifies the signed authorization request the MCP server made, makes a hidden API key for the agent, and answers with a signed approval that carries the key sealed.
POST
/user/mcp/approveTL;DR
| Question | Answer |
|---|---|
| What does it do? | Approve a request to connect an agent. |
| What does it take? | A JSON body of type ApproveConnectionBody. |
| What does it return? | Status 200 with a body of type Approval. |
| What can go wrong? | 400 the request is malformed, has expired, or was not signed by the mcp server; 401 not signed in; 403 the request came from an origin that may not make changes; 429 too many requests; 503 connecting an agent is not set up on this server. Every failure uses the one error envelope. |
What it does
Verifies the signed authorization request the MCP server made, makes a hidden API key for the agent, and answers with a signed approval that carries the key sealed. The browser then goes to redirectTo. Connecting the same agent again replaces its key.
Request body
The body has the type ApproveConnectionBody.
| Field | Type | Required | Description |
|---|---|---|---|
request | string | yes | The signed authorization request, exactly as the MCP server put it in the address. at least 1 character; at most 6144 characters. |
Responses
| Status | Meaning | Body |
|---|---|---|
| 200 | Approved. | Approval |
| 400 | The request is malformed, has expired, or was not signed by the MCP server. | ErrorResponse |
| 401 | Not signed in. | ErrorResponse |
| 403 | The request came from an origin that may not make changes. | ErrorResponse |
| 429 | Too many requests. | ErrorResponse |
| 503 | Connecting an agent is not set up on this server. | ErrorResponse |
Response body
A 200 answer has the type Approval.
| Field | Type | Required | Description |
|---|---|---|---|
approval | string | yes | The signed approval. It carries the connection key sealed, so it is safe in an address. |
expiresIn | integer | yes | Seconds the approval stays usable. |
redirectTo | string | yes | Where to send the browser: the MCP server callback with the request and the approval already attached. |
See also
| Doc | Why |
|---|---|
| API reference | Every endpoint, and the error envelope |
| Schemas | Every request and response type |
| Tool reference | The operations as callable tools |