BananaLead
Server Details
B2B leads from your AI assistant: LinkedIn, verified work emails, Crunchbase, PitchBook, Google Maps, stores, creators. Pay per result.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 16 tools
Most tools target distinct source/action combinations, with clear input differences such as URL lookup vs. search. Some overlap exists around LinkedIn people discovery and email enrichment, especially find_linkedin_leads vs. find_people_at_companies and find_work_emails vs. find_website_contacts, but the descriptions mostly clarify intended workflows.
The set predominantly follows a snake_case verb_noun convention: find_creators, get_results, search_crunchbase, verify_emails, etc. Minor exceptions are account and creator_profiles, which are noun-only names, but the overall pattern remains readable and predictable.
At 16 tools it is slightly above the typical 3-15 range, but the breadth is justified by multiple distinct data sources: LinkedIn, Crunchbase, PitchBook, Google Maps, Shopify/WooCommerce, Instagram/TikTok, YouTube, and email verification. Each tool covers a reasonably separate source or operation rather than being arbitrary padding.
The surface covers a full lead-generation workflow: account/pricing, multi-source search, profile lookup, contact/email discovery, email verification, and paged result retrieval. Minor gaps remain around job management, such as listing or cancelling prior searches, but core workflows have no obvious dead ends.
Available Tools
16 toolsaccountBalance, plan and pricesARead-onlyInspect
Shows the BananaLead balance, plan, free tiers and the price of every result type. Call it before a large search.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read. The description adds what is returned (balance, plan, free tiers, per-result-type pricing), which is useful context beyond the annotation, but says nothing about rate limits, auth requirements, or response shape.
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 short sentences, zero filler, with the content summary front-loaded and the usage trigger second. Every clause 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, no-output-schema tool, the description covers what is returned and when to call it, which is nearly everything an agent needs. Minor gaps remain around how pricing tiers map to specific operations.
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 tool takes zero parameters, so the baseline of 4 applies. Nothing in the description is needed to clarify inputs, and it correctly does not invent any.
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 and resource (shows balance, plan, free tiers, prices) with a precise enumeration of contents. None of the 16 sibling tools overlap with this accounting/pricing function, so it is trivially distinguishable.
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?
"Call it before a large search" gives explicit, actionable timing guidance tied to a concrete trigger. It does not name a specific alternative or state when-not to call, but the guidance is clear enough for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
creator_profilesCreator profilesBInspect
Full public profile + business email for Instagram/TikTok profile URLs or @handles.
| Name | Required | Description | Default |
|---|---|---|---|
| profiles | Yes | ||
| find_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose the return payload (public profile plus business email) and the two supported platforms. It says nothing about credit cost, rate limits, batch behavior, or what happens when no business email is found, so the safety/cost profile is opaque.
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?
A single front-loaded sentence with no filler; the payload is stated before the input forms. It is efficient, though the extreme brevity is partly the cause of the missing parameter and usage detail.
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 bulk enrichment tool with no output schema, no annotations, and 0% schema coverage, the description covers the essentials (what you pass, what you get back) but omits the find_email toggle, the 1000-item batch ceiling, and failure/empty-result behavior. Adequate but with clear gaps.
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 0%, so the description must compensate. It usefully defines the accepted formats for the 'profiles' array (profile URLs or @handles), but the 'find_email' boolean with default true is never mentioned, leaving half the parameters undocumented in both schema and 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 names the exact payload ('full public profile + business email') and the accepted input forms ('Instagram/TikTok profile URLs or @handles'), which is a specific resource+verb equivalent for a lookup/enrichment tool. It does not, however, explicitly distinguish itself from siblings such as find_creators or find_work_emails, so an agent must infer the boundary.
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?
Usage is only implied by the input format: an agent can infer it should call this when it already holds profile URLs or handles. There is no statement of when NOT to use it and no routing to alternatives like find_creators (discovery) or verify_emails, leaving the agent to guess the intended pipeline position.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_creatorsFind TikTok & Instagram creatorsBInspect
Finds Instagram and TikTok creators by niche and place, with followers, engagement rate and business email.
| Name | Required | Description | Default |
|---|---|---|---|
| niches | Yes | As a creator writes it in a bio: "vegan recipes", "fitness coach" | |
| country | No | 2-letter Google country of the search, e.g. us, fr, gb, de | |
| language | No | 2-letter language, e.g. en, fr | |
| location | No | ||
| only_new | No | Skip the creators this account already received in earlier searches | |
| per_niche | No | ||
| platforms | No | ||
| find_email | No | ||
| max_followers | No | ||
| min_followers | No | ||
| only_with_email | No | ||
| min_engagement_rate | No | Percent, e.g. 2.5 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose the returned payload (followers, engagement rate, business email). It says nothing about the read-only nature, rate limits, pagination, or that find_email=true (the default) triggers an external email lookup that may be slow or costly, so key behavioral traits are missing.
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?
A single front-loaded sentence with no wasted words and the scope stated first. For a 12-parameter tool it is arguably too terse, which costs a point, but nothing is padded.
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?
12 parameters, 42% schema coverage, no annotations and no output schema mean the description must do far more work than one sentence allows. It omits parameter defaults, the cost/behavior of email discovery, and any result-count or pagination context, so an agent cannot call it confidently without opening the schema.
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 42%, below the 50% threshold, so the description needs to compensate. It maps loosely to niches, location/country, min/max_followers, min_engagement_rate and the email flags, but leaves per_niche, only_new, platforms, and language undocumented in both schema and 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 gives a specific verb (Finds) plus resource (Instagram and TikTok creators) and scopes the search axes (niche, place) and payload (followers, engagement rate, business email). This implicitly distinguishes it from the sibling find_youtube_channels and find_linkedin_leads by platform, but it never names or contrasts those siblings explicitly.
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?
Usage is only implied: an agent can infer it is the creator-discovery tool for Instagram/TikTok, which differentiates it from the YouTube and LinkedIn siblings. However, there is no explicit when-to-use, when-not-to-use, or alternative routing, so the guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_ecommerce_storesFind e-commerce stores (Shopify, WooCommerce)AInspect
Searches a database of millions of Shopify and WooCommerce stores by country, city, niche, price range and social audience, with their emails, phones and social accounts. Or looks up given store domains.
| Name | Required | Description | Default |
|---|---|---|---|
| cities | No | ||
| niches | No | Category words in English, comma separated, e.g. "jewelry, beauty, shoes" | |
| domains | No | Look up these store domains instead of searching | |
| keyword | No | Free word searched in categories and store domains, e.g. "coffee" | |
| max_rank | No | …to this rank, e.g. min_rank 1000, max_rank 50000 | |
| min_rank | No | Rank range by estimated traffic, 1 = biggest store (size signal, NOT revenue: no revenue data exists). From this rank… | |
| platform | No | any | |
| countries | No | 2-letter codes, comma separated, e.g. "FR, BE" | |
| with_email | No | ||
| max_results | No | ||
| shopify_plus | No | Only Shopify Plus stores (big brands) | |
| min_tiktok_followers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses what is returned ('their emails, phones and social accounts') and that the corpus is Shopify/WooCommerce-specific, but says nothing about rate limits, pagination, result caps, or that with_email defaults to true and therefore silently filters results.
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, front-loaded with the primary search behavior and followed by the alternate lookup mode. No filler, though the misleading 'price range' phrasing costs a point.
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 12-parameter tool with no annotations, no output schema and only 58% schema coverage, the description is adequate but not complete: it omits the default behaviors (with_email=true filtering, platform default 'any'), the traffic-rank meaning, and any note on result volume or pagination.
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 58% and the description compensates by naming most of the searchable axes (country, city, niche, social audience, domains) in plain language, including the social-audience filter that maps to min_tiktok_followers. It does not explain the min_rank/max_rank traffic semantics and mislabels them as 'price range', which is a real gap for a 12-parameter tool.
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?
Names a specific verb and resource ('Searches a database of millions of Shopify and WooCommerce stores') and covers both operating modes (attribute search vs domain lookup), which distinguishes it from generic contact tools like find_website_contacts. The phrase 'price range' is imprecise since the schema's rank fields are explicitly a traffic/size signal with 'no revenue data', but the core purpose is unmistakable.
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 second sentence ('Or looks up given store domains') implies the alternative mode of use, letting an agent infer that domains are for bulk lookup rather than discovery. However, there is no explicit when-to-use guidance versus siblings such as find_website_contacts or find_local_businesses, and no stated exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_linkedin_leadsFind LinkedIn leadsBInspect
Searches LinkedIn people (by job title, location, keywords) or companies (by what they do, location), without cookies. For companies, can also find the people working there (people_at_companies + job_title). Can add full profiles and verified work emails.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | 2-letter Google country of the search, e.g. us, fr, gb, de | |
| keywords | No | People: industry / niche words, e.g. "fintech saas". Companies: what the company does, e.g. "marketing agency" | |
| language | No | 2-letter language, e.g. en, fr | |
| location | No | City, region or country (any language, typos fixed) | |
| only_new | No | Skip the leads this account already received in earlier searches and bring max_results NEW ones | |
| job_title | No | People: their job title(s), several separated by commas each get their own search for more depth, e.g. "business angel, partner VC, investment director". Companies: job title of the people to find there (with people_at_companies) | |
| find_emails | No | Find + verify the work email of each person | |
| max_results | No | ||
| search_type | No | people | |
| full_profiles | No | Also scrape experience, education, company size | |
| only_with_email | No | Deliver only people with a verified email (others skipped and not charged) | |
| people_per_company | No | ||
| people_at_companies | No | Companies only: also find people at each company found |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses useful traits (cookie-free operation, optional profile/email enrichment), but omits cost/credit behavior, auth requirements, pagination, and what the response contains. Some value added, but significant gaps remain for a 13-parameter tool.
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 compact sentences, front-loaded with the core search and followed by mode-specific extensions. Every sentence carries information, though the second and third could be slightly tighter.
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 tool with 13 parameters, no annotations, and no output schema, the description covers the core behavior and mode-specific parameters but leaves return format, cost model, and mode-to-parameter applicability incompletely specified. Adequate but not complete.
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 77%, so the schema already documents most parameters well. The description reinforces which parameters matter (job_title, location, keywords, people_at_companies, full_profiles, emails) but adds little syntax or format detail beyond the schema. Baseline 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 ("Searches") and resource ("LinkedIn people ... or companies") with the dimensions each mode accepts (job title, location, keywords / what they do, location). It also names the "without cookies" differentiator. It does not, however, distinguish itself from close siblings like find_people_at_companies or scrape_linkedin_urls, which an agent must route between.
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?
Usage is implied through the two search modes and the note that companies can be combined with people_at_companies + job_title, which helps an agent pick parameter combos. But there is no explicit when-to-use-this-vs-alternatives guidance against the many LinkedIn/lead siblings, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_local_businessesFind local businesses (Google Maps)AInspect
Searches Google Maps for local businesses (e.g. "bakery" in "Lyon, France") with address, phone, website, rating, and the email found on their website (verified).
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | 2-letter Google country of the search, e.g. us, fr, gb, de | |
| queries | Yes | What you would type in Google Maps: "bakery", "plumber"… | |
| language | No | 2-letter language, e.g. en, fr | |
| location | Yes | City / area / country, e.g. "Paris 11e, France" | |
| only_new | No | Skip the places this account already received in earlier searches and bring per_search NEW ones ("20 more bakeries, no duplicate") | |
| per_search | No | ||
| phone_type | No | Only places with a mobile phone (SMS / WhatsApp) or a landline (calls). US/Canada numbers cannot be told apart and are kept | any |
| find_emails | No | ||
| reviews_per_place | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and usefully discloses returned fields and that emails are verified. However, it does not explain operational behavior such as result limits, duplicate handling, permissions, rate limits, or how email discovery behaves.
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?
It is a single front-loaded sentence with no filler. The example and output-field list are compact and useful.
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 9-parameter search tool with no annotations and no output schema, the description is minimally adequate. It covers core purpose and return fields, but leaves important behavioral and usage details to the schema or unstated.
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 67%, so many parameters are already documented. The description adds a query/location example and clarifies that emails come from websites and are verified, but it does not compensate for undocumented parameters such as per_search, find_emails, and reviews_per_place.
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?
It states a specific verb and resource: searches Google Maps for local businesses. The example ('bakery' in 'Lyon, France') and listed output fields make the tool's domain clear enough to distinguish it from sibling lead-generation tools.
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 an input example but no explicit guidance on when to use this tool versus alternatives, nor when not to use it. It also omits context for choices like only_new, phone_type, or find_emails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_people_at_companiesFind people & emails at companiesBInspect
For a list of companies (e.g. from search_crunchbase or get_pitchbook_profiles): finds people with a given role on LinkedIn and their work email on the company website domain.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | e.g. "partner", "CEO", "head of sales" | |
| companies | Yes | ||
| per_company | No | ||
| only_with_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose meaningful provenance — people come from LinkedIn, emails are derived from the company website domain — which tells the agent roughly how results are sourced. It says nothing about cost/latency (this looks like live scraping), verification status of the emails, or what happens when no email is found, so significant behavioral gaps remain.
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?
A single well-formed sentence that front-loads the precondition (a company list) before the action. No filler or repetition, though the parenthetical tool references are slightly awkward and the output half of the operation could be broken out for scanability.
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 4-parameter, no-annotation, no-output-schema tool, the description covers the core operation and data sources but leaves out the two optional parameters' effects, result caps (200 companies, 10 per company), and email validity caveats. Adequate to invoke, incomplete for predicting output quality.
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 only 25% of four parameters. The description loosely covers role ('a given role') and companies ('a list of companies'), but per_company (default 3, max 10) and only_with_email (default true) are unexplained in both schema and description — a consequential default that silently filters results. The description does not compensate for the coverage gap.
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 and compound resource — finds people holding a given role on LinkedIn plus their work email on the company domain — which is materially different from what find_linkedin_leads or find_work_emails alone would do. It names upstream source tools (search_crunchbase, get_pitchbook_profiles) rather than the competing siblings, so the differentiation is implied rather than explicit.
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 opener 'For a list of companies (e.g. from search_crunchbase or get_pitchbook_profiles)' gives implied usage context: call this after you already have a company list. There is no when-not guidance and no comparison to the close alternatives find_linkedin_leads, find_website_contacts, or find_work_emails, so an agent must infer which is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_website_contactsFind contacts on websitesAInspect
For a list of websites (domains or URLs), reads the home, contact, legal-notice pages and sitemap and returns the emails (verified by SMTP), phones (international format, mobile or landline) and social links each site publishes. Use it after find_local_businesses or with any list of company websites.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | 2-letter country to read national phone numbers, e.g. fr | |
| websites | Yes | Domains or URLs, e.g. "nivon.com" | |
| verify_emails | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does reasonably well: it discloses the crawling strategy, that emails are SMTP-verified, that phones are normalized to international format, and that social links are collected. It omits operational realities such as credit/rate cost, blocking or failure behavior on unreachable sites, and latency for large lists.
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, zero filler: the capability and its outputs come first, the routing hint second. Every clause (pages read, verification method, phone format) earns its place by adding meaning not present in the structured fields.
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 3-parameter tool with no output schema and no annotations, the description covers what it does, what it returns, and when to reach for it. Missing cost/quota expectations and behavior on failed lookups, but the core call decision is fully supported.
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 67%, with country and websites already documented inline and only verify_emails lacking a schema description. The description implicitly explains verify_emails via "verified by SMTP" and restates that websites accepts domains or URLs, but adds no new syntax, format, or batching guidance for the 10,000-item limit. Baseline 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?
States a specific verb+resource (finds contacts on websites) and goes further to name the exact pages read (home, contact, legal-notice, sitemap) and the three output categories (SMTP-verified emails, international phones, social links). This mechanism-based description lets an agent distinguish it from siblings like find_work_emails or verify_emails without opening any schema.
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?
"Use it after find_local_businesses or with any list of company websites" gives explicit triggering context and names a companion tool, so the agent knows the intended workflow entry point. It stops short of saying when NOT to use it (e.g. when you only need work emails for named people) or what it costs per website.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_work_emailsFind work emailsAInspect
Finds the verified work email of people from their name and company domain (or company name). Only verified emails are billed.
| Name | Required | Description | Default |
|---|---|---|---|
| people | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses a billing trait ('only verified emails are billed') and the alternate inputs, but says nothing about cost per lookup, rate limits, failure/no-match behavior, or whether unverified emails are returned. Partial disclosure for a tool with zero annotation coverage.
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 core action leads, the input strategy follows, and the billing note closes. Every clause earns its place 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?
The description covers the action, inputs, and billing cue, but with no annotations and no output schema it leaves return shape, no-match handling, and cost behavior unspecified. Reasonable but thin for a billing-sensitive lookup 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?
Reported schema coverage is 0%, but the single parameter is an array of person objects; the description clarifies that either a company domain or a company name can be used to resolve the email, adding real meaning. It says nothing about the array limits (maxItems 2000), the required first_name, or last_name behavior, so it only partly compensates for the coverage gap.
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+resource ('finds the verified work email of people') and the inputs it consumes (name plus company domain or company name). It implicitly distinguishes itself from siblings like verify_emails, though it never names an alternative. Clear purpose, but no explicit sibling differentiation.
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?
Usage is implied by the input description ('from their name and company domain (or company name)'), which tells the agent what to supply. However, there is no statement of when to prefer this over verify_emails, find_people_at_companies, or find_linkedin_leads, and 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.
find_youtube_channelsFind YouTube channelsCInspect
Finds YouTube channels by niche (or reads given channels) with a business email verified by SMTP. Only verified emails are billed.
| Name | Required | Description | Default |
|---|---|---|---|
| niches | No | ||
| country | No | 2-letter Google country of the search, e.g. us, fr, gb, de | |
| channels | No | Channel URLs or @handles | |
| language | No | 2-letter language, e.g. en, fr | |
| location | No | ||
| only_new | No | Skip the channels this account already received in earlier searches | |
| per_niche | No | ||
| max_subscribers | No | ||
| min_subscribers | No | ||
| only_with_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does add one valuable fact: results carry an SMTP-verified business email and only verified emails are billed. That is real cost/quality context. But it omits critical traits for a 10-parameter enrichment tool: whether execution is synchronous or async, how results are retrieved (the presence of a get_results sibling strongly hints at job-based retrieval), rate limits, and credit consumption per result.
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?
A single tightly written sentence with the core action front-loaded and the billing caveat appended. Nothing is wasted, though the brevity is partly achieved by omitting information the tool actually needs to convey.
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 10-parameter, zero-required, no-annotation, no-output-schema tool that likely runs as an async job (sibling get_results), the description is far too thin. It never explains how to combine niches/channels, how to retrieve results, or what a returned record contains beyond the email, leaving the agent to guess at invocation and follow-up.
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 only 40% (country, language, channels, only_new), leaving niches, location, per_niche, max_subscribers, min_subscribers, and only_with_email undocumented in both schema and description. The description adds no parameter-level meaning beyond restating the niche/channel duality, so it does not compensate for the coverage gap. 'niche' vs 'channels' semantics and the min/max_subscribers filter behavior are left ambiguous.
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 names a specific verb and resource ('Finds YouTube channels') and covers both operating modes (search by niche, or read explicit channels), which distinguishes it from generalist siblings like find_creators and find_linkedin_leads. It is clear what the tool does, though it does not explicitly contrast itself with the closest sibling.
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 parenthetical '(or reads given channels)' implies the two usage modes (niches vs channels), so an agent can infer which parameter set to supply. However, there is no explicit when-to-use guidance, no mention of alternatives among the many find_* siblings, and no prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pitchbook_profilesPitchBook profilesBInspect
Public PitchBook profiles of private companies or investors. Give profile URLs, or keywords to search PitchBook first.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | company | |
| urls | No | ||
| max_results | No | ||
| search_keywords | No | e.g. "SaaS Germany" — finds profile URLs first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden but only says profiles are 'public'. It does not disclose auth requirements, rate limits, pagination tied to max_results, or whether results are scraped/live. This is a thin disclosure for a tool with zero annotation coverage.
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 short, front-loaded sentences with no filler, and the input-mode guidance follows immediately after the purpose statement. Efficiently sized for the content provided.
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 4-parameter tool with no output schema and no annotations, the description is too sparse. It does not describe the return shape, paging, or the failure mode when keywords match nothing, leaving gaps an agent must guess at.
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 only 25%, so the description must compensate. It maps to two of the four parameters (urls, search_keywords) and implies the company/investor distinction of the kind enum, but never explains max_results or the default paging behavior.
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 names the specific resource (public PitchBook profiles) and its scope (private companies or investors), which lets an agent distinguish it from the Crunchbase siblings. It lacks an explicit verb like 'fetch/retrieve', but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Give profile URLs, or keywords to search PitchBook first" clearly lays out the two input modes and their ordering (search first, then fetch). It stops short of stating when to prefer this over lookup_crunchbase_companies or search_crunchbase, so no alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_resultsGet results of a searchBRead-onlyInspect
Status and results of a search started earlier (job_id), paged.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| job_id | Yes | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes that this is a safe read operation. The description adds useful context that it returns both status and results and that output is paged, but it does not explain job lifecycle, readiness, expiration, or error behavior for an asynchronous job tool.
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 a single front-loaded sentence that names the core purpose, the key parameter, and the paged behavior. It is efficient, though the compressed phrasing leaves important async-job context implicit.
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 read-only retrieval tool with three parameters and no output schema, the description covers the basic return concept ('status and results'). It remains incomplete for an async job tool because it does not explain possible statuses, polling expectations, or result shape despite the absence of an output schema.
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 0%, so the description must carry the burden of explaining parameters. It identifies job_id as referring to a previously started search and hints at paging, but it does not explain limit/offset semantics or clarify how job_id is obtained.
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-resource pair: it returns status and results for a search identified by job_id. The phrase 'started earlier' distinguishes it from the sibling find_*/search_* tools that initiate searches, though it does not name those siblings explicitly.
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 phrase 'started earlier (job_id)' implies this tool is used after a search job has already been created, giving implied usage context. However, it does not explicitly state when to use this versus the sibling search tools, nor does it describe polling behavior or what to do if results are not ready.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_crunchbase_companiesLook up companies on CrunchbaseCInspect
Full Crunchbase record for a list of company names or domains.
| Name | Required | Description | Default |
|---|---|---|---|
| companies | Yes | Names ("Stripe") or domains ("stripe.com") | |
| include_key_people | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full disclosure burden, yet it says only that a 'full record' is returned. It omits cost/credit or rate-limit behavior, how ambiguous or unmatched names are handled, and whether include_key_people triggers additional fetching — all material for a paid data provider.
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?
A single tight sentence with no filler, front-loading the resource and the input shape. It is efficient but so terse that the brevity costs it completeness on the parameter and behavior dimensions.
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 2-parameter lookup against an external paid dataset with no annotations and no output schema, the description should at least sketch what the full record contains and how include_key_people changes the response. Neither is covered, leaving an agent to guess at return shape and flag semantics.
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 50%: the schema itself documents the companies array ('Names ("Stripe") or domains ("stripe.com")'), which the description merely restates. The one undocumented parameter, include_key_people, gets no explanation of what key people data contains or when to enable it.
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 resource (full Crunchbase company record) and the input mode (list of names or domains), which is clearer than a bare label. However, it never distinguishes itself from the sibling search_crunchbase, so an agent cannot tell from the description which one to reach 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?
No when-to-use statement, no exclusions, and no pointer to search_crunchbase or get_pitchbook_profiles as alternatives. The only implied guidance is that a batch of names/domains is acceptable, which the schema already shows via the array type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrape_linkedin_urlsScrape LinkedIn URLsBInspect
Full records for LinkedIn profile, company, job or post URLs you already have.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Profile | |
| urls | Yes | ||
| find_emails | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and largely fails it. "Full records" hints at completeness of return data, but there is no mention of cost, rate limits, the 1000-URL batch ceiling, authentication, or that find_emails performs an additional (potentially sensitive) enrichment pass.
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?
A single front-loaded sentence with no filler. It is efficient, though its brevity is partly the cause of the missing guidance rather than a sign of disciplined editing.
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 3-parameter batch tool with no annotations, no output schema, and 0% schema coverage, the description is too thin. An agent cannot tell what a "full record" contains, whether the call is billable or slow, or how find_emails changes the operation.
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 0%, so the description must compensate for all three parameters. It only implicitly covers `type` by listing the four entity kinds (already captured by the enum), and says nothing about `urls` (the required array, max 1000) or the `find_emails` boolean, which has real behavioral consequences.
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 clear outcome ("Full records") and names the entity types covered (profile, company, job, post), and the phrase "URLs you already have" distinguishes it from the discovery-oriented siblings like find_linkedin_leads and find_creators. It stops short of an explicit verb and does not name a sibling, but an agent can identify what the tool returns and for which inputs.
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?
"URLs you already have" gives clear selection context: use this when URLs are known, rather than for discovery. It does not explicitly name the alternative find_* tools or state when not to use it, but the condition that selects this tool is legible.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_crunchbaseSearch CrunchbaseBInspect
Finds startups or investors on Crunchbase by what they do and where, with funding, rounds, investors and optionally founders.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | 2-letter Google country of the search, e.g. us, fr, gb, de | |
| industry | No | ||
| keywords | Yes | What they do, e.g. "AI agents", "seed fund" | |
| language | No | 2-letter language, e.g. en, fr | |
| location | No | ||
| only_new | No | Skip the organizations this account already received in earlier searches | |
| hq_country | No | Keep only this HQ country | |
| entity_type | No | any | |
| max_results | No | ||
| max_funding_usd | No | ||
| min_funding_usd | No | ||
| include_key_people | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It hints at the result content (funding, rounds, investors, founders) but says nothing about pagination, result limits, credit/cost implications, or how the account-scoped only_new dedup behaves. For a 12-parameter search tool with zero annotation coverage, this is a significant 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?
A single front-loaded sentence that leads with the verb and resource and then enumerates the output facets; every clause carries information. It is slightly dense as a run-on list, but there is 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 12-parameter search tool with no output schema and no annotations, the description conveys the search model and returned fields but omits result-set behavior (paging, max_results interaction, ordering) and any cost/permission context. Adequate as a minimum-viable description, not complete.
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 only 42%, but the description conceptually covers most of the undocumented parameters: 'what they do' maps to keywords/industry, 'where' to location/country/hq_country, 'startups or investors' to entity_type, funding bounds to min/max_funding_usd, and 'optionally founders' to include_key_people. It stops short of naming parameters, so syntax and defaults remain schema-only.
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 (Finds) and resource (startups or investors on Crunchbase) plus the search axes (what they do, where) and the returned data (funding, rounds, investors, founders). It is clearly distinguishable from the sibling lookup_crunchbase_companies, which is a name lookup rather than a discovery search, though that sibling is not named explicitly.
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?
There is no when-to-use guidance: nothing says when to prefer this over lookup_crunchbase_companies, get_pitchbook_profiles, or find_creators, and no prerequisites or exclusions are given. The search-by-keyword framing implies usage, but the agent must infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_emailsVerify emailsBInspect
Checks email addresses live by SMTP (no email sent): valid, invalid, catch-all, risky, unknown.
| Name | Required | Description | Default |
|---|---|---|---|
| emails | Yes | ||
| detect_catch_all | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the key safety trait ('no email sent') and the possible outcome states, but says nothing about latency, cost, rate limits, or what the SMTP probe means for catch-all vs risky addresses.
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?
A single front-loaded sentence with no filler; the method and the return categories are packed in without waste.
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 two-parameter tool with no annotations, no output schema, and zero schema description coverage, this is too thin. It omits parameter meaning, batch-size implications, and what the returned verdicts look like in structured form.
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 0% across two parameters, so the description must compensate and largely does not. The mention of 'catch-all' only obliquely hints at detect_catch_all, and the emails array with its 1–10,000 item bounds is never explained.
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 ('Checks email addresses live by SMTP') and enumerates the verdict categories returned. It is clearly distinguishable from discovery-style siblings like find_work_emails, though it never names an alternative explicitly.
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?
Usage is only implied: an agent can infer this is for validating addresses before sending. There is no explicit when-to-use, when-not-to-use, or reference to a sibling tool, so the guidance remains inferential.
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.
16 tool updates
- First observed
account - First observed
creator_profiles - First observed
find_creators - First observed
find_ecommerce_stores - First observed
find_linkedin_leads - First observed
find_local_businesses - First observed
find_people_at_companies - First observed
find_website_contacts - First observed
find_work_emails - First observed
find_youtube_channels - First observed
get_pitchbook_profiles - First observed
get_results - First observed
lookup_crunchbase_companies - First observed
scrape_linkedin_urls - First observed
search_crunchbase - First observed
verify_emails
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs115 npm55 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1618 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.