Skip to content

Atlassian MCP OAuth fails with "Incompatible authorization server (RFC 8414 §3.3)" on 1.0.79 — regression from 1.0.71 #4480

Description

@jfrost-fabric

Summary

Since upgrading to  1.0.79 , connecting to the Atlassian remote MCP server ( https://mcp.atlassian.com/v1/mcp ) fails during OAuth discovery with:

MCPOAuthError: Incompatible authorization server: authorization server advertised
an issuer that does not match the URL its metadata was discovered from
(RFC 8414 §3.3); refusing to connect

The same server, same account, same on-disk state works on  1.0.71 . This appears to be a strict-issuer-validation regression, or at minimum a newly-enforced check that has no override for known-broken upstream metadata.

Environment

• OS: macOS (Darwin)
• Copilot CLI:  1.0.79  (broken) /  1.0.71  (working)
• MCP server:  Jira/Atlassian  →  https://mcp.atlassian.com/v1/mcp 

Reproduction

  1. Start a fresh  copilot  session on 1.0.79 with the Atlassian MCP server configured.
  2. Attempt  /mcp auth Jira/Atlassian  (or let it auto-init).
  3. See the error above; server status stays at  connecting .

 /mcp reload  does not help. Wiping  ~/.copilot/mcp-oauth-config/  does not help.

Root cause (Atlassian side)

Atlassian's metadata document violates RFC 8414 §3.3 — the advertised  issuer  doesn't match the discovery URL host:

$ curl -s https://mcp.atlassian.com/.well-known/oauth-authorization-server | jq .issuer
"https://cf.mcp.atlassian.com"

Discovery host is  mcp.atlassian.com ; advertised issuer is  cf.mcp.atlassian.com . Per §3.3, "the  issuer  value returned MUST be identical to the authorization server's issuer identifier value into which the well-known URI string was inserted to create the URL used to retrieve the metadata."

So Atlassian owns the underlying bug, but…

Why this is still a CLI issue

• 1.0.71 tolerates this and OAuth completes successfully (confirmed in an active session that re-authed today at  2026-08-13T16:35:35Z  with a completely empty  ~/.copilot/mcp-oauth-config/ ).
• 1.0.79 hard-fails with no override.

This is a regression that silently breaks every new session for a very widely used remote MCP server, with no user-facing way to opt into looser validation while Atlassian fixes their metadata.

Requested fix

Any one of:

  1. Relax the check to a warning until Atlassian corrects their document.
  2. Add an opt-in config flag per server (e.g.  oauth: { allow_issuer_mismatch: true }  or  oauth: { trusted_issuers: [...] } ).
  3. A global  --allow-oauth-issuer-mismatch  / env var escape hatch.

Option 2 is safest — scoped per server, users still get the benefit of §3.3 everywhere else.

Evidence

Working session log (1.0.71) — cold OAuth, empty cache, success:

2026-08-13T16:35:34.741Z Server Jira/Atlassian requires authentication, initiating OAuth flow
2026-08-13T16:35:35.025Z OAuth authentication required for Jira/Atlassian
2026-08-13T16:35:35.064Z Successfully authenticated with Jira/Atlassian
2026-08-13T16:35:35.364Z MCP client for Jira/Atlassian connected, took 297ms

Failing session log (1.0.79) — same server, same host, same wiped cache:

MCPOAuthError: Incompatible authorization server: authorization server advertised
an issuer that does not match the URL its metadata was discovered from
(RFC 8414 §3.3); refusing to connect

Related

Also worth reporting to Atlassian so the underlying metadata gets fixed — happy to file that separately, but the CLI-side escape hatch is what unblocks users today

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions