FindLeadEmails

com.findleademailsPublished by findleademails.comOfficial publisherv1.1.0Updated Nov 2, 2026

Find and verify B2B work emails, single or bulk. OAuth sign-in or API key; pay per verified email.

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

Hosted FindLeadEmails server that lets an assistant find and verify B2B work emails, one at a time or in bulk, with per-verified-email credits.

What you can do
  • Find and verify one person's work email from name plus company domain or a LinkedIn company page URL
  • Verify whether a single existing email address is a real mailbox
  • Find and verify emails for a batch of up to 100 people in one call
  • Queue larger lists as a background job and read its progress counters
  • Page through a job's per-row results, including while it is still running
When to use it
Useful when an assistant needs to enrich contact lists with work email addresses, check whether addresses it already holds are deliverable, or process a large prospect list in the background. Only worth adding if you have a FindLeadEmails account with credits.
Requirements
A remote Streamable HTTP endpoint; nothing to install. Authentication is either OAuth 2.1 sign-in in the browser (no header) or an API key sent as an Authorization bearer token. An API key is created in the FindLeadEmails developer dashboard. Use the www host, since the redirect can drop the Authorization header. Claude Desktop needs the mcp-remote bridge with Node.js 18+.
Before you install
Lookups spend paid credits: 1 credit per verified email, and create_job reserves one credit per row up front. Runs stop with insufficient_credits once the balance cannot cover a billable result. The API key is shown once and must not be committed; keep it in an environment variable or the client's secure prompt. Names, domains and email addresses you submit are sent to a third-party service.

Installation

In SourceWeft

  1. Open FindLeadEmails in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.findleademails%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "findleademails": {
      "type": "http",
      "url": "https://www.findleademails.com/api/mcp"
    }
  }
}

README

[FindLeadEmails logo]

FindLeadEmails MCP server

Find and verify B2B work emails from your AI assistant: single lookups or bulk lists, with deliverability checks.

This repository holds setup docs and config for the hosted FindLeadEmails MCP server. There is no code to install: the server is remote.

  • URL: https://www.findleademails.com/api/mcp (Streamable HTTP)
  • Auth: sign in with OAuth 2.1 in clients that support it (Claude, ChatGPT, Codex, VS Code, Cursor, Claude Code, Gemini CLI, and others): add the URL with no header and approve in the browser. Or send Authorization: Bearer YOUR_API_KEY. Listing tools (initialize, tools/list) needs neither.
  • API key (only if you don't use OAuth): sign in and create one at https://www.findleademails.com/developers?utm_source=github. It is shown once; rotate it there if lost. Never commit it.

Use the www host. https://findleademails.com redirects, and some clients drop the Authorization header when following that redirect.

[Add to Cursor] [Install in VS Code]

Both buttons add the server URL only. Approve the OAuth sign-in in your browser the first time a tool runs.

Tools

ToolWhat it doesCredits
find_emailFind and verify one person's work email from first_name, last_name, company_domain (or a LinkedIn company page URL).1 only when the mailbox is verified
verify_emailCheck one email you already have.1 only when confirmed valid
find_emails_bulkFind and verify a batch in one synchronous call (capped; returns batch_too_large above the cap).1 per verified result
create_jobQueue a large list for background processing; returns a job id.Reserves 1 per row, refunds unused
get_job_statusProgress and per-outcome counters for a job.Free
get_job_resultsA page of per-row results (page with cursor until next_cursor is null). Works while running.Free

Pricing: misses, catch-alls, predicted results and repeat lookups are free; you pay only for verified emails. Credits never expire. See https://www.findleademails.com/docs/mcp?utm_source=github#credits.

Sign in with OAuth

The server supports OAuth 2.1 with PKCE (S256), Client ID Metadata Documents, and Dynamic Client Registration. In a client that supports OAuth, add the URL with no Authorization header and approve access in your browser. No API key needed.

  • Claude (claude.ai and Claude Desktop): Settings → Connectors → Add custom connector. Paste https://www.findleademails.com/api/mcp, choose "Sign in when needed", and keep "Use Claude's published identity".

  • ChatGPT and Codex: add the server with the URL above and choose OAuth as the authentication method.

  • Claude Code:

    bash
    claude mcp add --transport http findleademails https://www.findleademails.com/api/mcp

    Then run /mcp in Claude Code, select findleademails, and choose Authenticate.

  • VS Code and Cursor: add the URL only, with no headers (or use the install buttons above). The client opens the sign-in page when needed.

  • Gemini CLI: after installing the extension, run /mcp auth findleademails.

Prefer an API key? Use the snippets below.

Setup with an API key

Replace YOUR_API_KEY with your key in every snippet.

Cursor

For OAuth, use the Add to Cursor button above. For an API key, add this by hand to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global). The same file is in this repo as .mcp.json.

json
{  "mcpServers": {    "findleademails": {      "url": "https://www.findleademails.com/api/mcp",      "headers": {        "Authorization": "Bearer YOUR_API_KEY"      }    }  }}

To keep the key out of the file, use "Bearer ${env:FINDLEADEMAILS_API_KEY}".

Claude Code

bash
claude mcp add --transport http findleademails https://www.findleademails.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"

Claude Desktop

Claude Desktop needs the mcp-remote bridge (Node.js 18+). In claude_desktop_config.json:

json
{  "mcpServers": {    "findleademails": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://www.findleademails.com/api/mcp", "--header", "Authorization:${AUTH_HEADER}"],      "env": { "AUTH_HEADER": "Bearer YOUR_API_KEY" }    }  }}

VS Code

.vscode/mcp.json. VS Code prompts for the key and stores it securely:

json
{  "inputs": [    {      "type": "promptString",      "id": "findleademails-api-key",      "description": "Paste your FindLeadEmails API key.",      "password": true    }  ],  "servers": {    "findleademails": {      "type": "http",      "url": "https://www.findleademails.com/api/mcp",      "headers": {        "Authorization": "Bearer ${input:findleademails-api-key}"      }    }  }}

Windsurf

mcp_config.json (open it from the Cascade panel's actions menu; on macOS/Linux ~/.config/devin/mcp_config.json, on Windows %APPDATA%\devin\mcp_config.json):

json
{  "mcpServers": {    "findleademails": {      "serverUrl": "https://www.findleademails.com/api/mcp",      "headers": {        "Authorization": "Bearer YOUR_API_KEY"      }    }  }}

Cline

Ask Cline to install this server from this repo (it follows llms-install.md), or add to cline_mcp_settings.json:

json
{  "mcpServers": {    "findleademails": {      "type": "streamableHttp",      "url": "https://www.findleademails.com/api/mcp",      "headers": {        "Authorization": "Bearer YOUR_API_KEY"      }    }  }}

Gemini CLI

bash
gemini extensions install https://github.com/findleademails/findleademails-mcp

The CLI asks for your API key during install and stores it in the system keychain. Change it later with gemini extensions config findleademails.

Perplexity

Pro, Max or Enterprise: Connectors → add a custom remote connector and choose the authentication option your plan offers. With an API key:

URL: https://www.findleademails.com/api/mcpHeader: Authorization: Bearer YOUR_API_KEY

Grok

On grok.com: Connectors → New Connector → Custom, enter the server URL, and paste the API key when asked for authentication. Business and Enterprise workspaces need an admin to provision custom connectors first.

Grok CLI:

bash
grok mcp add --transport http findleademails https://www.findleademails.com/api/mcp --header "Authorization: Bearer YOUR_API_KEY"

xAI API (the key goes in authorization without the word Bearer):

json
{  "type": "mcp",  "server_url": "https://www.findleademails.com/api/mcp",  "server_label": "findleademails",  "authorization": "YOUR_API_KEY"}

Other clients

A client that supports OAuth only needs the URL. Any client that takes a remote URL plus headers: use the Cursor JSON above, adjusted to that client's key names.

Try it

bash
curl https://www.findleademails.com/api/mcp \  -H "Content-Type: application/json" \  -H "Accept: application/json, text/event-stream" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

A tool call without a key or OAuth token returns HTTP 401 invalid_token (with a WWW-Authenticate header pointing OAuth clients to sign-in) and nothing is charged. A POST without Accept: application/json, text/event-stream returns 406.

Links

License

MIT. See LICENSE.

— The FindLeadEmails team

Source: README.md at commit d161b54

Tools

6

find_email

Find one email

Find and verify one person's work email from their name and company domain, or from a LinkedIn company page URL when you do not have the domain. Costs 1 credit only when the result is verified. Misses, catch-alls, and cached repeats are free and still return at 0 credits. A billable result fails at 0 balance; the error includes https://www.findleademails.com/pricing. This stores the lookup. It does not delete or modify the person's data.

Parameterslast_namerequiredfirst_namerequiredcompany_namelinkedin_urlcompany_domaincompany_linkedin_url

verify_email

Verify one email

Check whether one email address is a real mailbox. Costs 1 credit only when the mailbox is confirmed valid. Invalid, catch-all, unknown, and repeats are free and still return at 0 credits. A new valid mailbox fails at 0 balance; the error includes https://www.findleademails.com/pricing. The credit is spent after a valid result. This does not modify the mailbox.

Parametersemailrequired

find_emails_bulk

Find emails in bulk

Find and verify emails for up to 100 people. Use create_job for a larger list. 1 credit per verified result. Free outcomes still return at 0 credits. Rows run until a billable result cannot be paid for; later rows are skipped with insufficient_credits and https://www.findleademails.com/pricing. This stores the lookups. It does not delete data.

Parametersrecordsrequired

create_job

Create an async bulk job

Queue a large list and return a job id. Reserves one credit per row up front and refunds what rows do not use. If the wallet cannot cover every row, the job is refused up front (no partial queue) with insufficient_credits and https://www.findleademails.com/pricing. Poll get_job_status, then page get_job_results. Each call creates a new job.

Parametersnamerecordsrequiredcallback_url

get_job_status

Get a job's status

Read progress and per-outcome counters for a job created with create_job. Does not spend credits and does not change the job.

Parametersjob_idrequired

get_job_results

Get a job's results

Read one page of a job's per-row results. Readable while the job is still running. Pass cursor back as the next cursor until next_cursor is null. Does not spend credits and does not change the job.

Parameterslimitcursorjob_idrequired

Version history

1
  1. v1.1.0LatestOct 19, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts