Skip to content

Add Apollo.io and ZoomInfo third-party MCP plugins - #196

Merged
SamSokolin merged 1 commit into
mainfrom
cursor/apollo-zoominfo-mcp-plugins-bf0a
Aug 7, 2026
Merged

Add Apollo.io and ZoomInfo third-party MCP plugins#196
SamSokolin merged 1 commit into
mainfrom
cursor/apollo-zoominfo-mcp-plugins-bf0a

Conversation

@SamSokolin

Copy link
Copy Markdown
Collaborator

Adds third_party/apollo-io and third_party/zoominfo, following the same shape as the existing Gmail and Google Workspace plugins.

Both vendors ship official first-party remote MCP servers, so both are the simplest possible plugin shape — a URL-only mcp.json with no variables block:

Vendor Endpoint Transport / auth API key
Apollo.io https://mcp.apollo.io/mcp Streamable HTTP + OAuth 2.0 none
ZoomInfo https://mcp.zoominfo.com/mcp Streamable HTTP + OAuth 2.0 none

Apollo's server covers prospecting, enrichment, contacts, lists, sequences, tasks, and one-off emails. ZoomInfo's covers company and contact search and enrichment plus buyer intent signals, scoops, news, and account research.

Each plugin adds .cursor-plugin/plugin.json, mcp.json, README.md, CHANGELOG.md, LICENSE, and a 192×192 assets/logo.svg, plus entries in .cursor-plugin/marketplace.json and the root README table.

Two things worth a look in review:

  • The Apollo plugin is named apollo-io, not apollo. In a marketplace full of dev tools, "Apollo" reads as Apollo GraphQL, which ships a completely unrelated self-hosted MCP server for GraphQL APIs. The README says so explicitly.
  • Both vendors prohibit AI model training on data pulled through MCP, so both READMEs have a "Before you connect" section telling users to turn model training off first.

Testing: npm install --no-save ajv ajv-formats && node scripts/validate-plugins.mjs — the same check CI runs — prints "All plugins validated successfully". Both logos were rendered at 192px and 48px next to the existing Gmail logo to confirm they read correctly at marketplace and list sizes:

Apollo.io and ZoomInfo plugin logos rendered next to the existing Gmail logo

Slack Thread

Open in Web Open in Cursor 

Both vendors ship official first-party remote MCP servers over Streamable
HTTP with OAuth 2.0 and no API key, so each plugin is a URL-only mcp.json
with no variables block.

Named the Apollo plugin apollo-io to avoid colliding with Apollo GraphOS,
which ships an unrelated self-hosted MCP server. Both vendors prohibit AI
model training on data pulled through MCP, so both READMEs call that out.

Co-authored-by: Sam Sokolin <SamSokolin@users.noreply.github.com>
@SamSokolin
SamSokolin marked this pull request as ready for review August 7, 2026 15:07
@SamSokolin
SamSokolin merged commit 4ffe1ff into main Aug 7, 2026
2 checks passed

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix prepared a fix for the issue found in the latest run.

  • ✅ Fixed: ZoomInfo OAuth config broken
    • Confirmed via ZoomInfo's official plugin repo that their server cannot complete OAuth discovery with Cursor's native HTTP client, and replaced the URL-only registration in mcp.json (and the README snippet) with the npx mcp-remote stdio bridge shape they ship for Cursor.

Create PR

Or push these changes by commenting:

@cursor push b26a17b612
Preview (b26a17b612)
diff --git a/third_party/zoominfo/README.md b/third_party/zoominfo/README.md
--- a/third_party/zoominfo/README.md
+++ b/third_party/zoominfo/README.md
@@ -18,15 +18,24 @@
 {
   "mcpServers": {
     "zoominfo": {
-      "type": "http",
-      "url": "https://mcp.zoominfo.com/mcp"
+      "command": "npx",
+      "args": [
+        "-y",
+        "mcp-remote@0.1.38",
+        "https://mcp.zoominfo.com/mcp",
+        "46818",
+        "--static-oauth-client-metadata",
+        "{\"scope\":\"openid profile email offline_access zi_api zi_mcp api:data:mcp\"}"
+      ]
     }
   }
 }

-Auth is OAuth 2.0 against ZoomInfo, including organization SSO. Cursor prompts for ZoomInfo sign-in when the plugin connects — there is no API key to configure.
+ZoomInfo's server does not yet complete OAuth discovery with Cursor's native HTTP client, so the plugin connects through the mcp-remote stdio bridge, which runs the OAuth flow locally. This needs Node.js (npx) on your machine.

+Auth is OAuth 2.0 against ZoomInfo, including organization SSO. The bridge opens ZoomInfo sign-in in your browser on first connect and reuses cached tokens afterwards — there is no API key to configure.
+

Before you connect

ZoomInfo prohibits AI model training on data accessed through ZoomInfo MCP. Turn model training off in your Cursor privacy settings before connecting.

diff --git a/third_party/zoominfo/mcp.json b/third_party/zoominfo/mcp.json
--- a/third_party/zoominfo/mcp.json
+++ b/third_party/zoominfo/mcp.json
@@ -1,8 +1,15 @@
{
"mcpServers": {
"zoominfo": {

  •  "type": "http",
    
  •  "url": "https://mcp.zoominfo.com/mcp"
    
  •  "command": "npx",
    
  •  "args": [
    
  •    "-y",
    
  •    "mcp-remote@0.1.38",
    
  •    "https://mcp.zoominfo.com/mcp",
    
  •    "46818",
    
  •    "--static-oauth-client-metadata",
    
  •    "{\"scope\":\"openid profile email offline_access zi_api zi_mcp api:data:mcp\"}"
    
  •  ]
    
    }
    }
    }

</details>


<sub>You can send follow-ups to the cloud agent <a href="https://cursor.com/agents/bc-4602b362-b42d-4f11-91f6-7d3aac5cfc1c">here</a>.</sub>
<!-- BUGBOT_AUTOFIX_REVIEW_FOOTNOTE_END -->

<sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 97479daaf4134e731c9bf4ae6ce2081f33509a61. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ZoomInfo OAuth config broken

High Severity · Logic Bug

mcp.json registers ZoomInfo as a bare HTTP URL, but ZoomInfo’s Cursor integration still requires the mcp-remote stdio bridge. Their /oauth/register endpoint rejects Cursor’s cursor:// redirect URI, so native HTTP OAuth fails and the plugin cannot authenticate. ZoomInfo’s own plugin keeps the npx mcp-remote shape, and their native-HTTP switch remains blocked pending that server fix.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 97479da. Configure here.

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