ChatGPT
OAuth only, and it works because the authorization server was built for this case first.
ChatGPT accepts no static header at all, which turns the authorization server from a nice-to-have into the connection itself. Ours ships protected resource metadata, client id metadata documents, proof key exchange, the resource indicator and the issuer parameter. A consent registry runs under it, per user and per client.
Connect it
- Add a connector and paste the endpoint.
- https://mcp.sallyport.cloud/mcp
- Approve the consent screen, which names the workspace and the bindings.
What the consent screen says
We are a proxy holding a static client id, which the specification names as a confused-deputy risk and answers with an explicit user consent step. The screen lists the client, the workspace, the bindings and the classes that will run without asking. Revoking it in the console cuts the connector on its next call.