Atlassian MCP authentication issues

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Hi
I am currently using Atlassian MCP:
“Atlassian-MCP-Server”: {
“url”: “https://mcp.atlassian.com/v1/sse
},
But it always has authentication issues the only that requires login/logout in cursor (i.e manual authentication )

Steps to Reproduce

try to use:
“Atlassian-MCP-Server”: {
“url”: “https://mcp.atlassian.com/v1/sse
},
{“error”:“Invalid refresh token”}

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 1.7.46 (Universal)
VSCode Version: 1.99.3
Commit: b9e5948c1ad20443a5cecba6b84a3c9b99d62580
Date: 2025-10-14T01:21:46.830Z
Electron: 34.5.8
Chromium: 132.0.6834.210
Node.js: 20.19.1
V8: 13.2.152.41-electron.0
OS: Darwin arm64 24.6.0

Does this stop you from using Cursor

No - Cursor works, but with this issue

5 Likes

Hey, thanks for the report! This is a known issue with OAuth authentication for remote MCP servers and we’re actively investigating it.

Please check the Output logs and share any errors:

  • Open the Output tab
  • Select “MCP: Atlassian-MCP-Server” in the dropdown
  • Share any error messages you see

Our team is working on fixes for MCP authentication issues. I’ll make sure your report is linked to the ongoing investigation.

025-10-20 23:39:51.281 [info] Handling CreateClient action

2025-10-20 23:39:51.281 [info] Creating streamableHttp transport

2025-10-20 23:39:51.281 [info] Connecting to streamableHttp server

2025-10-20 23:39:51.281 [info] Handling CreateClient action

2025-10-20 23:39:51.281 [info] Creating streamableHttp transport

2025-10-20 23:39:51.281 [info] Connecting to streamableHttp server

2025-10-20 23:39:57.044 [info] Saving tokens {“accessTokenLen”:74,“refreshPresent”:true,“expiresIn”:3300}

2025-10-20 23:39:57.044 [info] Saving tokens {“accessTokenLen”:74,“refreshPresent”:true,“expiresIn”:3300}

2025-10-20 23:39:58.969 [error] Client error for command Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-10-20 23:39:58.970 [info] Client closed for command

2025-10-20 23:39:58.970 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-10-20 23:39:58.970 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-10-20 23:39:58.970 [info] Connecting to SSE server

2025-10-20 23:39:59.118 [error] Client error for command Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-10-20 23:39:59.118 [info] Client closed for command

2025-10-20 23:39:59.118 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-10-20 23:39:59.118 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-10-20 23:39:59.118 [info] Connecting to SSE server

2025-10-20 23:39:59.894 [info] Successfully connected to streamableHttp server

2025-10-20 23:39:59.894 [info] Storing streamableHttp client

2025-10-20 23:39:59.894 [info] CreateClient completed, server stored: true

2025-10-20 23:39:59.909 [info] Handling ListOfferings action, server stored: true

2025-10-20 23:39:59.909 [info] Connected to streamableHttp server, fetching offerings

2025-10-20 23:39:59.909 [info] Handling ListOfferings action, server stored: true

2025-10-20 23:39:59.909 [info] Connected to streamableHttp server, fetching offerings

2025-10-20 23:39:59.910 [info] Handling ListOfferings action, server stored: true

2025-10-20 23:39:59.910 [info] Connected to streamableHttp server, fetching offerings

2025-10-20 23:39:59.957 [info] Successfully connected to streamableHttp server

2025-10-20 23:39:59.957 [info] A second client was created while connecting, discarding it.

2025-10-20 23:39:59.957 [info] CreateClient completed, server stored: true

2025-10-20 23:39:59.970 [info] Handling ListOfferings action, server stored: true

2025-10-20 23:39:59.970 [info] Connected to streamableHttp server, fetching offerings

2025-10-20 23:39:59.971 [info] Handling ListOfferings action, server stored: true

2025-10-20 23:39:59.971 [info] Connected to streamableHttp server, fetching offerings

2025-10-20 23:40:00.356 [info] Found 27 tools, 0 prompts, and 0 resources

2025-10-20 23:40:00.387 [info] Found 27 tools, 0 prompts, and 0 resources

2025-10-20 23:40:00.464 [info] Found 27 tools, 0 prompts, and 0 resources

2025-10-20 23:40:00.487 [info] Found 27 tools, 0 prompts, and 0 resources

2025-10-20 23:40:00.517 [info] Found 27 tools, 0 prompts, and 0 resources

2025-10-20 23:44:32.214 [info] Handling CallTool action for tool ‘getAccessibleAtlassianResources’

2025-10-20 23:44:32.214 [info] Calling tool ‘getAccessibleAtlassianResources’ with toolCallId: toolu_019FckUZiHW8czZfspRoyK9q

2025-10-20 23:44:32.823 [info] Successfully called tool ‘getAccessibleAtlassianResources’

2025-10-20 23:44:47.507 [info] Handling ListOfferings action, server stored: true

2025-10-20 23:44:47.507 [info] Connected to streamableHttp server, fetching offerings

2025-10-20 23:44:47.672 [info] Found 27 tools, 0 prompts, and 0 resources

2025-10-20 23:44:54.881 [info] Handling CallTool action for tool ‘getJiraIssue’

2025-10-20 23:44:54.881 [info] Calling tool ‘getJiraIssue’ with toolCallId: toolu_01WmNomuDDVQuAhgmLKNjUUi

2025-10-20 23:44:55.358 [info] Successfully called tool ‘getJiraIssue’

2025-10-21 00:01:00.300 [info] Handling CallTool action for tool ‘getAccessibleAtlassianResources’

2025-10-21 00:01:00.300 [info] Calling tool ‘getAccessibleAtlassianResources’ with toolCallId: toolu_01GNfJvwc4C33jcBo6kvsX34

2025-10-21 00:01:00.780 [info] Successfully called tool ‘getAccessibleAtlassianResources’

2025-10-21 00:01:12.846 [info] Handling CallTool action for tool ‘getJiraIssue’

2025-10-21 00:01:12.846 [info] Calling tool ‘getJiraIssue’ with toolCallId: toolu_01KUQwYdAJxMtxcLH4TJ2qDy

2025-10-21 00:01:13.898 [info] Successfully called tool ‘getJiraIssue’

2025-10-21 00:01:41.044 [info] Handling CallTool action for tool ‘search’

2025-10-21 00:01:41.045 [info] Calling tool ‘search’ with toolCallId: toolu_01Fpmbv1dMzSPskJsYmi8dwg

2025-10-21 00:01:41.293 [info] Successfully called tool ‘search’

Thanks for the detailed logs. This matches what we’re seeing in the OAuth authentication flow.

Good news: despite the “Missing sessionId parameter” errors, the connection falls back to SSE and your tools load correctly (27 tools detected). Authentication should be working, these errors are part of the transport negotiation process.

Please try re‑authenticating; I just tested and it works for me.

Our team is also actively improving the MCP OAuth flow. I’ve linked your report to the ongoing investigation.

I’d like to add, i’m having issues where I have to re-auth (manually, by deleting and readding) Atlassian MCP every day. Tools don’t load until i delete and readd as mentioned. I hope the fix comes soon!

1 Like

+1 on this. Having to remove and re-add Atlassian MCP constantly. It seems to get stuck in a Loading tools state where I can’t even logout without manually editing the mcp.json file to get cursor to forget the tool temporarily. At least this does still have memory about which tools were enabled/disabled after re-authenticating.


Here is the Output after I came back to the tool this morning showing an Error message:

2025-11-11 11:40:29.073 [info] Handling CreateClient action

2025-11-11 11:40:29.073 [info] Creating streamableHttp transport

2025-11-11 11:40:29.073 [info] Connecting to streamableHttp server

2025-11-11 11:40:29.073 [info] Handling CreateClient action

2025-11-11 11:40:29.074 [info] Creating streamableHttp transport

2025-11-11 11:40:29.074 [info] Connecting to streamableHttp server

2025-11-11 11:40:29.074 [info] Handling CreateClient action

2025-11-11 11:40:29.074 [info] Creating streamableHttp transport

2025-11-11 11:40:29.074 [info] Connecting to streamableHttp server

2025-11-11 11:40:29.331 [error] Client error for command Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:29.332 [info] Client closed for command

2025-11-11 11:40:29.332 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:29.332 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:29.332 [info] Connecting to SSE server

2025-11-11 11:40:29.364 [error] Client error for command Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:29.364 [info] Client closed for command

2025-11-11 11:40:29.364 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:29.364 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:29.364 [info] Connecting to SSE server

2025-11-11 11:40:29.389 [error] Client error for command Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:29.390 [info] Client closed for command

2025-11-11 11:40:29.390 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:29.390 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:29.390 [info] Connecting to SSE server

2025-11-11 11:40:30.704 [info] Successfully connected to streamableHttp server

2025-11-11 11:40:30.704 [info] Storing streamableHttp client

2025-11-11 11:40:30.704 [info] CreateClient completed, server stored: true

2025-11-11 11:40:30.737 [info] Successfully connected to streamableHttp server

2025-11-11 11:40:30.737 [info] A second client was created while connecting, discarding it.

2025-11-11 11:40:30.737 [info] CreateClient completed, server stored: true

2025-11-11 11:40:30.763 [info] Successfully connected to streamableHttp server

2025-11-11 11:40:30.763 [info] A second client was created while connecting, discarding it.

2025-11-11 11:40:30.763 [info] CreateClient completed, server stored: true

2025-11-11 11:40:33.343 [info] Handling ListOfferings action, server stored: true

2025-11-11 11:40:33.343 [info] Connected to streamableHttp server, fetching offerings

2025-11-11 11:40:33.553 [info] Found 16 tools, 0 prompts, and 0 resources

2025-11-11 11:40:48.701 [info] Handling CreateClient action

2025-11-11 11:40:48.701 [info] Creating streamableHttp transport

2025-11-11 11:40:48.701 [info] Connecting to streamableHttp server

2025-11-11 11:40:48.714 [info] Handling CreateClient action

2025-11-11 11:40:48.714 [info] Creating streamableHttp transport

2025-11-11 11:40:48.714 [info] Connecting to streamableHttp server

2025-11-11 11:40:48.729 [info] Handling CreateClient action

2025-11-11 11:40:48.729 [info] Creating streamableHttp transport

2025-11-11 11:40:48.729 [info] Connecting to streamableHttp server

2025-11-11 11:40:48.833 [error] Client error for command Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:48.833 [info] Client closed for command

2025-11-11 11:40:48.834 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:48.834 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:48.834 [info] Connecting to SSE server

2025-11-11 11:40:48.863 [error] Client error for command Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:48.863 [info] Client closed for command

2025-11-11 11:40:48.864 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:48.864 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:48.864 [info] Connecting to SSE server

2025-11-11 11:40:48.907 [error] Client error for command Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:48.907 [info] Client closed for command

2025-11-11 11:40:48.907 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:48.907 [error] Error connecting to streamableHttp server, falling back to SSE: Error POSTing to endpoint (HTTP 404): Missing sessionId parameter

2025-11-11 11:40:48.907 [info] Connecting to SSE server

2025-11-11 11:40:49.174 [info] Successfully connected to streamableHttp server

2025-11-11 11:40:49.174 [info] Storing streamableHttp client

2025-11-11 11:40:49.174 [info] CreateClient completed, server stored: true

2025-11-11 11:40:49.194 [info] Successfully connected to streamableHttp server

2025-11-11 11:40:49.194 [info] A second client was created while connecting, discarding it.

2025-11-11 11:40:49.194 [info] CreateClient completed, server stored: true

2025-11-11 11:40:49.266 [info] Successfully connected to streamableHttp server

2025-11-11 11:40:49.266 [info] A second client was created while connecting, discarding it.

2025-11-11 11:40:49.267 [info] CreateClient completed, server stored: true

2025-11-11 11:40:50.411 [info] Handling ListOfferings action, server stored: true

2025-11-11 11:40:50.411 [info] Connected to streamableHttp server, fetching offerings

2025-11-11 11:40:50.527 [info] Found 16 tools, 0 prompts, and 0 resources

2025-11-11 12:06:24.082 [error] Client error for command SSE error: undefined

2025-11-11 12:06:29.283 [info] Saving tokens {"accessTokenLen":74,"refreshPresent":true,"expiresIn":3300}

2025-11-11 13:07:01.618 [error] Client error for command SSE error: TypeError: terminated: other side closed

2025-11-11 13:07:06.664 [info] Saving tokens {"accessTokenLen":74,"refreshPresent":true,"expiresIn":3300}

2025-11-11 14:44:33.627 [error] Client error for command SSE error: TypeError: terminated: other side closed

2025-11-11 14:44:38.656 [info] Saving tokens {"accessTokenLen":74,"refreshPresent":true,"expiresIn":3300}

2025-11-11 15:57:23.668 [error] Client error for command SSE error: TypeError: terminated: other side closed

2025-11-11 15:57:28.487 [info] Saving tokens {"accessTokenLen":74,"refreshPresent":true,"expiresIn":3300}

2025-11-11 17:55:07.511 [error] Client error for command SSE error: undefined

2025-11-11 17:55:13.291 [info] Saving tokens {"accessTokenLen":74,"refreshPresent":true,"expiresIn":3300}

2025-11-11 18:33:13.968 [error] Client error for command SSE error: TypeError: terminated: read ECONNRESET

2025-11-11 18:42:16.350 [error] Client error for command SSE error: undefined

2025-11-11 23:12:53.489 [error] Client error for command SSE error: undefined

2025-11-11 23:12:58.406 [info] Saving tokens {"accessTokenLen":74,"refreshPresent":true,"expiresIn":3300}

2025-11-12 03:07:54.958 [error] Client error for command SSE error: undefined

2025-11-12 03:07:59.762 [info] Saving tokens {"accessTokenLen":74,"refreshPresent":true,"expiresIn":3300}

2025-11-12 05:01:57.051 [error] Client error for command SSE error: TypeError: terminated: other side closed

2025-11-12 05:02:01.713 [error] Client error for command Invalid refresh token

After I turned the MCP server off and back on again I get a constant Loading tools message. Here is the output that was added:

2025-11-12 07:30:54.494 [info] Handling DeleteClient action

2025-11-12 07:30:54.495 [info] Cleaning up

2025-11-12 07:30:55.359 [info] Handling CreateClient action

2025-11-12 07:30:55.359 [info] Creating streamableHttp transport

2025-11-12 07:30:55.359 [info] Connecting to streamableHttp server

2025-11-12 07:30:56.849 [error] Client error for command Invalid refresh token

2025-11-12 07:30:56.850 [info] Client closed for command

2025-11-12 07:30:56.850 [error] Error connecting to streamableHttp server, falling back to SSE: Invalid refresh token

2025-11-12 07:30:56.850 [error] Error connecting to streamableHttp server, falling back to SSE: Invalid refresh token

2025-11-12 07:30:56.850 [info] Connecting to SSE server

2025-11-12 07:30:57.805 [error] Client error for command Invalid refresh token

2025-11-12 07:30:57.805 [error] Error connecting to SSE server after fallback: Invalid refresh token

2025-11-12 07:30:57.805 [info] Client closed for command

+1 same issue
We are trying to build Jira/Compass automation into our pipeline, and it is driving us nuts to have to press on/off every 15 minutes.

Does anyone have a workaround? Something like a script to edit mcp.json and save to register a change and simulate on/off… but that didn’t work when i tried it..

+1
We are also facing similar issue.
We’ve installed the Playwright, JIRA and Atlassian MCP servers in our Cursor account for QMetry’s JIRA integration, but we’re repeatedly facing an error with the Atlassian MCP server under MCP & Tools.

Multiple users are affected and although Cursor Chat provides a temporary fix, after a few minutes the error reappears which is preventing us from proceeding with test script generation.
If someone has already resolved this issue, please share with us. Your help would be appreciated.

Same issue in my side and all my team. Everyday we need to re-authenticate

Gemini 3 Pro after a while was able to pull this out. It did resolve my issue with “Missing sessionId parameter.”

The error Key Symbol(headers list) in undefined.headers is occurring because of a compatibility issue between your installed Node.js version and the dependencies used by the latest version of mcp-remote.

Specifically, mcp-remote relies on a recent version of undici (an HTTP client library) which requires Node.js v20.18.1 or higher. Your current version is slightly older, causing it to crash when handling HTTP headers during the connection.

Here are two ways to fix this:

Option 1: Update Node.js (Recommended)

Update your Node.js installation to the latest v20 LTS (currently v20.18.x) or v22 LTS. This will resolve the compatibility issue with the latest tools.

Option 2: Use a compatible version of mcp-remote

If you cannot update Node.js right now, you can run an older, compatible version of mcp-remote (e.g., 0.1.20) which works with your current setup.

Run this command instead:

npx [email protected] https://mcp.atlassian.com/v1/sse

I tested version 0.1.20 in your environment and it successfully established the proxy connection. Note that you may still see a “Missing sessionId parameter” error initially, but it will safely fallback to the SSE transport and connect successfully connect.

I am also struggling with this and constantly having to log it back in.

(If you need another option, there is an Atlassian CLI for interacting with jira.)

I dont understand how this is still an issue. We should be able to trigger auth for MCP’s just like we can for codex for example. There is 0 control over MCP auth. Its ridiculous

1 Like