Skip to content

feat(cursor): switch to native HTTP MCP registration (DO NOT MERGE until /oauth/register fix deploys)#13

Draft
RowanZI wants to merge 1 commit into
mainfrom
cursor-native-mcp
Draft

feat(cursor): switch to native HTTP MCP registration (DO NOT MERGE until /oauth/register fix deploys)#13
RowanZI wants to merge 1 commit into
mainfrom
cursor-native-mcp

Conversation

@RowanZI

@RowanZI RowanZI commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

Stages the swap of Cursor's MCP registration from the mcp-remote stdio bridge to the native direct-HTTP config, now that ZoomInfo's OAuth server is being updated to accept Cursor's native redirect URI.

  • mcp.jsonmcp-remote bridge → native { "url": "https://mcp.zoominfo.com/mcp" } (Cursor infers HTTP transport from url; no Node.js, no client ID — relies on the server's /oauth/register DCR endpoint).
  • README.md — Cursor moves under native registration alongside Claude/Codex; mcp-remote is demoted to a documented fallback for environments that can't complete native OAuth, with the pin bumped 0.1.16 → 0.1.38.

⚠️ DO NOT MERGE YET — blocked on two conditions

  1. Server fix deployed. POST https://mcp.zoominfo.com/oauth/register currently rejects Cursor's native redirect URI cursor://anysphere.cursor-mcp/oauth/callback with "each value in redirect_uris must be a URL address" (class-validator @IsUrl() rejecting the private-use URI scheme). The fix is to relax redirect_uris validation to allow non-http(s) schemes per RFC 8252 §7.1 / RFC 7591. As of 2026-06-05 the fix is not yet on the live endpoint.
  2. Native confirmed end-to-end in Cursor. After the deploy, confirm Cursor actually connects via the native config (also rules out Cursor's separate resource_metadata discovery quirk). If native doesn't fully work, keep the mcp-remote bridge as the primary Cursor config and we revisit.

Until both are true, the mcp-remote bridge in main keeps working and should stay the shipped Cursor setup. Merging this early would break Cursor installs.

Website snippet (for the Cursor tab, once unblocked)

Not in this repo, but for whoever owns the getting-started page — the Cursor tab becomes the zero-dependency native config (no "Requires Node.js"):

{
  "mcpServers": {
    "zoominfo": {
      "url": "https://mcp.zoominfo.com/mcp"
    }
  }
}

Saved to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).

Swap Cursor's mcp.json from the mcp-remote stdio bridge to the native
direct-HTTP config ({ "url": ... }), now that ZoomInfo's /oauth/register
DCR endpoint accepts Cursor's native redirect URI. Demote mcp-remote to a
documented fallback (bumped 0.1.16 -> 0.1.38) for environments that can't
complete native OAuth.

DO NOT MERGE until the /oauth/register @isurl() fix is deployed and native
DCR is confirmed end-to-end in Cursor.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants