Building and customizing solutions using Microsoft 365 Copilot APIs and tools
Microsoft 365 Copilot shows "token store error, connector unavailable" for custom MCP connector even though OAuth token issuance succeeds
We have a custom MCP server fronted by our own OAuth 2.0 Authorization Server, registered with Microsoft 365 Copilot as a statically-configured OAuth client with RFC 8707 "resource" indicator support and PKCE (S256) enforced.
Symptom: When a user tries to use the connector in Microsoft 365 Copilot, they get a generic error: "token store error, connector unavailable."
What we've verified on our side:
- Our authorization-server logs show the full OAuth flow completing successfully and repeatedly for this client: authorize (login succeeded) -> token issued -> multiple token-rotation (refresh) cycles, over many hours, for real end-user subjects. No errors, no failed grants.
- No Access log that hit mcp endpoint after trying to call mcp through copilot and copilot say "token store error, connector unavailable"
What we can't see from our side: Copilot's own OAuth client, its token store, and which broker/backend actually terminates the flow.
Question: Since our Authorization Server confirms a valid access token was issued but our server never receives a corresponding request, what could cause Copilot to fail silently between "token issued" and "calling the resource"? Is there a way to see the real underlying error instead of the generic "token store error" bubble -- e.g. via Copilot Developer Mode, admin center diagnostics, or M365 message center logs?