Here's a problem I didn't expect to be the blocker.
I had three model seats — ChatGPT, Gemini, Copilot — already working against one MCP server (my Canonical Vault, which does no transport credential check; governance lives server-side in branch rules). Those surfaces connect URL-only .
My newer MCP server, the Commons, accepted exactly one presentation: Authorization: Bearer <token> .
Result: three credentialed seats, zero connections. Not a permissions problem. A presentation problem.
OAuth was the obvious textbook answer — and the wrong first move. The seats didn't need a new identity system.…