Building and customizing solutions using Microsoft 365 Copilot APIs and tools
Hi Sayali,
We agree that the issue is the presence of two ? characters in the URL. This probably comes from the fact that our authorization URL already contains a query parameter: https://pigment.app/login?server=mcp.
My point is that Copilot should detect this and append additional parameters with & only, not with another ?.
According to RFC 6749 Section 3.1 (the OAuth 2.0 standard):
"The endpoint URI MAY include an 'application/x-www-form-urlencoded' formatted query component, which MUST be retained when adding additional query parameters."
This explicitly allows authorization URLs to have existing query parameters, and OAuth clients must properly append additional parameters to them.
All other MCP clients we've tested (Claude Desktop, ChatGPT, Zapier, Dust) handle this automatically by detecting the existing ? and using & for subsequent parameters. Only Copilot uses a second ?, creating a malformed URL.
This is quite inconvenient as it prevents Copilot from working with any MCP server whose authorization URL includes query parameters - a pattern that is standards-compliant and explicitly supported by OAuth 2.0.
Couldn't Copilot's implementation be updated to follow the RFC 6749 requirement to properly retain and extend existing query parameters?
Best,
Tanguy