> ## Documentation Index
> Fetch the complete documentation index at: https://docs.narrative.io/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Connect: OAuth Flow Failed

> The OAuth/DCR handshake with the server started but failed part-way through.

**HTTP status:** 400

## Error message

One of:

```
Dynamic client registration with the server failed.
The token exchange with the authorization server failed.
The authorization server returned an error; try again.
The authorization server returned an unexpected response.
```

## When this error occurs

Discovery found DCR, but a later OAuth step failed: dynamic client registration was rejected, the token exchange
(authorization-code or refresh) failed, the authorization server returned a 5xx / network error, or its response didn't
parse. The full low-level detail — endpoint URL, status code, and response body — is logged server-side; provide the
response's `log_id` to support so they can find it.

## How to fix

* A transient "authorization server returned an error" — retry.
* Registration or token rejections usually mean a misconfigured authorization server; check its logs.
* If the error notes tools are available without authorization, you can use the server open — add its URL to
  `mcp_servers[]` without a `connection_id`.
