Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Bug Report: Browser MCP Authentication Token Issue
Summary
The built-in cursor-ide-browser MCP server successfully connects but fails to authenticate when calling browser tools, resulting in 403 “Forbidden: Invalid or missing authentication token” errors.
Environment
- Cursor Version: Version: 2.0.38 (Universal)
- OS: macOS (Darwin 25.0.0)
- Browser URL:
http://localhost:8081/debugger-ui/(React Native debugger) - MCP Server:
cursor-ide-browser(built-in)
Description
When attempting to use browser MCP tools (e.g., browser_console_messages, browser_snapshot, browser_navigate), the tools fail with authentication errors even though:
- The MCP server successfully connects to the streamableHttp server
- The server can list available tools (11 tools found)
- The browser page is open and accessible in Cursor
- The target page itself has no authentication requirements
Steps to Reproduce
- Open a browser tab in Cursor (e.g., navigate to
http://localhost:8081/debugger-ui/) - Attempt to use any browser MCP tool through the AI assistant:
browser_console_messages- to read console logsbrowser_snapshot- to capture page statebrowser_navigate- to navigate to a URL
- Observe authentication errors
Expected Behavior
Browser MCP tools should successfully authenticate and access the browser context without requiring manual token configuration, allowing the AI assistant to:
- Read console messages
- Take screenshots
- Navigate to URLs
- Capture page snapshots
Actual Behavior
All browser MCP tool calls fail with:
Error POSTing to endpoint (HTTP 403): {"jsonrpc":"2.0","id":null,"error":{"code":-32600,"message":"Forbidden: Invalid or missing authentication token"}}
Error Logs
The MCP server logs show consistent “No stored tokens found” messages:
[info] Handling CallTool action for tool 'browser_console_messages'
[info] No stored tokens found
[error] Client error for command Error POSTing to endpoint (HTTP 403): {"jsonrpc":"2.0","id":null,"error":{"code":-32600,"message":"Forbidden: Invalid or missing authentication token"}}
Full log pattern:
- Initial connection:
Successfully connects to streamableHttp server - Tool listing:
Finds 11 tools, 0 prompts, 0 resources - Token storage:
No stored tokens found (repeated for every tool call) - Tool execution:
403 Forbidden errors on all calls
Log Location
Logs can be found at:
~/Library/Application Support/Cursor/logs/[timestamp]/window[#]/exthost/anysphere.cursor-mcp/MCP cursor-ide-browser.log
Configuration Attempted
- Checked
~/.cursor/mcp.json- emptymcpServersobject (correct for built-in servers) - Restarted Cursor completely - issue persists
- Verified browser tab is loaded and accessible - page loads correctly
- Confirmed target page has no authentication - accessible directly
Additional Information
- The MCP server uses “streamableHttp” transport
- Connection to streamableHttp server succeeds
- Tool discovery works correctly (11 tools available)
- Only authentication token storage/retrieval appears to fail
- Error occurs consistently across all browser MCP tool types
Workaround
Currently, no workaround identified. The browser MCP tools are non-functional due to authentication failure.
Suggested Fix
The browser MCP server should:
- Automatically generate and store authentication tokens when connecting to streamableHttp server
- Include these tokens in subsequent tool call requests
- Handle token refresh/regeneration if tokens expire
Alternatively, if manual token configuration is required, documentation and settings UI should be provided.
Priority
High - Browser MCP feature is completely non-functional, making the internal browser integration useless for AI-assisted debugging.
Related
- This appears to affect the built-in
cursor-ide-browserMCP server specifically - Other MCP servers may work correctly (not tested)
- Issue occurs regardless of target URL or page content
Submitted: [Date]
Platform: macOS
Cursor Version: [Please fill in]
Steps to Reproduce
Open local page in internal browser.
Configure prompt to connect to internal browser.
Ask Cursor to read console logs from internal browser.
Expected Behavior
Cursor should be able to read logs
Operating System
MacOS
Current Cursor Version (Menu → About Cursor → Copy)
Version: 2.0.38 (Universal)
VSCode Version: 1.99.3
Commit: 3fa438a81d579067162dd8767025b788454e6f90
Date: 2025-10-29T20:45:40.883Z
Electron: 34.5.8
Chromium: 132.0.6834.210
Node.js: 20.19.1
V8: 13.2.152.41-electron.0
OS: Darwin arm64 25.0.0
For AI issues: which model did you use?
Composer 1
Does this stop you from using Cursor
No - Cursor works, but with this issue