Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Can't authenticate into Atlassian MCP via Anthropic API calls

Andrew Boeger
Contributor
April 22, 2026

Hello,

I am trying to make use of Atlassian MCP (Confluence) via the Anthropic /messages API. 

 '"mcp_servers":[{'
'"type":"url",'
'"url":"https://mcp.atlassian.com/v1/mcp",'
'"name":"atlassian",'
'"authorization_token":"' + atlassian_token + '"'
'}]

 The request body support MCP Servers specific as above. 

I have enabled "API Access" to MCP in my Atlassian admin settings. 

I have generated an Atlassian API Key on a service account and confirmed that API calls work via Postman...  however submitting that API Key prefixed with Bearer, OR encoding it as email:api-key and submitting that prefixed with Basic... both result in this response when processed via the Anthropic API:

TWG request failed: 401 Unauthorized. build: failed to parse token not a compact JWS
I then generated an API key as admin in Atlassian. And tried submitting that prefixed with Bearer, same result. 
Has anyone gotten the Atlassian MCP server to work with the Anthropic API (and NOT local installs that use a different format)? My gut tells me Atlassian may be expecting to see OAuth stuff in this flow, but their docs specifically say I can use keys with Bearer/Basic.

3 comments

Comment

Log in or Sign up to comment
sshalabh
April 22, 2026

Hi @Andrew Boeger 

I think you need check the setting in the ROVO MCP server settings that you have enabled API authentication using API token or not, as by default it is disabled and teh org admins need to enable it.

Secondly, if it still does not work also try adding your domain to the approved list in the same place in settings.

Thanks,
SS

Like Andrew Boeger likes this
Andrew Boeger
Contributor
April 22, 2026

Atlassian Rovo MCP server -> Authentication tab -> Allow API token authentication --- is enabled.

In the Domains tab, I already have "allow atlassian-supported domains" enabled which should cover Anthropic... but I've added anthropic.com and api.anthropic.com to that list. Same error with the Basic token provided :( 

 

[
{
"type": "mcp_tool_use",
"id": "mcptoolu_014aHNbrBbjHWfnKhZ7czJCd",
"name": "getTeamworkGraphContext",
"input": {
"cloudId": "vivuninc.atlassian.net",
"objectType": "ConfluenceSpace",
"objectIdentifier": "IT",
"detailLevel": "full",
"first": 50
},
"server_name": "atlassian"
},
{
"type": "mcp_tool_result",
"tool_use_id": "mcptoolu_014aHNbrBbjHWfnKhZ7czJCd",
"is_error": true,
"content": [
{
"type": "text",
"text": "{\"error\":true,\"message\":\"TWG request failed: 401 Unauthorized. build: failed to parse token not a compact JWS\"}"
}
]
}
]
Andrew Boeger
Contributor
April 22, 2026

Maybe Rovo MCP just doesn't support Anthropic API. Atlassian's docs only mention Claude... not the API. :( 

Dilip Venkatesh
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 22, 2026

Hi there, thanks for the detailed write-up.

The error you're seeing "TWG request failed: 401 Unauthorized. build: failed to parse token not a compact JWS"  - means it's not recognizing it as a Basic or Bearer API token/key. This typically happens when the Authorization header isn't reaching the MCP server in the expected format.

Before we dig deeper, a few clarifying questions:

1. How was the token created?

  • Did you create a personal API token from - rovomcp token 

  • Or did you create a service account API key via your Atlassian admin console?

  • Did you create a scoped or unscoped token? (Scoped tokens let you select specific product scopes during creation.)

2. What scopes are selected?

If you created a scoped token or API key, which scopes did you select? For Confluence-only access, you'd typically need scopes like read:page:confluence, search:confluence, etc. The available MCP tools depend directly on the scopes granted to the token.

Required scopes are documented here

3. How exactly is the token being passed?

The Atlassian MCP server expects the Authorization header in one of these two formats:

  • Personal API token (Basic): Authorization: Basic <base64(email:api_token)>

  • Service account API key (Bearer): Authorization: Bearer <api_key>

When you say you're using the Anthropic /messages API with the mcp_servers configuration, the authorization_token field in that config — could you share exactly what value you're passing? Specifically:

  • Are you passing just the raw token value, or the full header value (e.g., Bearer ATATT3x... or Basic dXNlcm5hbWU6...)?

  • The Anthropic API may be wrapping your value with its own Bearer prefix automatically. If so, passing Basic <base64> as the authorization_token could result in something like Bearer Basic <base64> being sent to Atlassian — which would cause exactly this kind of parse failure.

4. More details about the Anthropic API setup

  • Could you share the Anthropic API docs or spec for how authorization_token is handled in the mcp_servers block? Specifically, does the Anthropic API let you set a custom Authorization header, or does it always send the token as Bearer <authorization_token>?

  • This is important because if the Anthropic API only supports sending Bearer tokens and doesn't allow Basic auth headers, there may be a compatibility constraint between the two platforms for the personal API token (Basic auth) flow. The service account API key (Bearer) flow would be the better fit in that case.

 

Would you be able to gather these details and create a support ticket at Atlassian Support? That way our support team can investigate with full context — including your org ID, the exact token type, and the full request/response flow. It'll help us pinpoint whether this is a token format issue, an Anthropic-side header handling issue, or something else on our end.

Feel free to reference this thread in the ticket so support has the background.

Like Josh likes this
TAGS
AUG Leaders

Atlassian Community Events