PeopleSearch.im
Server Details
Plain-English people search with verified work emails, email verification and LinkedIn lookup.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
12 toolscheck_creditsCheck credit balanceARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the description doesn't need to restate safety. It adds value by disclosing that the call is free and that the balance is tied to the requesting API key, which are behavioral facts not present in annotations. It doesn't describe the response format, but the behavior is simple enough that this is a minor gap.
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 two sentences with no filler. The core purpose is front-loaded, followed by cost/safety context and a practical usage tip. Every sentence earns its place.
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?
For a zero-parameter, read-only tool with strong annotations, the description fully covers what the tool does, what it costs, and when to use it. No output schema exists, but the return value is self-evident from the tool name and description, so nothing critical is missing.
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?
With zero parameters and 100% schema coverage, there is nothing for the description to clarify. The baseline of 4 applies because the tool requires no parameters and the description correctly implies that no arguments are needed.
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 states a specific verb ('Return'), a clear resource ('current credit balance'), and the auth scope ('for the API key making the request'). This clearly distinguishes it from all sibling tools, which deal with searches, lookups, and email verification rather than account credits.
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 explicitly says when to use this tool: before a large find_people call, to confirm sufficient credits. It also names the specific sibling tool (find_people) and frames the check as a prerequisite, giving the agent concrete decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_searchSearch companiesARead-onlyIdempotentInspect
Search a global company database in plain English (for example 'Series B fintech companies in London with 50-200 employees') and get matching companies with industry, size, location and website. Searching companies is FREE and spends no credits.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The companies you want, in plain English. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds useful behavioral context beyond annotations by noting that searching is free and spends no credits, and by stating what the results contain. It does not contradict 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?
Two sentences with no filler: the first states the core purpose and gives a query example, the second delivers the cost-relevant behavior. The most important information is front-loaded.
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?
For a simple one-parameter search tool, the description covers what the query should look like, what results are returned, and the credit behavior. It does not specify result limits or pagination, but the annotations and minimal schema keep that gap minor.
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 schema has one parameter with 100% description coverage, so the schema already explains the query. The tool description adds a concrete example of valid query phrasing, which helps an agent construct a better natural-language query. This is above the schema-only baseline but not extensive.
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?
States a specific verb ('Search'), a resource ('global company database'), and the natural-language query style, plus the returned fields (industry, size, location, website). It is clearly distinguishable from siblings like lookup_company by emphasizing free-form searching rather than entity lookup.
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 implies when to use it: when the user has flexible, plain-English criteria, which is reinforced with a concrete example. However, it does not explicitly name sibling alternatives or state when not to use it, such as when looking up a specific known company.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_emailFetch a verified work emailAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| profile_id | Yes | The `id` of a person returned by find_people (or reveal_profile). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses meaningful behavior: it spends 1 credit, refunds if no email is found, can return a transient 'searching' status requiring a no-charge retry, and never returns personal addresses. This gives the agent essential operational expectations for a live lookup.
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 concise but information-dense, front-loading the core purpose and then covering credit cost, retry semantics, result type, and limitations. Every sentence contributes operational value with no filler.
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?
For a single-parameter tool with no output schema, the description sufficiently covers input expectations, return semantics, retry behavior, and edge cases. It could be slightly more explicit about output fields beyond emailStatus, but it is complete enough for an agent to invoke and interpret the result correctly.
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?
Schema coverage is 100%, but the description adds practical meaning by clarifying the parameter is the person id from find_people or reveal_profile, and that the same id can be reused for the retry. This supplements the schema's simple description without being redundant.
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 clearly states the tool looks up a verified professional work email for an already-unlocked person, with a specific resource (person id) in scope. It is distinct from sibling tools like verify_email or company search because it targets a person's work email specifically.
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 gives clear context: use it for a person already unlocked via find_people or reveal_profile, and pass their id. It also explains the retry flow when emailStatus is 'searching'. It does not explicitly name alternatives or exclusions relative to siblings, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_company_emailsFind a company's emailsAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain_or_company | Yes | A company domain (preferred, e.g. acme.com) or company name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the credit cost and refund behavior, which is not captured in the annotations. It also clarifies the output includes confidence levels. It does not contradict the annotations, and while readOnlyHint is false, the description sufficiently explains the resource-affecting aspect via credit spend.
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 compact and front-loaded with the core behavior, followed by usage routing and cost transparency. Every sentence earns its place with no redundancy or filler.
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?
For a single-parameter tool with no output schema, the description fully covers input, output content, confidence levels, use cases, exclusions, alternatives, and credit implications. Nothing essential is missing for an agent to invoke it correctly.
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 schema already documents the single parameter at 100% coverage, but the description adds practical meaning: domain is preferred, company name is also accepted, and it provides an example format. This goes beyond the schema's basic description.
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 clearly identifies the tool's function: given a company domain or name, return role-based email addresses with confidence levels. It explicitly distinguishes itself from named-person lookups by naming find_people and find_linkedin_profile, so an agent can immediately tell what this tool is for.
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?
It states when to use the tool ('Use this for reaching a company inbox') and when not to ('not a specific named person'), and names the exact alternative tools. It also notes the preferred input format (domain preferred), giving clear operational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_linkedin_profileFind a LinkedIn profileAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| last_name | Yes | The person's last name. | |
| first_name | Yes | The person's first name. | |
| company_or_domain | No | Optional but recommended: the company name or domain they work at, to disambiguate common names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond the annotations by disclosing the credit cost and refund policy for unmatched results. No contradiction with annotations; readOnlyHint=false is consistent with spending credits.
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 three tightly written sentences: purpose first, then input guidance, then cost/refund behavior. Every sentence earns its place with no repetition or filler.
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?
For a simple lookup tool with no output schema, the description covers inputs, expected output, and cost/refund behavior. It does not detail the exact URL format or what happens on a non-confident match, but it is sufficient for correct invocation.
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?
Schema coverage is 100%, so the schema already documents each parameter. The description adds extra value by emphasizing that company_or_domain sharply improves match success, which helps agents decide whether to populate an optional field.
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 clearly states the tool's purpose: finding the LinkedIn profile URL for a named person. It specifies a concrete verb, resource, and input requirement, but it does not explicitly differentiate itself from siblings like lookup_linkedin_profile or reveal_profile.
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?
It gives clear operational guidance: provide first and last name, and use company_or_domain to improve match quality. It does not explicitly state when to prefer this tool over alternative lookup tools, but the intended use case is reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_peopleFind & unlock a batch of peopleAIdempotentInspect
The list-building tool. Re-runs a plain-English people search and unlocks up to count full profiles in ONE atomic charge: 1 credit per newly unlocked person, and anyone you already own is free. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | How many people to unlock, 1-100 (default 25). Spends up to this many credits. | |
| query | Yes | Who you want, in plain English (same grammar as people_search). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond annotations by disclosing the atomic credit charge, the 'only newly unlocked people cost credits' rule, the free ownership behavior, and the out-of-credits error instead of overspending. This gives agents critical cost and failure-mode transparency.
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 well-structured and every sentence earns its place: purpose, return data, email separation, autonomous-use warning, and error behavior. It is thorough without being redundant.
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?
Despite having no output schema, the description enumerates exactly what is returned (name, title, company, location, LinkedIn URL, id), explains credit costs, notes the next step for emails, and states the error behavior. An agent has enough context to call this tool correctly and safely.
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?
Schema coverage is 100%, but the description enriches the count parameter by explaining it means up to that many credits may be spent and that already-owned people are free. It also ties query to the same grammar as people_search, adding useful cross-tool context.
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 states a specific verb and resource: it 're-runs a plain-English people search and unlocks up to count full profiles.' It clearly differentiates itself from people_search by emphasizing the batch unlock and from fetch_email by explicitly saying emails are not fetched here.
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?
It gives explicit routing guidance: after unlocking, call fetch_email with each person's id to get verified emails. It also warns autonomous agents to choose count deliberately and confirm before large batches, which is clear when-to-use and cautionary context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_companyLook up a companyAInspect
Turn a LinkedIn company URL into firmographic data: industry, size, location and website. Spends 1 credit, refunded if the company cannot be retrieved.
| Name | Required | Description | Default |
|---|---|---|---|
| linkedin_company_url | Yes | A LinkedIn company URL, e.g. https://linkedin.com/company/… |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the 1-credit cost and the refund-on-failure behavior, which is useful operational context beyond the annotations. The wording implies a non-destructive lookup-style call, and nothing contradicts the supplied 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?
Two tight sentences: the first covers purpose and output, the second covers cost and failure behavior. No redundant phrasing or filler.
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?
For a one-parameter tool with no output schema, the description fully covers input, output fields, and credit/refund behavior. An agent has enough information to call it correctly and interpret the result.
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 fully documents the single required parameter with a format and example, so the description adds little beyond what the schema provides. This matches the baseline for high schema coverage.
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?
Uses a specific verb ('turn') and a clear resource ('LinkedIn company URL'), then names the exact output fields: industry, size, location, and website. The company-focused phrasing distinguishes it from profile/email siblings like lookup_linkedin_profile and fetch_email.
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 trigger condition is clear: use this when you have a LinkedIn company URL and need firmographic data. It does not explicitly compare against company_search or state when not to use it, but the intended usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_linkedin_profileLook up a LinkedIn profileAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| linkedin_url | Yes | A LinkedIn profile URL, e.g. https://linkedin.com/in/… |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses that the tool spends 2 credits and refunds them if the profile cannot be retrieved, which is important cost-related behavior. It also communicates the return shape. Annotations already indicate readOnlyHint=false and idempotentHint=false, so the description adds meaningful context without contradicting them.
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?
Two sentences deliver all key information: input, output, and credit cost/refund behavior. There is no filler or redundancy, and the most useful content is front-loaded.
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?
For a simple one-parameter tool with no output schema, the description is complete: it defines the input, the output fields, and the credit cost/refund behavior. No critical information for calling the tool correctly is missing.
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?
Schema description coverage is 100%, so the schema already fully documents the single linkedin_url parameter. The description adds no new parameter-level syntax or constraints beyond what the schema provides, which aligns with the baseline score of 3.
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 clearly states the verb ('Turn'), the resource ('a LinkedIn profile URL'), and the specific output fields (name, current role/company, location). It does not explicitly distinguish itself from sibling tools like find_linkedin_profile or reveal_profile, which keeps it from a 5.
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 implies the right usage context: use this when you already have a LinkedIn profile URL and want structured profile data. It does not state when not to use it or name alternatives, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
people_searchSearch peopleARead-onlyIdempotentInspect
Search a global professional database in plain English (for example 'Heads of Marketing at Series B SaaS in New York') and get a sample of matching people plus the true total match count. 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 validate that the right people exist before you pay. To get a person's real name, LinkedIn and verified email, pass their token to reveal_profile, or use find_people to unlock a batch in one call.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many masked previews to return (1-25, default 10). This does not limit the reported total. | |
| query | Yes | Who you are looking for, in plain English. Include role, seniority, industry, company stage/size, and location as needed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint true annotation, the description discloses that results are masked previews, that each result carries an opaque token, and that searching is FREE and spends no credits. This gives the agent actionable behavioral knowledge beyond 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 compact and well-structured: it opens with the core action, then explains output format, cost behavior, and follow-up alternatives. Every sentence earns its place with no repetition.
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?
There is no output schema, so the description compensates by describing exactly what is returned: masked previews, the token, and the true total match count. Cost, use case, and related follow-up tools are all covered, making the definition complete for an agent.
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?
Schema coverage is 100%, so the schema already documents query and limit well. The description adds value by giving a concrete plain-English example and explaining that results are masked previews, but the schema already carries the core parameter semantics.
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 states a specific verb and resource: 'Search a global professional database' and returns matching people plus a total count. It clearly distinguishes the masked-preview, validation-oriented nature of this tool from siblings like reveal_profile and find_people.
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 explicitly says to use this tool to 'validate that the right people exist before you pay.' It also names the alternatives: pass a token to reveal_profile for one person, or use find_people to unlock a batch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reveal_profileReveal a personAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | The opaque `token` of a person returned by people_search. | |
| include_email | No | Also fetch the person's verified professional email (a second credit, refunded if none is found). Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond annotations by disclosing credit costs, the refund policy for email lookups, idempotent re-reveal behavior, live email latency, and the emailStatus 'searching' retry protocol. This is rich, actionable behavioral context with no contradiction to 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?
Four sentences, front-loaded with the core purpose, and every sentence adds necessary operational detail. There is no redundant restatement of the schema or annotations.
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?
Even without an output schema, the description lists the returned profile fields, covers the optional email path, credit impact, idempotency, and retry behavior. Given the two-parameter schema and the people_search provenance, nothing critical is missing for correct invocation.
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?
Schema coverage is 100%, but the description adds essential semantics: where the token comes from, that include_email is processed in the same call, the extra refundable credit, and how to handle the 'searching' email status. These details are not inferable from the schema alone.
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?
States a specific verb ('Unlock') and resource ('ONE person') while explicitly tying the input to a people_search result pool. This clearly distinguishes it from sibling tools like people_search, find_people, or fetch_email.
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?
Clear context is given: use it after a people_search returns a token, and set include_email when a verified email is also wanted. It does not explicitly name alternatives or say when not to use this tool, but the prerequisite is unambiguous enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_email_lookupReverse email lookupAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The email address to identify, e.g. jordan@acme.com. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral detail beyond annotations: 'Spends 13 credits (this is the single most expensive lookup), refunded automatically if no match is found.' This cost and refund behavior is valuable context not visible in the annotations, and it is consistent with idempotentHint=false and readOnlyHint=false.
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?
Three tightly written sentences with no filler. The main purpose is front-loaded, followed by usage qualification and the cost/refund detail. Every sentence earns its place.
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?
For a one-parameter tool with no output schema, the description is complete: it states what the tool returns ('real person behind it and their LinkedIn profile'), when it works, and what happens on failure (automatic refund). An agent has enough context to invoke it correctly.
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 schema already covers the email parameter fully with an example. The description adds extra semantics by calling it a 'professional email address' and explaining the work-email/free-mailbox distinction, which helps the agent choose valid inputs and set expectations.
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 uses a specific verb ('Turn') and states the resource ('professional email address') and the result ('real person behind it and their LinkedIn profile'), making the tool's purpose concrete. However, it does not explicitly distinguish itself from overlapping siblings like find_linkedin_profile or reveal_profile.
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?
It provides clear usage context: 'Best for work emails' and warns that 'free-mailbox addresses often have no public profile to match,' which serves as a when-to-use and when-not-to-use signal. It does not name sibling alternatives for routing, but the work-email versus free-mailbox guidance is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_emailVerify an email addressAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The email address to verify, e.g. jordan@acme.com. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations, the description reveals important behaviors: it spends 1 credit, refunds if no verdict can be reached, and sends nothing. This adds value beyond readOnlyHint being false and clarifies side effects and cost, which are essential for an agent to use the tool correctly.
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 three concise sentences, each earning its place: purpose, outcome, and side effect. It is front-loaded with the core question and avoids unnecessary filler.
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?
For a single-parameter tool with no output schema, the description is complete. It explains the verdict values, the credit cost, the refund behavior, and the fact that nothing is sent. An agent has enough information to decide whether and how to invoke this tool.
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 only parameter is already fully described in the schema with a clear example. The tool description does not add extra meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
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 states a specific verb ('Check') and resource ('whether an email address exists and is safe to send to'), and clarifies its unique role with 'before it bounces' and 'without sending anything.' This distinguishes it clearly from sibling tools like reverse_email_lookup, which do not focus on deliverability.
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 context for when to use the tool: before sending an email to avoid bounces. It does not explicitly name alternatives or exclusion criteria, but the context is strong enough for an agent to infer the appropriate use case.
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.
12 tool updates
- First observed
check_credits - First observed
company_search - First observed
fetch_email - First observed
find_company_emails - First observed
find_linkedin_profile - First observed
find_people - First observed
lookup_company - First observed
lookup_linkedin_profile - First observed
people_search - First observed
reveal_profile - First observed
reverse_email_lookup - First observed
verify_email
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Find verified work emails from a name, company, role or LinkedIn URL, and verify emails you have.
- SalesQLOAuthcom.salesql
Find verified B2B emails and phone numbers; search and enrich people and companies for prospecting.
Search B2B contacts, enrich verified emails and phone numbers, and export results.
Corporate identity finder and email verification. Map real addresses and users to real people.
Related MCP Servers
- AlicenseAqualityDmaintenanceFinds and verifies business email addresses using DNS/SMTP verification and web scraping, with no external API costs.53810MIT

Xverum mcpofficial
AlicenseNot gradedqualityBmaintenanceFind and enrich the right people from 750M professional profiles. Search by role, seniority, skills, industry, and location in plain English. Pull profiles with work history, education, and seniority, then see who's likely to change jobs next with Next Move Signal. Built for AI products and agents: sourcing candidates, building lead lists, and mapping markets and accounts.MIT
Prospeo MCP Serverofficial
AlicenseAqualityFmaintenanceEnables AI tools to search and enrich B2B leads, including finding professional emails, company profiles, and filtering people and companies by various criteria.5227MIT- FlicenseNot gradedqualityCmaintenanceEnables B2B research by finding verified work emails, extracting contacts, detecting tech stacks, and profiling DNS and SaaS, all through a suite of MCP tools.-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have distinct purposes, but pairs like company_search/lookup_company and find_linkedin_profile/lookup_linkedin_profile could cause selection errors. The free-search versus paid-unlock flow (people_search/find_people/reveal_profile) is well-differentiated by detailed descriptions.
Naming mixes verb_noun patterns (find_people, fetch_email) with noun_verb patterns (company_search, people_search), and uses overlapping verbs like find, lookup, search, and fetch. The pattern is readable but not consistently predictable.
With 12 tools, the set is well-scoped for a people search and email enrichment service. Each tool covers a distinct operation, from free search to paid profile unlock, email verification, and credit checking, without unnecessary bloat.
The toolset covers the core lifecycle: free search, paid profile unlock, email fetch, verification, and reverse lookup. Minor gaps exist, such as not being able to fetch an email later for a profile unlocked via reveal_profile unless include_email is set initially, but agents can work around these.