Skip to main content
Glama

Server Details

Find local businesses, companies and decision makers with verified emails for B2B outreach.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
96.9% over 23 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 13 tools

Disambiguation4/5

Most tools target a clearly distinct resource+action (businesses vs organizations vs persons vs deliverability vs credits). However, persons_lookup, persons_find_email, persons_find_phone and persons_search overlap enough that an agent could hesitate, and organizations_find_decision_maker partially overlaps with person lookup. Descriptions do clarify the boundaries, so the confusion is mild.

Naming Consistency4/5

Names follow a predictable {entity}_{action} pattern (businesses_search, organizations_enrich, persons_find_phone, deliverability_create_test). Minor deviations exist: contacts_list uses 'list' where other entities use 'search', and verbs mix search/find/lookup/enrich, but the structure remains uniform and readable.

Tool Count5/5

13 tools is well-scoped for a B2B contact-enrichment server. Each tool covers a distinct capability across search, enrichment, deliverability testing, credits and contacts, and none feel redundant or padded.

Completeness4/5

The core lifecycle (search, enrich, find email/phone, test deliverability, check credits, save contacts) is covered. Minor gaps exist: contacts has create/list but no get/update/delete, and there is no way to list or cancel deliverability tests, though agents can work around these.

Available Tools

13 tools
contacts_createSave your own contacts or organizationsAInspect

Save your own contacts or organizations. Free. Existing contacts are matched and kept, never duplicated.

ParametersJSON Schema
NameRequiredDescriptionDefault
contactsYesContacts to save; each needs an email, LinkedIn URL, website or organization ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
savedYes

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-read-only, non-destructive, closed-world write. The description adds behavior annotations do not carry: it is free (useful given the credits_get sibling) and it is idempotent-by-matching ('matched and kept, never duplicated'). It does not describe partial-failure or per-item error behavior for batch submissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, action and scope first, then the two behavioral facts that actually matter (cost, dedup). No filler whatsoever.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema and annotations carry the return-shape and safety burden, and the description covers the two facts structured fields cannot express. Only the batch semantics (up to 1000 items, partial failures) are left unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the array item field set, min/max items, and the organizationId provenance note are all documented in the schema. The description adds nothing about parameter format, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Save) and resource (contacts or organizations), and the phrase 'your own' signals it differs from the lookup/search siblings. It is clear, but it never names an alternative tool to contrast against, so differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance and no named alternative among siblings such as organizations_search or contacts_list. The word 'own' faintly implies this is for user-supplied contacts rather than enriched data, but the agent must infer that.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

contacts_listList your contacts in a stable order; page with nextBeforeB
Read-only
Inspect

List your contacts in a stable order; page with nextBefore

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum saved contacts to return on this page
beforeNoThe nextBefore of the previous page

Output Schema

ParametersJSON Schema
NameRequiredDescription
contactsYes
nextBeforeYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only and non-destructive. The description adds a meaningful behavioral guarantee: a stable order across pages, which is essential for correct cursor-based pagination. It does not mention auth or rate limits, but for a simple read-only list with an output schema, the added context is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It packs the verb, resource, stable-order guarantee, and pagination method into a compact form, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter list endpoint with complete schema descriptions, read-only annotations, and an output schema, the description covers the essential usage and pagination behavior. Return values are handled by the output schema, so the only real omission is explicit alternative routing, which is already captured in the usage_guidelines dimension.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters are already fully documented in the schema with 100% coverage: limit has default/min/max, and before is defined as 'The nextBefore of the previous page.' The description merely echoes the before behavior and adds no new parameter meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tautological: description restates name/title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It tells the agent this is for listing contacts and explains the pagination mechanism ('page with nextBefore'), which is useful for paging through results. However, it never states when to prefer this tool over contacts_create or the search-based siblings, nor does it give any exclusion conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

credits_getCurrent credit balanceC
Read-only
Inspect

Current credit balance

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
creditsYes

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds no extra behavioral context such as snapshot semantics, units, or response specifics, but 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three words with no filler, but the phrase is under-specified for a definition: it is a tautological noun phrase rather than an instructive sentence. Conciseness is fine, but the structure lacks a verb or usage statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only balance lookup with an output schema and safety annotations, the description provides enough to understand what will be returned. It is not a complex workflow, so the missing verb and usage note are smaller gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so there are no parameter semantics to document. The baseline of 4 applies; no compensation is needed from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tautological: description restates name/title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No sentence or phrase explains when to call this tool or when to prefer an alternative. The only implied context is from the title/name, and the sibling tools are unrelated categories, so the description gives no routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deliverability_create_testStart an inbox placement test for a mailbox you send fromAInspect

Start an inbox placement test for a mailbox you send from. Send one email from the mailbox you want to test to every address in seedEmails, with the testId anywhere in the body, then poll deliverability_get_test about once a minute to see whether it landed in the inbox, spam or a tab at Gmail, Outlook and other providers. Most seeds report within 2-5 minutes; the test closes 60 minutes after it starts. Charges 25 credits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
testIdYesPut this anywhere in the body of the test email
closesAtYes
seedEmailsYesSend the test email to every one of these addresses
chargedCreditsYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a non-read-only, non-destructive, closed-world operation. The description adds materially beyond that: a 25-credit charge, a 2-5 minute reporting window, and a 60-minute test expiry. Costs and timing are exactly the behavioral context annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and every sentence carries information (procedure, polling cadence, timing, cost). The middle sentence is long and run-on, packing three separate instructions together, so structure is efficient but not maximally scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be spelled out, and the description still covers the full usage loop, expected latency, expiry, and credit cost. Nothing an agent needs to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero declared parameters, the baseline is 4. The description goes further by naming the operative inputs (seedEmails, testId) and their intended usage, though these names do not appear in the empty schema, which creates a mild mismatch rather than a clarifying one.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Start an inbox placement test for a mailbox you send from') and immediately contrasts with the sibling 'deliverability_get_test', which it positions as the polling counterpart. An agent can distinguish the two without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly prescribes the workflow: send one email from the mailbox under test to every address in seedEmails with testId in the body, then poll deliverability_get_test about once per minute. It names the alternative tool and the exact trigger for using it, leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deliverability_get_testWhere the test email landed at each seed mailboxA
Read-only
Inspect

Where the test email landed at each seed mailbox. Poll about once a minute while status is waiting. placement is inbox, spam, promotions, social, updates or forums, or missing while the email has not arrived; score is the inbox share from 0 to 10 once the test is completed. rspamd is the content filter verdict with its matched rules, when a seed reports one.

ParametersJSON Schema
NameRequiredDescriptionDefault
testIdYestestId returned by deliverability_create_test

Output Schema

ParametersJSON Schema
NameRequiredDescription
scoreYes
seedsYes
rspamdYes
statusYes
testIdYes
closesAtYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=true, destructive=false, openWorld=false, so the safety profile is covered. The description adds beyond that: the operation is asynchronous and must be polled, a 'waiting' status exists, and score is only populated once the test is completed. It doesn't quantify rate limits or failure modes, keeping it at a strong 4 rather than 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and polling cadence are front-loaded in the first sentence; the remaining two sentences explain the placement/score/rspamd fields compactly. Some of that return-value detail is arguably duplicated by the output schema, but it is readable and not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-param read tool with an output schema and full annotation coverage, the description carries the load that structured fields cannot: async polling behavior and status semantics. It is essentially complete, missing only explicit mention that testId originates from deliverability_create_test (which the schema does state).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage, including the format pattern and the pointer back to deliverability_create_test. The description adds no additional parameter meaning, so the baseline 3 for schema-covered params applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description scopes the resource precisely as the per-seed-mailbox placement results of a deliverability test, which an agent can separate from deliverability_create_test by name and by the 'where the email landed' framing. It is slightly output-oriented (describing what the result looks like rather than 'get the test results for testId'), so it stops short of a crisp verb+resource statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete operational guidance ('Poll about once a minute while status is waiting'), which tells the agent how to consume the async result rather than just what it returns. It never states prerequisites or exclusions, but the sibling create_test is the only natural alternative and no when-not guidance is needed here.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

organizations_enrichEnrich a company from its domainAInspect

Enrich a company from its domain. Returns the company's firmographics, socials and website data. Charges 0.5 credits only when the company is found.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany domain or website URL, e.g. "stripe.com"

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYes
organizationYes
chargedCreditsYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly/openWorld/destructive flags, so the credit-charging rule (0.5 credits, billed only on a successful match) is genuinely additive context an agent needs to avoid surprise spend. It does not, however, discuss rate limits, lookup latency, or what happens on a miss beyond the billing point.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, zero filler: purpose first, return payload second, cost caveat last. Every sentence carries information the agent would otherwise lack.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema, the description needn't restate return fields, and the cost model is disclosed. The only shortfall is the absence of routing guidance against the other organizations_* siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter and schema description coverage is 100% (the schema already gives the "stripe.com" example and minLength), so the baseline of 3 applies. The description adds no syntax or normalization guidance beyond what the schema supplies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (enrich) applied to a specific resource (a company, keyed by domain) and even names the payload returned (firmographics, socials, website data). This clearly separates it from the sibling organizations_search, which retrieves rather than enriches.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage is implied — you call it when you already hold a company domain and want enrichment — but there is no explicit when-to-use versus the sibling organizations_search or organizations_find_decision_maker, and no exclusions or prerequisites stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

organizations_find_decision_makerFind the decision maker of an organization with a verified emailAInspect

Find the decision maker of an organization with a verified email. Charges 2 credits only when a decision maker is found. Can take a few minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
organizationIdYesCompany ID returned by organization search or enrichment

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYes
decisionMakerYes
creditsChargedYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false, openWorldHint=true, destructiveHint=false — enough to signal external lookup but nothing about cost or timing. The description supplies both: a conditional 2-credit charge that fires only on success, and a multi-minute latency window. These are exactly the behaviors an agent needs before committing to a call, and nothing contradicts the annotations (a credit-consuming finder is consistent with 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each doing distinct work: what it returns, what it costs, how long it takes. The payoff statement is front-loaded and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-shape explanation is unnecessary, and one fully documented parameter needs little prose. The description covers the two non-obvious facts an agent must weigh — cost and latency — but says nothing about the no-result case (e.g., whether credits are untouched and what the response looks like when no decision maker exists).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter at 100% schema description coverage ('Company ID returned by organization search or enrichment'), so the schema already carries the meaning. The description adds no format, sourcing, or validation detail for organizationId, which is the correct baseline 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource plus a meaningful qualifier: finding the decision maker of an organization, with the email verified. That is far more specific than a generic 'look up organization', though it never names how it differs from near neighbors like organizations_enrich or persons_find_email.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scenario where this applies (you have an organizationId and want a decision-maker contact) is implied rather than stated, and no alternative tool is named as the wrong or right choice. The cost and latency hints ('charges 2 credits', 'a few minutes') do help an agent decide whether to invoke it, which lifts this above pure silence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

persons_find_emailFind a person's work email by LinkedIn URL, or full name and company domainAInspect

Find a person's work email by LinkedIn URL, or full name and company domain. Charges 1 credit only when an email is found.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFull name, e.g. "Jane Doe"; needs domain
domainNoCompany domain, e.g. "acme.com"
linkedinNoe.g. "https://www.linkedin.com/in/jane-doe"

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
emailYes
foundYes
jobTitleYes
linkedinYes
companyNameYes
chargedCreditsYes
companyWebsiteYes
alternateEmailsYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations set readOnlyHint=false, destructiveHint=false, openWorldHint=false but say nothing about billing. The description adds a concrete and important behavioral fact: "Charges 1 credit only when an email is found." That conditional cost model is exactly the kind of detail annotations cannot convey. Auth requirements and rate limits are still unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, fully front-loaded: capability first, cost model second. No filler, no restated schema detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the billing note covers the main hidden behavior. What remains thin is any guidance on which input combination to prefer and what happens on a miss, which matters for a tool whose cost is conditional.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter (name, domain, linkedin) is already documented with format examples. The description only restates the two combination modes, adding no syntax or constraint detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Find a person's work email") and names the two accepted input modes, which is more than a title restatement. It does not, however, distinguish itself from near-siblings like persons_lookup or persons_search, so an agent must still infer which lookup tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives the two valid input paths (LinkedIn URL, or name plus domain), which implies usage. It never states when to prefer this over persons_lookup, persons_find_phone, or organizations_find_decision_maker, and gives no exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

persons_find_phoneFind a person's phone number by LinkedIn URL, email, or full name and company domainAInspect

Find a person's phone number by LinkedIn URL, email, or full name and company domain. Covers professional contacts only: people in their role at a company, not private individuals. Charges 2 credits only when a phone number is found.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFull name, e.g. "Jane Doe"; needs domain
emailNoKnown email address identifying the person
domainNoCompany domain, e.g. "acme.com"
linkedinNoe.g. "https://www.linkedin.com/in/jane-doe"

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
foundYes
phoneYes
phonesYes
jobTitleYes
linkedinYes
companyNameYes
chargedCreditsYes
companyWebsiteYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the billing rule ('charges 2 credits only when a phone number is found'), which is genuine behavioral context the annotations do not carry — readOnlyHint=false alone would not tell an agent about cost or conditional charging. It does not mention rate limits or auth requirements, but the credit policy is the material trait here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and inputs, then the scope limit, then the cost. Every sentence carries information an agent needs; nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description covers scope, inputs, and cost. The only minor omission is what a successful result implies for follow-up (e.g. coverage/likelihood limits), but nothing essential to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are already documented, including the constraint that name requires a domain. The description restates the accepted input combinations but adds no format or precedence detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find a person's phone number') and enumerates the three accepted lookup keys, which cleanly separates it from siblings like persons_find_email or persons_lookup. The scope qualifier ('professional contacts only') further pins down what the tool returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-not boundary: professional/role-based contacts, not private individuals. It does not name the sibling alternative (persons_find_email) for when a phone is not the target, so the routing guidance is clear but not fully comparative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

persons_lookupLook up one person by LinkedIn URL, email, or name and company domainAInspect

Look up one person by LinkedIn URL, email, or name and company domain. Returns the person with their emails, phones, role and company. Covers professional contacts only: people in their role at a company, not private individuals. Charges 1 credit only when the person is found with an email or phone. saveToContacts also stores them in your contacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFull name, e.g. "Jane Doe"; needs domain
emailNoKnown email address identifying the person
domainNoCompany domain, e.g. "acme.com"
linkedinNoe.g. "https://www.linkedin.com/in/jane-doe"
saveToContactsNoSave the returned person to your Deeplead contacts

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYes
personYes
chargedCreditsYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds genuinely useful behavior beyond the annotations: the credit model ('charges 1 credit only when the person is found with an email or phone') and the side effect that saveToContacts persists the person to contacts, which explains why readOnlyHint is false despite the read-like name. It stays silent on rate limits and result freshness, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences with the purpose front-loaded, followed by return contents, scope constraint, and billing behavior. No sentence is redundant with the name/title and nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the brief return summary is sufficient, and the billing plus scope caveats cover the main decision-relevant facts. It could still specify which standalone identifiers (email alone, LinkedIn alone) are valid without a domain, but the core is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all five parameters including the 'needs domain' constraint on name. The description only echoes the identifier list and adds a note on saveToContacts, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (look up), cardinality (one person), and the exact identifiers accepted (LinkedIn URL, email, name + company domain). This distinguishes it from plural siblings like persons_search and the narrower persons_find_email/persons_find_phone without the agent needing to open any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a clear scope boundary — 'professional contacts only: people in their role at a company, not private individuals' — which tells the agent when this tool will fail. It does not, however, route the agent among alternatives such as persons_search for broader matching, leaving sibling selection to inference.

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.

  1. 2 tool updates
    • Addeddeliverability_create_test
    • Addeddeliverability_get_test
  2. 2 tool updates
    • Changedcontacts_create1 field changed
      • changedInput schema / properties / contacts / items / properties / organizationId / description
        Previous value: -"From /organizations/search"New value: +"From organizations_search"
    • Changedpersons_search1 field changed
      • changedInput schema / properties / organizationIds / description
        Previous value: -"Limit to organizations from /organizations/search"New value: +"Limit to organizations from organizations_search"
  3. 1 tool update
    • Changedbusinesses_search5 fields changed
      • addedInput schema / properties / categories
        Added value: +{
        +  "description": "Google business categories, e.g. [\"Dentist\"]",
        +  "items": {
        +    "minLength": 1,
        +    "type": "string"
        +  },
        +  "maxItems": 10,
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedInput schema / properties / excludedCategories
        Added value: +{
        +  "description": "Google business categories to exclude",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedInput schema / properties / excludedNiches
        Removed value: -{
        -  "description": "Business categories or niches to exclude",
        -  "items": {
        -    "type": "string"
        -  },
        -  "type": "array"
        -}
      • removedInput schema / properties / niches
        Removed value: -{
        -  "description": "Google categories or plain niches, e.g. [\"dentist\"]",
        -  "items": {
        -    "minLength": 1,
        -    "type": "string"
        -  },
        -  "maxItems": 10,
        -  "minItems": 1,
        -  "type": "array"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "niches",
        -  "location"
        -]New value: +[
        +  "categories",
        +  "location"
        +]
  4. 14 tool updates
    • Changedbusinesses_search6 fields changed
      • addedInput schema / properties / excludedNiches / description
        Added value: +"Business categories or niches to exclude"
      • addedInput schema / properties / page / description
        Added value: +"Page number, starting at 1; up to 30 businesses per page"
      • addedInput schema / properties / rating / description
        Added value: +"Google rating band to match"
      • addedInput schema / properties / reviews / description
        Added value: +"Google review-count band to match"
      • addedInput schema / properties / saveToContacts
        Added value: +{
        +  "default": false,
        +  "description": "Save returned businesses to your Deeplead contacts",
        +  "type": "boolean"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "businesses": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "adPixels": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "chatgpt": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "googleAds": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "googleAnalytics": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "meta": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "tiktok": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "meta",
        +              "googleAds",
        +              "googleAnalytics",
        +              "tiktok",
        +              "chatgpt"
        +            ],
        +            "type": "object"
        +          },
        +          "address": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "businessId": {
        +            "type": "string"
        +          },
        +          "categories": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "city": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "country": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "email": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "emails": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "googleProfileClaimed": {
        +            "type": [
        +              "boolean",
        +              "null"
        +            ]
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "phone": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "phones": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "rating": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "reviewCount": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "reviewsByStars": {
        +            "description": "Counts of 1 to 5 star reviews",
        +            "items": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "type": "array"
        +          },
        +          "socials": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "facebook": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "instagram": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "linkedin": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "tiktok": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "facebook",
        +              "instagram",
        +              "linkedin",
        +              "tiktok"
        +            ],
        +            "type": "object"
        +          },
        +          "website": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "businessId",
        +          "name",
        +          "categories",
        +          "address",
        +          "city",
        +          "country",
        +          "website",
        +          "email",
        +          "emails",
        +          "phone",
        +          "phones",
        +          "rating",
        +          "reviewCount",
        +          "reviewsByStars",
        +          "googleProfileClaimed",
        +          "socials",
        +          "adPixels"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "chargedCredits": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "chargedCredits",
        +    "businesses"
        +  ],
        +  "type": "object"
        +}
    • Changedcontacts_create2 fields changed
      • addedInput schema / properties / contacts / description
        Added value: +"Contacts to save; each needs an email, LinkedIn URL, website or organization ID"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "saved": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "saved"
        +  ],
        +  "type": "object"
        +}
    • Changedcontacts_list2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum saved contacts to return on this page"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "contacts": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "companyName": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "contactId": {
        +            "type": "string"
        +          },
        +          "email": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "jobTitle": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "linkedin": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "name": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "organizationId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "website": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "contactId",
        +          "name",
        +          "email",
        +          "jobTitle",
        +          "companyName",
        +          "website",
        +          "linkedin",
        +          "organizationId"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "nextBefore": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "contacts",
        +    "nextBefore"
        +  ],
        +  "type": "object"
        +}
    • Changedcredits_get1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "credits": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "credits"
        +  ],
        +  "type": "object"
        +}
    • Addedorganizations_enrich
    • Addedorganizations_find_decision_maker
    • Removedorganizations_findDecisionMaker
    • Changedorganizations_search10 fields changed
      • addedInput schema / properties / foundedAfter / description
        Added value: +"Earliest founding year to include"
      • addedInput schema / properties / foundedBefore / description
        Added value: +"Latest founding year to include"
      • addedInput schema / properties / hqCity
        Added value: +{
        +  "description": "City names of the headquarters, e.g. [\"Austin\"]",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / includeWithoutWebsite / description
        Added value: +"Include companies without websites in search results"
      • addedInput schema / properties / limit / description
        Added value: +"Maximum companies to return; 0 returns only a free count"
      • changedInput schema / properties / limit / minimum
        Previous value: -1New value: +0
      • addedInput schema / properties / offset / description
        Added value: +"Number of matching companies to skip for pagination"
      • addedInput schema / properties / revenueRange / description
        Added value: +"Annual company revenue bands"
      • addedInput schema / properties / technologies / description
        Added value: +"Technologies used by the company"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "chargedCredits": {
        +      "type": "number"
        +    },
        +    "organizations": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "adPixels": {
        +            "additionalProperties": false,
        +            "description": "true/false where the website was checked, null where it never was",
        +            "properties": {
        +              "chatgpt": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "googleAds": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "googleAnalytics": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "meta": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "tiktok": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "meta",
        +              "googleAds",
        +              "googleAnalytics",
        +              "tiktok",
        +              "chatgpt"
        +            ],
        +            "type": "object"
        +          },
        +          "description": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "domain": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "emails": {
        +            "description": "Found on the company website",
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "employeeCount": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "employeeGrowthRate": {
        +            "description": "Employee growth on LinkedIn in percent",
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "employeeMax": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "employeeMin": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "foundedYear": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "hqCity": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "hqCountry": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "hqState": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "industry": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "keywords": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "lastFunding": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "amount": {
        +                "description": "USD",
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "date": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "type": {
        +                "description": "e.g. Seed Round, Series A, Private Equity Round",
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "type",
        +              "date",
        +              "amount"
        +            ],
        +            "type": "object"
        +          },
        +          "linkedin": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "linkedinDescription": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "monthlyGoogleAdSpend": {
        +            "description": "Estimated monthly Google Ads spend in USD",
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "monthlyVisits": {
        +            "description": "Estimated monthly website visits",
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "naicsCodes": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "name": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "organizationId": {
        +            "type": "string"
        +          },
        +          "phones": {
        +            "description": "Found on the company website",
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "revenueRange": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "socials": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "facebook": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "instagram": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "linkedin": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "tiktok": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "x": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              },
        +              "youtube": {
        +                "type": [
        +                  "string",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "facebook",
        +              "instagram",
        +              "linkedin",
        +              "x",
        +              "tiktok",
        +              "youtube"
        +            ],
        +            "type": "object"
        +          },
        +          "technologies": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "totalFunding": {
        +            "description": "USD",
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "website": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "websiteAlive": {
        +            "type": [
        +              "boolean",
        +              "null"
        +            ]
        +          },
        +          "websiteDescription": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "websiteTitle": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "organizationId",
        +          "name",
        +          "domain",
        +          "website",
        +          "websiteAlive",
        +          "websiteTitle",
        +          "websiteDescription",
        +          "linkedin",
        +          "linkedinDescription",
        +          "description",
        +          "industry",
        +          "naicsCodes",
        +          "keywords",
        +          "technologies",
        +          "employeeCount",
        +          "employeeMin",
        +          "employeeMax",
        +          "revenueRange",
        +          "monthlyVisits",
        +          "monthlyGoogleAdSpend",
        +          "employeeGrowthRate",
        +          "lastFunding",
        +          "totalFunding",
        +          "foundedYear",
        +          "hqCity",
        +          "hqState",
        +          "hqCountry",
        +          "emails",
        +          "phones",
        +          "socials",
        +          "adPixels"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalCount": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "totalCount",
        +    "chargedCredits",
        +    "organizations"
        +  ],
        +  "type": "object"
        +}
    • Addedpersons_find_email
    • Addedpersons_find_phone
    • Addedpersons_lookup
    • Removedpersons_save
    • Changedpersons_search14 fields changed
      • addedInput schema / properties / foundedAfter / description
        Added value: +"Earliest founding year to include"
      • addedInput schema / properties / foundedBefore / description
        Added value: +"Latest founding year to include"
      • addedInput schema / properties / jobLevel / description
        Added value: +"Allowed job seniority levels"
      • addedInput schema / properties / jobTitleExclude / description
        Added value: +"Job title phrases to exclude"
      • addedInput schema / properties / limit / description
        Added value: +"Maximum people to return; 0 returns only a free count"
      • changedInput schema / properties / limit / minimum
        Previous value: -1New value: +0
      • addedInput schema / properties / offset / description
        Added value: +"Pagination offset; use nextOffset from the previous response"
      • addedInput schema / properties / onePerOrganization
        Added value: +{
        +  "default": false,
        +  "description": "Return at most one person per company",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / personCity / description
        Added value: +"Cities where the person is based"
      • addedInput schema / properties / personState / description
        Added value: +"States where the person is based"
      • addedInput schema / properties / revenueRange / description
        Added value: +"Annual company revenue bands"
      • addedInput schema / properties / saveToContacts
        Added value: +{
        +  "default": false,
        +  "description": "Save returned people to your Deeplead contacts",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / technologies / description
        Added value: +"Technologies used by the company"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "https://json-schema.org/draft/2020-12/schema",
        +  "additionalProperties": false,
        +  "properties": {
        +    "chargedCredits": {
        +      "type": "number"
        +    },
        +    "nextOffset": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "persons": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "alternateEmails": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "city": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "companyEmployeeGrowthRate": {
        +            "description": "Percent",
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "companyLastFundingDate": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "companyLastFundingType": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "companyMonthlyVisits": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "companyName": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "companyWebsite": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "country": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "email": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "foundedYear": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "jobFunction": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "jobLevel": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "jobTitle": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "linkedin": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "naicsCodes": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "name": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "organizationId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "personId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "phone": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "phones": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "revenueRange": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "state": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "personId",
        +          "name",
        +          "email",
        +          "alternateEmails",
        +          "phone",
        +          "phones",
        +          "linkedin",
        +          "jobTitle",
        +          "jobLevel",
        +          "jobFunction",
        +          "city",
        +          "state",
        +          "country",
        +          "organizationId",
        +          "companyName",
        +          "companyWebsite",
        +          "revenueRange",
        +          "naicsCodes",
        +          "foundedYear",
        +          "companyMonthlyVisits",
        +          "companyEmployeeGrowthRate",
        +          "companyLastFundingType",
        +          "companyLastFundingDate"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalCount": {
        +      "description": "With limit 0: all matching people, including those without an email or phone",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "totalCount",
        +    "nextOffset",
        +    "chargedCredits",
        +    "persons"
        +  ],
        +  "type": "object"
        +}
    • Removedsearch_parse
  5. 9 tool updates
    • First observedbusinesses_search
    • First observedcontacts_create
    • First observedcontacts_list
    • First observedcredits_get
    • First observedorganizations_findDecisionMaker
    • First observedorganizations_search
    • First observedpersons_save
    • First observedpersons_search
    • First observedsearch_parse

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Finds, filters, and verifies local-business leads on demand; every returned email carries a verification receipt (verifier, verdict, timestamp). Credit-based with per-key spend budgets; 25 free validated leads at signup.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Finds and verifies business email addresses using DNS/SMTP verification and web scraping, with no external API costs.
    5
    47 npm
    11
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources