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

# Connect to ChatGPT

> Use Ascend Gateway V5 as an MCP server in ChatGPT.

# Connect to ChatGPT

ChatGPT supports MCP servers via its remote connector system. Use the same endpoint as Claude.

<Info>
  **Requirements**

  * ChatGPT **Business** or **Enterprise** plan (MCP remote servers require paid plans)
  * An Ascend Gateway bearer token ([get one](/docs/guides/authentication))
</Info>

## Setup

1. Open **ChatGPT** → **Settings** → **Connected Apps** (or **MCP Servers**)
2. Click **Add MCP Server**
3. Enter the gateway URL:
   ```
   https://ascend-gateway-v5.ascendgtm.workers.dev/mcp
   ```
4. ChatGPT auto-discovers the OAuth server via `/.well-known/oauth-authorization-server`
5. Complete the OAuth flow — paste your bearer token on the consent page
6. **34 tools** become available in your ChatGPT session

## Test It

Ask ChatGPT:

```
List my connected APIs using the discover_apis tool
```

## Authentication

On first connection, ChatGPT performs:

1. **Dynamic Client Registration** (RFC 7591) — registers itself with the gateway
2. **PKCE Authorization** (S256) — redirects you to the consent page
3. **Token Exchange** — receives a 90-day access token

Subsequent sessions reuse the stored token until it expires.

## Differences from Claude

* Same **34 tools** available
* Same response format and error codes
* ChatGPT may present tool results differently in the UI
* Response trimming (`fields`, `format`) works identically
* ChatGPT uses the same OAuth flow as Claude Web

## Troubleshooting

| Issue                  | Fix                                                                         |
| ---------------------- | --------------------------------------------------------------------------- |
| "MCP not available"    | Requires Business/Enterprise plan                                           |
| "Authorization failed" | Verify bearer token with `curl -H "Authorization: Bearer TOKEN" .../health` |
| "Token expired"        | Remove and re-add the MCP server to trigger new OAuth flow                  |
| Tool calls fail        | Use `discover_apis` to check which providers are connected                  |
