PeopleSearch.im
by peoplesearch.im · remote · no sign-in to list tools · v1.2.0 · published by im.peoplesearch
People search, LinkedIn lookup and verified work emails for AI agents. First search needs no login.
13 tools: 10 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things10Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
8 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http email-finder https://peoplesearch.im/api/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnfind_people
The server marks "find_people" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "find_people" says "find": a word for reading.
- Warnfetch_email
The server marks "fetch_email" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "fetch_email" says "fetch": a word for reading.
- Warnfind_work_email
The server marks "find_work_email" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "find_work_email" says "find": a word for reading.
The server marks "find_company_emails" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "find_company_emails" says "find": a word for reading.
The server marks "reverse_email_lookup" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "reverse_email_lookup" says "lookup": a word for reading.
The server marks "find_linkedin_profile" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "find_linkedin_profile" says "find": a word for reading.
Show 2 more findingsShow fewer
The server marks "lookup_linkedin_profile" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "lookup_linkedin_profile" says "lookup": a word for reading.
- Warnlookup_company
The server marks "lookup_company" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "lookup_company" says "lookup": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
13 tools
Changes things 10Claude Code: ask
fetch_emailLook up the verified professional (work) email for a person you have already unlocked with find_people (or reveal_profile).1 finding
Why it is in this group
- The name "fetch_email" says "fetch": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "fetch_email" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "fetch_email" says "fetch": a word for reading.
Description, as the server wrote it Look up the verified professional (work) email for a person you have already unlocked with find_people (or reveal_profile). Pass their `id`. Spends 1 credit, refunded automatically if no email is found. The lookup is live: if it returns emailStatus 'searching', call fetch_email again with the same id (no extra charge) to collect the result once it resolves. Returns a professional address, never a personal one; not every person has a findable work email.
Annotations the server declares
- title: Fetch a verified work email
- readOnlyHint: false
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
find_company_emailsGiven a company domain or name, return the contactable role-based email addresses discovered for that organization (such as contact@, sales@, support@), each with a confidence leve…1 finding
Why it is in this group
- The name "find_company_emails" says "find": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "find_company_emails" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "find_company_emails" says "find": a word for reading.
Description, as the server wrote it Given a company domain or name, return the contactable role-based email addresses discovered for that organization (such as contact@, sales@, support@), each with a confidence level. Use this for reaching a company inbox, not a specific named person (for a named person use find_people or find_linkedin_profile). Spends 2 credits, refunded if none are found.
Annotations the server declares
- title: Find a company's emails
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
find_linkedin_profileFind the LinkedIn profile URL for a named person.1 finding
Why it is in this group
- The name "find_linkedin_profile" says "find": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "find_linkedin_profile" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "find_linkedin_profile" says "find": a word for reading.
Description, as the server wrote it Find the LinkedIn profile URL for a named person. Provide their first and last name; adding the company or domain sharply improves the match. Spends 2 credits, refunded if no confident match is found.
Annotations the server declares
- title: Find a LinkedIn profile
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
find_peopleThe list-building tool.1 finding
Why it is in this group
- The name "find_people" says "find": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "find_people" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "find_people" says "find": a word for reading.
Description, as the server wrote it The list-building tool. Runs a people search exactly as people_search does (the same `filters` or `query`, including its automatic broadening, reported in `broadenedBy`) and unlocks up to `count` full profiles in ONE atomic charge: 1 credit per newly unlocked person, and anyone you already own is free. Pass the same filters you checked with people_search, so you pay for the people you saw. Returns each person's real name, title, company, location, LinkedIn URL and an `id`. Emails are NOT fetched here (that is a separate credit): after unlocking, call fetch_email with each person's `id` to get their verified work email. WARNING for autonomous use: this can spend up to `count` credits in a single call, so choose `count` deliberately and confirm with the user before large batches. Returns an out-of-credits error instead of overspending.
Annotations the server declares
- title: Find & unlock a batch of people
- readOnlyHint: false
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
find_work_emailFind and verify the professional (work) email of a person you can name: give their first name, last name and the company they work at (its domain, such as acme.com, matches best; a…1 finding
Why it is in this group
- The name "find_work_email" says "find": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "find_work_email" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "find_work_email" says "find": a word for reading.
Description, as the server wrote it Find and verify the professional (work) email of a person you can name: give their first name, last name and the company they work at (its domain, such as acme.com, matches best; a company name also works). Returns the address with a confidence label (Verified or Likely) and their LinkedIn profile when it can be matched. Spends 2 credits, refunded automatically if no email is found. People who asked to be removed from PeopleSearch.im are never looked up. To find people you cannot name yet, use people_search or find_people, then fetch_email.
Annotations the server declares
- title: Find a person's work email
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
lookup_companyTurn a LinkedIn company URL into firmographic data: industry, size, location and website.1 finding
Why it is in this group
- The name "lookup_company" says "lookup": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "lookup_company" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "lookup_company" says "lookup": a word for reading.
Description, as the server wrote it Turn a LinkedIn company URL into firmographic data: industry, size, location and website. Spends 1 credit, refunded if the company cannot be retrieved.
Annotations the server declares
- title: Look up a company
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
lookup_linkedin_profileTurn a LinkedIn profile URL into clean structured data: name, current role and company, and location.1 finding
Why it is in this group
- The name "lookup_linkedin_profile" says "lookup": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "lookup_linkedin_profile" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "lookup_linkedin_profile" says "lookup": a word for reading.
Description, as the server wrote it Turn a LinkedIn profile URL into clean structured data: name, current role and company, and location. Spends 2 credits, refunded if the profile cannot be retrieved.
Annotations the server declares
- title: Look up a LinkedIn profile
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
reveal_profileUnlock ONE person from a people_search result.No findings
Why it is in this group
- The description's first verb is "unlock": a word for a change.
Description, as the server wrote it Unlock ONE person from a people_search result. Pass the `token` from that result. Spends 1 credit and returns the full profile: real name, current title and company, location and LinkedIn URL. Set `include_email` to true to also look up their verified professional (work) email in the same call, which spends 1 more credit that is refunded if no email is found. Revealing the same person again is free (idempotent). The email is looked up live and may take a moment: if it returns emailStatus 'searching', call reveal_profile again with the same token (no extra charge) to collect it.
Annotations the server declares
- title: Reveal a person
- readOnlyHint: false
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
reverse_email_lookupTurn a professional email address into the real person behind it and their LinkedIn profile.1 finding
Why it is in this group
- The name "reverse_email_lookup" says "lookup": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "reverse_email_lookup" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "reverse_email_lookup" says "lookup": a word for reading.
Description, as the server wrote it Turn a professional email address into the real person behind it and their LinkedIn profile. Best for work emails; free-mailbox addresses often have no public profile to match. Spends 13 credits (this is the single most expensive lookup), refunded automatically if no match is found.
Annotations the server declares
- title: Reverse email lookup
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
verify_emailCheck whether an email address exists and is safe to send to, before it bounces.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check whether an email address exists and is safe to send to, before it bounces. Returns a deliverability verdict (deliverable, undeliverable, or unknown) without sending anything. Spends 1 credit, refunded if no verdict can be reached.
Annotations the server declares
- title: Verify an email address
- readOnlyHint: false
- idempotentHint: false
- destructiveHint: false
- openWorldHint: true
Only reads 3Claude Code: allow
check_creditsReturn the current credit balance for the API key making the request.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Return the current credit balance for the API key making the request. Free and read-only. Use it before a large find_people call to confirm there are enough credits.
Annotations the server declares
- title: Check credit balance
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: false
company_searchSearch a global company database and get matching companies with industry, size, location and website.No findings
Why it is in this group
- The name "company_search" says "search": a word for reading.
Description, as the server wrote it Search a global company database and get matching companies with industry, size, location and website. Three ways to ask: a company's website ('warmly.ai') returns that one company, the most exact way to identify one; a company's name ('Warmly') returns the companies of that name; a description in plain English ('Series B fintech companies in London with 50-200 employees') returns the companies that fit it. Searching companies is FREE and spends no credits. It also works before a PeopleSearch.im account is connected: without one it returns up to 3 companies per search, up to 10 searches a day.
Annotations the server declares
- title: Search companies
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
people_searchSearch a global professional database for people and get a sample of matches plus the true total match count.No findings
Why it is in this group
- The name "people_search" says "search": a word for reading.
Description, as the server wrote it Search a global professional database for people and get a sample of matches plus the true total match count. Ask with `filters` (recommended: state each part exactly, for example {"job_titles": ["M&A Associate", "Investment Banking Associate"], "locations": ["Frankfurt", "Munich"], "industries": ["Investment Banking"], "schools": ["University of Mannheim"]}) or with `query`, a plain-English sentence that is parsed for you (for example 'Heads of Marketing at Series B SaaS in New York'). Results are masked previews (a masked name, role, industry, company size and location) and each one carries an opaque `token`. Searching is FREE and spends no credits: use it to check that the right people come back before you pay, and refine the filters if they do not. To look up one named person, give `first_name` and `last_name` with their company or company domain when known. For a kind of employer no industry names exactly, use `company_keywords` (words its own description contains, for example ["hostel"] or ["SEO"] with industries ["Marketing Services"]). If nothing matches exactly, the search broadens itself: a job title is read more broadly first (`broadenedRole` gives the title as asked and as searched), then the least essential filters are dropped and `broadenedBy` names them; `ignored` lists any filter that could not be applied. To get a person's real name, LinkedIn and verified email, pass their token to reveal_profile, or use find_people with the same filters to unlock a batch in one call. It also works before a PeopleSearch.im account is connected: without one it returns up to 3 previews per search, up to 10 searches a day.
Annotations the server declares
- title: Search people
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http email-finder https://peoplesearch.im/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__email-finder__people_search",
"mcp__email-finder__company_search",
"mcp__email-finder__check_credits"
],
"ask": [
"mcp__email-finder__reveal_profile",
"mcp__email-finder__find_people",
"mcp__email-finder__fetch_email",
"mcp__email-finder__find_work_email",
"mcp__email-finder__verify_email",
"mcp__email-finder__find_company_emails",
"mcp__email-finder__reverse_email_lookup",
"mcp__email-finder__find_linkedin_profile",
"mcp__email-finder__lookup_linkedin_profile",
"mcp__email-finder__lookup_company"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as email-finder. Review it before you use it.