From 3024cfcb48ac27232da4c50404e709cc001c0ff2 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Fri, 4 Sep 2026 21:18:51 +0000 Subject: [PATCH] Add Hunter third-party MCP plugin New plugin pointing at Hunter's official hosted Streamable HTTP MCP server (https://mcp.hunter.io/mcp). Auth is OAuth 2.1 with Dynamic Client Registration and PKCE against hunter.io, so the config carries no API key or client ID; the README documents the X-API-Key header as the opt-in alternative Hunter also supports. Logo is Hunter's official fox mark from the hunter-io GitHub org. Co-authored-by: Sam Sokolin --- .cursor-plugin/marketplace.json | 5 ++ README.md | 1 + third_party/hunter/.cursor-plugin/plugin.json | 38 ++++++++++ third_party/hunter/CHANGELOG.md | 9 +++ third_party/hunter/LICENSE | 21 ++++++ third_party/hunter/README.md | 67 ++++++++++++++++++ third_party/hunter/assets/logo.png | Bin 0 -> 5580 bytes third_party/hunter/mcp.json | 8 +++ 8 files changed, 149 insertions(+) create mode 100644 third_party/hunter/.cursor-plugin/plugin.json create mode 100644 third_party/hunter/CHANGELOG.md create mode 100644 third_party/hunter/LICENSE create mode 100644 third_party/hunter/README.md create mode 100644 third_party/hunter/assets/logo.png create mode 100644 third_party/hunter/mcp.json diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 7eb2de2f..b466c492 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -332,6 +332,11 @@ "name": "x-ads", "source": "third_party/x-ads", "description": "Manage ad campaigns, create ads, track conversions, and pull performance stats." + }, + { + "name": "hunter", + "source": "third_party/hunter", + "description": "Find and verify emails, discover companies, and save leads." } ] } diff --git a/README.md b/README.md index 5408d433..4095020b 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `similarweb` | [Similarweb](third_party/similarweb/) | Cursor | Integrations | Analyze website traffic, audiences, and competitors. | | `xero` | [Xero](third_party/xero/) | Cursor | Integrations | Read and write invoices, contacts, reports, and payroll. | | `x-ads` | [X Ads](third_party/x-ads/) | Cursor | Integrations | Manage ad campaigns, create ads, track conversions, and pull performance stats. | +| `hunter` | [Hunter](third_party/hunter/) | Cursor | Integrations | Find and verify emails, discover companies, and save leads. | Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest). ## Repository structure diff --git a/third_party/hunter/.cursor-plugin/plugin.json b/third_party/hunter/.cursor-plugin/plugin.json new file mode 100644 index 00000000..670cc7c7 --- /dev/null +++ b/third_party/hunter/.cursor-plugin/plugin.json @@ -0,0 +1,38 @@ +{ + "name": "hunter", + "displayName": "Hunter", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Find and verify emails, discover companies, and save leads.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://hunter.io/mcp", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "hunter", + "email finder", + "email verifier", + "domain search", + "prospecting", + "enrichment", + "leads", + "gtm", + "sales", + "mcp" + ], + "category": "integrations", + "tags": [ + "hunter", + "sales", + "prospecting", + "enrichment", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/hunter/CHANGELOG.md b/third_party/hunter/CHANGELOG.md new file mode 100644 index 00000000..5963ed16 --- /dev/null +++ b/third_party/hunter/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `hunter` MCP server pointing at Hunter's hosted Streamable HTTP endpoint (`https://mcp.hunter.io/mcp`). +- Auth uses OAuth 2.1 with Dynamic Client Registration and PKCE — no API key or client ID to configure. +- Logo: Hunter's official fox mark, from the `hunter-io` GitHub organization. diff --git a/third_party/hunter/LICENSE b/third_party/hunter/LICENSE new file mode 100644 index 00000000..ca2bba77 --- /dev/null +++ b/third_party/hunter/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/hunter/README.md b/third_party/hunter/README.md new file mode 100644 index 00000000..b1a94b8c --- /dev/null +++ b/third_party/hunter/README.md @@ -0,0 +1,67 @@ +# Hunter + +Cursor plugin that connects agents to [Hunter](https://hunter.io) through Hunter's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Find and verify professional email addresses, list the contacts behind any company domain, discover companies that match a profile, enrich people and companies, and save contacts as leads in the signed-in Hunter account. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Hunter**. +3. Click **Install**, then complete the Hunter sign-in prompt. + +Or run `/add-plugin hunter` in chat. + +## MCP + +```json +{ + "mcpServers": { + "hunter": { + "type": "http", + "url": "https://mcp.hunter.io/mcp" + } + } +} +``` + +Auth is OAuth 2.1 against Hunter with Dynamic Client Registration (DCR) and PKCE. Cursor registers itself and prompts for Hunter sign-in when the plugin connects — there is no API key or client ID to configure. + +## Before you connect + +You need a Hunter account. The MCP server is available on all Hunter plans, including the free plan, and uses the plan and credits of the account that signs in. + +## What agents can do + +| Category | Capabilities | +| --- | --- | +| Discover | Find companies by industry, size, location, technology, and more, or describe the target in natural language (free, no credits) | +| Domain Search | List the people and email addresses behind a company domain, with department and seniority filters | +| Email Finder | Find a professional's most likely email address from a name and company or domain | +| Email Verifier | Check whether an email address is deliverable and see its confidence score and sources | +| Enrichment | Pull person and company data from an email address or domain | +| Leads | Create, update, and organize leads and lead lists; push leads to a connected CRM | +| Campaigns | Add recipients to campaigns and start outreach sequences | + +The hosted runtime is the source of truth for tool names and schemas. + +## Notes + +- Tool calls run as the Hunter user who authorizes the connection and consume that account's credits. Domain Search, Email Finder, Email Verifier, and Enrichment calls cost credits the same way they do in the Hunter app; Discover is free. +- Hunter also accepts an API key instead of OAuth. To skip the sign-in flow, generate a key at https://hunter.io/api-keys and send it as `"headers": {"X-API-Key": ""}` (or `"Authorization": "Bearer "`). Keep the key out of shared config. +- Hunter's `test-api-key` only works against the REST API; the MCP server rejects it with a 401. +- The `hunter-io/hunter-mcp` GitHub repository is Hunter's old local (stdio) server and is archived. Hunter directs all clients to the remote server above. +- Revoke access at any time from your Hunter account's connected apps. + +## Docs + +- Hunter MCP: https://hunter.io/mcp +- Agent setup instructions: https://hunter.io/agents.md +- API reference (MCP section): https://hunter.io/api-documentation/v2#mcp +- Server URL: https://mcp.hunter.io/mcp + +Logo is Hunter's official fox mark, from the `hunter-io` GitHub organization. + +## License + +MIT diff --git a/third_party/hunter/assets/logo.png b/third_party/hunter/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2ee73cd7fc92d919ccce65c8b1adafc090166ac8 GIT binary patch literal 5580 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 HZr=Yt9L8%B literal 0 HcmV?d00001 diff --git a/third_party/hunter/mcp.json b/third_party/hunter/mcp.json new file mode 100644 index 00000000..06c1b9d4 --- /dev/null +++ b/third_party/hunter/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "hunter": { + "type": "http", + "url": "https://mcp.hunter.io/mcp" + } + } +}