Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
The Atlassian MCP plugin OAuth flow completes the authorization step successfully (browser redirect with authorization code works), but the token exchange fails because Cursor’s internal OAuth client passes a raw Response object to JSON.parse() instead of first reading the response body.
Error from logs:
Failed to complete OAuth exchange Invalid OAuth error response: SyntaxError: Unexpected token 'o', "[object Response]" is not valid JSON. Raw body: [object Response]
Full log sequence:
Successfully connected to streamableHttp server
Storing streamableHttp client
[MCP Allowlist] Creating adapter with serverName="atlassian", identifier="plugin-atlassian-atlassian"
Successfully reloaded client
Received OAuth callback with code
Using attempt-scoped OAuth client information for callback flow
Using redirect URL
Failed to complete OAuth exchange Invalid OAuth error response: SyntaxError: Unexpected token 'o', "[object Response]" is not valid JSON. Raw body: [object Response]
Note: This bug seems to be a code defect where the Response object itself is being stringified ([object Response]) rather than its body being read first (e.g., await response.json() or await response.text()).
Steps to Reproduce
- Install the official Atlassian plugin from the Cursor marketplace
- Cursor prompts to authenticate — click to proceed
- Browser opens Atlassian OAuth consent screen — log in and authorize
- Browser redirects back to Cursor with authorization code (succeeds)
- Token exchange fails with the [object Response] error above
Expected Behavior
Token exchange succeeds and Atlassian MCP tools become available.
Operating System
MacOS
Version Information
Version: 2.7.0-pre.158.patch.0
VSCode Version: 1.105.1
Commit: 11e7a0514e3c19ee0ed19b37725c111fe5fb44f0
Date: 2026-03-28T10:42:16.149Z
Layout: editor
Build Type: Stable
Release Track: Nightly
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Darwin arm64 25.3.0
Does this stop you from using Cursor
No - Cursor works, but with this issue