api.postqueen.ai.
Your addresses
The backend’s address isNEXT_PUBLIC_BACKEND_URL, which on a standard install is your domain plus /api:
Connections in your own install builds the key address from
NEXT_PUBLIC_BACKEND_URL and shows it on every agent card with the key filled in. Each agent’s page under AI agents says where the address goes.
Where the API key is: in the app, open Connections > API Keys. Only a workspace Admin or Super Admin can reveal or rotate it; other members see it masked. A workspace has one key, and each agent card on Connections shows your MCP address with the key already filled in.
https://postqueen.example.com/api/sse/YOUR_API_KEY. Prefer the addresses above: an SSE connection stays open, and proxies with short idle timeouts cut it.
What the proxy needs
Nothing beyond what the web app needs. MCP requests are ordinaryPOST requests that go to the backend under /api/, and each answer is a single JSON response, not a stream, so buffering settings do not matter. Two things to keep:
- The proxy passes the
Authorizationheader through, which every proxy on these pages does by default. - The request body limit allows uploads: agents can attach media, and PostQueen accepts files up to 1 GB.
Check it from outside
From your own computer, not the server:
Errors come back as plain text, not JSON, so some agents show only a generic server error. Read the raw response before changing settings. Both addresses also answer a browser’s
OPTIONS preflight with 200 before any key is checked, so an agent that reports it connected has not yet proved the key works: the first tool call does.
The sign-in address
Agents that sign in to MCP, instead of taking the key, use/mcp-oauth-dynamic. They register themselves, open PostQueen for a workspace Admin or Super Admin to approve, and the access lasts until it is revoked under Connections > Approved Apps. PostQueen has not tested this sign-in end to end yet.
Signing in needs discovery to work: the agent looks for the authorization server’s metadata at the root of the backend’s host. With the backend under /api, that lookup reaches the web app and fails. So:
1
Give the backend a host of its own
For example
api.postqueen.example.com, routed to the backend at its root. Split deployments has the proxy configuration.2
Advertise that host
3
Give agents the sign-in address on that host
https://api.postqueen.example.com/mcp-oauth-dynamic, with no slash at the end. An agent checks that the address it connected to matches the one the discovery names.Settings
MCP works with none of these set.MCP_URL is passed to the web app but not used. Configuration reference has every variable.