Cursor CLI - Robinhood MCP OAuth Fails

Where does the bug appear (feature/product)?

Cursor CLI

Describe the Bug

Robinhood MCP OAuth fails in Cursor CLI during the authorize step. The IDE auth flow for the same server works.

Steps to Reproduce

  1. ~/.cursor/mcp.json contains:
     "robinhood": {
       "url": "https://agent.robinhood.com/mcp/trading"
     }
  1. Run agent mcp login robinhood in a standalone terminal
  2. CLI opens browser with auth URL containing redirect_uri=http%3A%2F%2Flocalhost%3A8787%2Fcallback
  3. CLI listens on http://localhost:8787/callback
  4. Robinhood goes to https://robinhood.com/oauth/error and shows something is wrong
  5. Browser console: 403 on authorize, 400 on security (Ă—3)
  6. No redirect to localhost; agent mcp list still shows requires_authentication

Expected Behavior

Robinhood authorize succeeds and redirects to http://localhost:8787/callback with an auth code, same as other MCP providers that support CLI OAuth.

Operating System

MacOS

Version Information

CLI Version 2026.06.04-5fd875e
Model Composer 2.5 Fast
Subscription Tier Pro
OS darwin (arm64)
Terminal iterm2
Shell zsh

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report. This is a known CLI limitation, not something specific to Robinhood.

What’s happening:
The CLI uses the loopback redirect URI http://localhost:8787/callback, while the IDE uses a different callback mechanism, a deeplink like cursor://.... Robinhood’s OAuth server accepts the IDE option, but rejects the CLI loopback one. That’s why you see a 403 on authorize and a redirect to robinhood.com/oauth/error. So the same server can log in from the IDE, but fails via agent mcp login.

We saw the exact same pattern with Slack MCP in the CLI. Details here: Slack MCP: CLI login fails — redirect_uri mismatch (localhost:8787). Some fixes around redirect URI reordering have already shipped, but for providers that don’t allowlist loopback addresses, this still happens. This is a known issue and it’s being tracked, but I can’t share an ETA for Robinhood.

What you can do right now:

  • The IDE path still works, auth for this server succeeds there.
  • If Robinhood supports MCP via stdio or a token flow without an OAuth redirect, that transport is stable in the CLI since it fully avoids the loopback flow.

If I have an update on a fix, I’ll post it in the thread.

Thanks Dean! Following up here, was wondering if there is any news on this front. And is this something we should raise with Robinhood as well?

Given that other major CLI harnesses (codex CLI, claude code) are explicitly supported by Robinhood, I am surprised that cursor CLI isn’t able to.

It will be really helpful to get this to work, IDE based usage doesn’t quite allow me to automate trading decisions.

Hey Joey, re your requests.

Robinhood has officially listed Cursor as a supported platform, alongside Claude, ChatGPT, and Codex, so it’s not that they don’t know about Cursor. The gap is specifically on the Cursor CLI side.

What happens in practice: Claude Code and the Codex CLI successfully complete Robinhood’s loopback OAuth flow. Claude uses a random ephemeral port, Codex uses a fixed one, default 1455. Cursor CLI sends a fixed localhost:8787/callback and gets a 403 on authorize. Since Cursor is officially supported and the IDE path works, this is a CLI-side limitation on our end, not something Robinhood needs to fix.

So reaching out to Robinhood is probably not the right lever. The fix needs to come from Cursor CLI. I can’t share an ETA yet, but I’ll post an update in the thread as soon as I have one.

For automation in the meantime, your options are the IDE path, since auth works there, or, if Robinhood supports a stdio flow or a token-based flow without an OAuth redirect, that transport is stable in CLI because it fully avoids loopback.

What do you mean the option is the IDE path?
Cancelled my Cursor subscription because Robinhood MCP is not supported, this is a bug from Cursor.

I successfully connected robinhood on one machine via IDE but I am getting this same error on another now and can’t connect it. I am using the cursor ide not the CLI.
{“detail”:“Mismatching Redirect URI: http://localhost:8787/callback”}

changing the protocol to cursor:// manually in the uri makes it work fine…

From: http://localhost:8787/callback

To: cursor://anysphere.cursor-mcp/oauth/callback