mcp-people-finder
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-people-finderfind VPs of Sales at Stripe and verify their emails"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
People Finder & Email Verifier MCP Server
MCP server for the Mamba Labs People Finder & Email Verifier actor on Apify.
Give it a company domain, name or LinkedIn URL and it returns the people at that company who match your role, seniority and department filters, each as a structured contact record with an optional verified business email.
Install
npx -y @mambalabsdev/mcp-people-finderClaude Desktop
{
"mcpServers": {
"mamba-people-finder": {
"command": "npx",
"args": ["-y", "@mambalabsdev/mcp-people-finder"],
"env": { "APIFY_TOKEN": "your-apify-token" }
}
}
}Get an Apify token at console.apify.com/account/integrations.
Related MCP server: Apollo MCP
Tool
find_people_and_emails
Give it a company domain, name or LinkedIn URL and it returns the people at that company who match your role, seniority and department filters, each as a structured contact record with an optional verified business email.
Input | Type | Required | Notes |
| string | no | Bare domain without https:// or trailing slash. Example: stripe.com |
| string | no | Used when no domain is available, or as a disambiguation hint alongside a domain. |
| string | no | Example: https://www.linkedin.com/company/stripe. Skips internal company resolution when provided. |
| array | no | Optional list of bare domains. Takes precedence over the single domain field. Each domain is searched independently and every output row echoes its source domain. |
| integer | no | Maximum people to return per company. Billing is per person actually returned, so a lower number is a hard cost cap. |
| array | no | Case-insensitive substring match against the person's current title. Any match qualifies. Leave empty for no title filter. Example: VP Sales, Head of Growth |
| array | no | Case-insensitive substring match. A person matching any of these is dropped even if they matched an include. Example: intern, assistant, former |
| array | no | Filter to these normalized seniority levels. Leave empty for all. |
| array | no | Filter to these normalized departments. Leave empty for all. |
| array | no | ISO 3166-1 alpha-2 codes. Filters to people located in these countries. Example: US, GB, NL |
| boolean | no | Discover a business email for each person found, using your Icypeas and/or Prospeo keys. Billed only when an email is actually returned. Turn off to build an org map cheaply. |
| boolean | no | Check deliverability of each email found, escalating catch-all domains to a second provider for a definitive answer. Requires a Reoon and/or BounceBan key. |
| boolean | no | Check that the person still holds the returned title at the target company, and report the reasoning. Reduces bounced outreach to people who have moved on. |
| array | no | LinkedIn profile URLs to exclude from results. Use to suppress already-contacted prospects or honor data subject removal requests. |
| integer | no | How many companies to search concurrently in batch mode. Default 5, maximum 10. |
| boolean | no | Results are cached for 7 days and reused on repeat lookups. Set true to force a fresh search. |
| string | no | Serper.dev API key. Unlocks the search layer, which is the highest-coverage source of LinkedIn profile URLs. Without it this actor falls back to company website parsing only, which returns far fewer people. Get a key at https://serper.dev. You are billed by Serper for searches; this actor does not mark them up. |
| string | no | Second provider in the email waterfall. Used only for people the first provider could not resolve. Get a key at https://prospeo.io. Billed to you by Prospeo; this actor does not mark it up. |
| string | no | Primary email verification. Returns deliverability status for each discovered address. Get a key at https://emailverifier.reoon.com. Billed to you by Reoon. |
| string | no | Catch-all resolution. Used only when the primary verifier returns catch-all or risky, to determine whether that specific mailbox exists. Get a key at https://bounceban.com. Billed to you by BounceBan. |
| string | no | Optional. Only used for the licensed-database fallback layer, which runs when the company website and public search results do not yield enough people. Leave empty to skip that layer entirely; the run still succeeds and reports any shortfall in the summary. |
| string | no | Optional. Only used to classify job titles that the built-in rule table cannot place into a seniority and department. One batched call per run, never per person. Leave empty to leave those two fields null on the affected rows. |
Billing
You are charged per company searched, per person found, per email found, per email verified, per position verified and per SERP query, plus a small actor start fee. A lower targetCount is a hard cost cap.
Pricing is on the actor's Apify page. Running this server consumes Apify credits.
What this server does and does not do
It is a thin client for the Apify actor. It passes your input through and returns the actor's output unchanged. Every behavior described above lives in the actor, not here.
Errors are surfaced, never swallowed. An invalid input, an invalid token, an exhausted balance, a timeout, or a run that returns anything other than a dataset all come back as an explicit tool error rather than as an empty result.
Source
The actor is on the Apify Store. This wrapper is MIT licensed.
Built by Mamba Labs
Available Tools
1 toolfind_people_and_emailsFind People and EmailsARead-onlyIdempotent
Find people at a company and optionally discover and verify their business email. Identify the company by bare domain, by company name, by LinkedIn company URL, or pass a list of domains to run a batch where every output row echoes its source domain. Results are filtered by job title include and exclude lists, by normalized seniority, by normalized department and by country. A four layer cascade runs the company website, public search and a licensed database fallback, with company match scoring on every candidate; nothing here scrapes LinkedIn directly. Email discovery runs a two provider waterfall and verification escalates catch all domains to a second provider for a definitive answer. Provider keys are yours: you supply them, the vendors bill you directly, and the actor does not mark them up. Without a Serper key the search layer is off and coverage drops sharply. targetCount is a hard cost cap because billing is per person actually returned. Requires an APIFY_TOKEN and consumes Apify credits. Read only: it finds and verifies, it writes nothing.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Bare domain without https:// or trailing slash. Example: stripe.com | |
| domains | No | Optional list of bare domains. Takes precedence over the single domain field. Each domain is searched independently and every output row echoes its source domain. | |
| batchSize | No | How many companies to search concurrently in batch mode. Default 5, maximum 10. Default: 5. | |
| countries | No | ISO 3166-1 alpha-2 codes. Filters to people located in these countries. Example: US, GB, NL | |
| jobTitles | No | Case-insensitive substring match against the person's current title. Any match qualifies. Leave empty for no title filter. Example: VP Sales, Head of Growth | |
| seniority | No | Filter to these normalized seniority levels. Leave empty for all. | |
| skipCache | No | Results are cached for 7 days and reused on repeat lookups. Set true to force a fresh search. Default: false. | |
| serpApiKey | No | Serper.dev API key. Unlocks the search layer, which is the highest-coverage source of LinkedIn profile URLs. Without it this actor falls back to company website parsing only, which returns far fewer people. Get a key at https://serper.dev. You are billed by Serper for searches; this actor does not mark them up. | |
| departments | No | Filter to these normalized departments. Leave empty for all. | |
| reoonApiKey | No | Primary email verification. Returns deliverability status for each discovered address. Get a key at https://emailverifier.reoon.com. Billed to you by Reoon. | |
| targetCount | No | Maximum people to return per company. Billing is per person actually returned, so a lower number is a hard cost cap. Default: 5. | |
| claudeApiKey | No | Optional. Only used to classify job titles that the built-in rule table cannot place into a seniority and department. One batched call per run, never per person. Leave empty to leave those two fields null on the affected rows. | |
| company_name | No | Used when no domain is available, or as a disambiguation hint alongside a domain. | |
| verifyEmails | No | Check deliverability of each email found, escalating catch-all domains to a second provider for a definitive answer. Requires a Reoon and/or BounceBan key. Default: true. | |
| icypeasApiKey | No | Optional. Only used for the licensed-database fallback layer, which runs when the company website and public search results do not yield enough people. Leave empty to skip that layer entirely; the run still succeeds and reports any shortfall in the summary. | |
| includeEmails | No | Discover a business email for each person found, using your Icypeas and/or Prospeo keys. Billed only when an email is actually returned. Turn off to build an org map cheaply. Default: true. | |
| prospeoApiKey | No | Second provider in the email waterfall. Used only for people the first provider could not resolve. Get a key at https://prospeo.io. Billed to you by Prospeo; this actor does not mark it up. | |
| verifyPosition | No | Check that the person still holds the returned title at the target company, and report the reasoning. Reduces bounced outreach to people who have moved on. Default: false. | |
| bounceBanApiKey | No | Catch-all resolution. Used only when the primary verifier returns catch-all or risky, to determine whether that specific mailbox exists. Get a key at https://bounceban.com. Billed to you by BounceBan. | |
| excludeJobTitles | No | Case-insensitive substring match. A person matching any of these is dropped even if they matched an include. Example: intern, assistant, former | |
| linkedin_company_url | No | Example: https://www.linkedin.com/company/stripe. Skips internal company resolution when provided. | |
| suppressLinkedInUrls | No | LinkedIn profile URLs to exclude from results. Use to suppress already-contacted prospects or honor data subject removal requests. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses many behavioral traits beyond annotations: the four-layer cascade, no LinkedIn scraping, email provider waterfall, catch-all escalation, and the fact that provider keys are used directly with no markup. It also confirms the read-only nature, aligning with readOnlyHint and destructiveHint. This rich context adds significant value over the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured, starting with the core purpose and then detailing pipeline behavior, constraints, and billing. Every sentence carries useful information; however, the length is considerable. It remains appropriately sized for a complex 22-parameter tool, and the front-loading of the core function is effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers identification, filtering, pipeline, costs, provider keys, and read-only behavior. Since there is no output schema, it does not explicitly specify the return structure beyond 'every output row echoes its source domain' and mentions a summary for shortfalls. This is a minor gap; otherwise the context is comprehensive for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all 22 parameters at 100% coverage, so the baseline is 3. The description adds high-level semantic context, such as targetCount acting as a cost cap, the precedence of domains over domain, and the overall identification modes. This goes slightly beyond the schema's per-parameter descriptions, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: 'Find people at a company and optionally discover and verify their business email.' It then enumerates identification methods (domain, company name, LinkedIn URL, batch domains) and filtering dimensions, which fully specifies the tool's purpose. There are no sibling tools to distinguish from, and the description is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: prerequisites (APIFY_TOKEN), cost implications (targetCount hard cap, provider billing), and consequences of missing keys (no Serper means lower coverage). It doesn't explicitly state 'use this when...' but the context is sufficient given no siblings. It lacks an explicit 'when not to use' section, which prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.0.0- First observed
find_people_and_emails
TDQS
With only one tool, there is no possibility of confusion between tools. The tool's purpose is clearly described and self-contained.
The single tool name follows the verb_noun pattern (find_people_and_emails), which is clear and descriptive. With only one tool, consistency is inherently maintained.
The server has exactly one tool, which feels thin for a general-purpose people finder service. While the tool is comprehensive, a single tool may not cover all potential use cases or allow for modularity.
The tool covers the full cycle of finding people and emails, including company identification, filtering, batch processing, and email verification. It is read-only, but no obvious gaps exist for its stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Tomba email finder, verification, and contact enrichment API
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
MCP server for LeadDelta — manage LinkedIn connections and CRM data via AI assistants.
Remote MCP server to enrich company profiles with structured B2B data and confidence scores.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for Apollo.io B2B sales intelligence API. Enables searching and enriching people and organizations via natural language.7114MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for the Apollo.io API that lets LLMs search and enrich people and company data.66MIT
- AlicenseAqualityDmaintenanceLead generation MCP server for AI agents. Find emails, verify contacts, enrich profiles, and search prospects using Hunter.io, Apollo.io, and Abstract API.819MIT
- AlicenseAqualityDmaintenanceMCP server for emailfinder.dev that enables AI assistants to find verified professional email addresses via name/domain, LinkedIn URLs, company domains, roles, and email validation.556MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mambalabsdev/mcp-people-finder'
If you have feedback or need assistance with the MCP directory API, please join our Discord server