Skip to main content
Glama

HirePulse

Server Details

Company data for sales and research agents: website tech stack, live open jobs from public ATS boards, a hiring-intent score and Google Ads by domain. 5 free calls a day, then pay per call with x402 (USDC on Base).

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.4/5.0

Scored across 23 tools

Disambiguation1/5

The set contains exact duplicates: 00_ask_hirepulse_advisor and ask_hirepulse_advisor are identical, as are company_footprint_check and verify_domain_legitimacy_and_security. Numerous other tools overlap heavily in company enrichment, merchant trust, and bulk-lookup purposes, so an agent cannot reliably tell them apart.

Naming Consistency3/5

Most names use snake_case, which is readable and fairly consistent. However, prefixes like 00_, x402_, muse_, and agentic_ break the pattern, and verb styles vary across get_, detect_, extract_, find_, verify_, and pre_purchase_.

Tool Count3/5

At 23 tools, the server is in the heavy borderline range. The count would be defensible for a broad B2B data and merchant trust platform, but the many redundant and overlapping tools make it feel bloated rather than well-scoped.

Completeness4/5

The surface covers company enrichment, hiring signals, tech stack, ads, bulk lookup, and multiple merchant trust checks, which is broad for the apparent domain. Minor gaps remain, such as general company discovery by criteria and verified contact/decision-maker operations, but agents can work around these with domain-driven lookups.

Available Tools

23 tools
00_ask_hirepulse_advisorA
Read-only
Inspect

Free advisor for AI agents: describe your goal (B2B leads, hiring signals, buying intent, tech stack lookup, Google Ads, VC due diligence) and get the right HirePulse tool, the real cost, your free-call balance and a ready-to-run request.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_goalYes
budget_usdNo
domain_countNo
sample_domainNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
whyYes
toolsNo
free_quotaYes
guaranteesYes
cached_hintYesToday only, status metadata; no result data or new engine calls.
alternativesYes
recommended_toolYesRecommended data tool, or null when the goal is unclear.
cost_estimate_usdYesList-price range before free quota, actual data availability and optional follow-up calls; includes request splitting and scan limits.
efficiency_analysisYes
recommended_execution_sequenceYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered, and the description adds real behavioral value: the advisor is free, it reports the 'real cost', your 'free-call balance', and produces a 'ready-to-run request' rather than executing anything. It does not say whether the call itself consumes balance or how routing accuracy is bounded, which keeps it short of 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.

Conciseness4/5

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

A single front-loaded sentence with no filler: the tool's role and its outputs come first, followed by the covered goal domains. It is dense but every clause carries information, so it earns its length.

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

Completeness3/5

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

Because an output schema exists, return values need not be restated, and the annotations cover the read-only profile. Still, with 0% schema coverage the agent has no guidance on what to put in agent_goal, when domain_count or sample_domain matter, or how budget_usd influences the recommendation — a real gap for a four-parameter routing tool.

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

Parameters2/5

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

Schema description coverage is 0% across four parameters, so the description must carry the load and largely does not. 'Describe your goal' loosely maps to agent_goal, but budget_usd, domain_count, and sample_domain are never mentioned, and the goal categories listed are not tied to any parameter or format.

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?

The description names a concrete verb and resource ('free advisor for AI agents') and enumerates the goal domains it handles (B2B leads, hiring signals, buying intent, tech stack, Google Ads, VC due diligence). It also states the deliverable — the right HirePulse tool, real cost, free-call balance, and a ready-to-run request — which clearly separates it from the lookup siblings like batch_lookup or detect_website_tech_stack.

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 tells the agent to 'describe your goal' and get routed, which implies this is the entry point before invoking concrete lookup tools, and the enumerated goal categories show the contexts it covers. However, it never explicitly says 'call this first' or states when NOT to use it versus going straight to a sibling tool, so one inference step remains.

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

agentic_shelf_schema_comparatorA
Read-only
Inspect

Use to compare a brand and up to 3 competitors as machine-readable shopping schema: prices, ratings, availability, shipping and return evidence. Samples one product per store and does not predict agent selection. $0.02 USDC per comparison via x402.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic domain without scheme, path or port.
competitor_domainsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
statusYes
storesNo
comparisonNo
limitationsNo
error_reasonNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover readOnlyHint and openWorldHint, and the description adds genuinely useful behavior beyond them: one-product-per-store sampling, an explicit non-goal (does not predict agent selection), and a per-call cost of $0.02 USDC via x402. The pricing and sampling traits are exactly the kind of context annotations cannot carry.

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?

Three tight sentences with the action front-loaded and no filler. The cost and limitation notes each carry weight; nothing is redundant.

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 annotations carry the safety profile. The description still supplies cost, sampling behavior, and scope limits, leaving little an agent needs missing to invoke it correctly.

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 50%, and the schema already documents the domain format ('public domain without scheme, path or port') and the array bounds. The description maps concepts to parameters (brand=domain, up to 3 competitors=competitor_domains) but adds no format or syntax detail beyond the schema, so baseline 3 is appropriate.

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 (compare) and resource (a brand vs up to 3 competitors as machine-readable shopping schema), and enumerates the compared dimensions: prices, ratings, availability, shipping, return evidence. It is clearly a comparison/audit tool, though it does not name a specific sibling to contrast against.

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 'Use to compare...' opener gives implied usage context, and the description clarifies scope by stating it samples one product per store and does not predict agent selection. However, it names no alternative tool and gives no explicit when-not guidance, so an agent must infer positioning among the many trust/audit siblings.

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

ask_hirepulse_advisorA
Read-only
Inspect

Free advisor for AI agents: describe your goal (B2B leads, hiring signals, buying intent, tech stack lookup, Google Ads, VC due diligence) and get the right HirePulse tool, the real cost, your free-call balance and a ready-to-run request.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_goalYes
budget_usdNo
domain_countNo
sample_domainNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
whyYes
toolsNo
free_quotaYes
guaranteesYes
cached_hintYesToday only, status metadata; no result data or new engine calls.
alternativesYes
recommended_toolYesRecommended data tool, or null when the goal is unclear.
cost_estimate_usdYesList-price range before free quota, actual data availability and optional follow-up calls; includes request splitting and scan limits.
efficiency_analysisYes
recommended_execution_sequenceYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, so safety is partly covered. The description adds useful context (it's free, and it surfaces 'the real cost' and 'your free-call balance', implying a rate/budget dimension), but it doesn't state whether the call itself consumes the free balance or whether the 'ready-to-run request' is executable.

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?

One dense, front-loaded sentence that leads with the value proposition ('Free advisor for AI agents'). Efficient, though the long parenthetical list of goal types slightly burdens readability.

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

Completeness3/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 needn't be spelled out, and the description does summarize the output. The remaining gap is the unexplained non-required parameters, which leaves an agent unsure how to tune cost or scope estimates.

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

Parameters2/5

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 parameter burden, yet it only loosely explains agent_goal via the parenthetical goal list. budget_usd, domain_count, and sample_domain are never mentioned or given meaning, leaving three of four parameters undocumented.

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+resource (advisor that takes a goal and returns the right HirePulse tool, cost, balance, and a ready-to-run request) and enumerates the goal domains it handles. This clearly distinguishes it from the sibling data tools it routes to.

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?

Strongly implies the use case – describe a goal when you don't yet know which sibling tool to call – and lists concrete goal categories. It does not, however, explicitly say when NOT to use it (e.g., when the correct tool is already known).

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

b2b_vendor_stability_evaluatorA
Read-only
Inspect

Use to inspect public vendor technology and current hiring evidence before procurement. Missing historical headcount or SEO evidence is unknown, never a fabricated growth trend. $0.10 USDC only when a useful evidence assessment is returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
vendor_domainYesPublic domain without scheme, path or port.

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
statusYes
limitationsNo
error_reasonNo
vendor_domainNo
hiring_velocityNo
stability_statusNo
tech_stack_summaryNo
vendor_health_scoreNo
seo_visibility_trendNo
verified_contacts_availableNo
engineering_and_support_headcount_trendNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark it read-only and open-world. The description adds non-obvious epistemic rules (missing headcount/SEO is unknown, never a fabricated growth trend) and a cost condition ($0.10 USDC only when a useful assessment is returned), which materially affect how an agent should interpret and budget for the call.

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 tight sentences: purpose/usage front-loaded, then caveat, then pricing. No filler; each sentence carries information an agent needs.

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 not be explained. The description covers purpose, usage context, data reliability caveat, and payment condition, leaving little else an agent needs to invoke it correctly, though it could clarify the assessment's scope relative to sibling tools.

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 single vendor_domain parameter is fully specified in the schema. The description adds no parameter-level detail, 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?

Names a specific action (inspect) and two evidence sources (public vendor technology, current hiring evidence) with procurement context. However, it never explicitly states it evaluates vendor stability nor differentiates from single-signal siblings like detect_website_tech_stack or get_company_hiring_intent.

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?

Explicitly says to use it 'before procurement,' giving clear context. No when-not conditions or alternative tools are named, so it stops short of full routing guidance.

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

batch_lookupA
Read-only
Inspect

Bulk company lookup: run one tool (tech stack, open jobs, hiring intent, Google Ads or company profile) on many domains with one payment. Step 1 (free): send {tool, domains}; every domain is checked and you get each status plus a quote_id priced only for rows with data. Step 2: send {quote_id} and pay the exact quoted amount via x402 on Base to receive all rows. Max $1 per call: up to 50 domains, or 33 for company-profile. Rows without data are never charged. Quotes last 15 minutes; 3 free scans per day per IP.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNo
domainsNoPublic company domains without a URL scheme, path or port.
quote_idNoquote_id from step 1. Send it alone to pay and receive the results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
coldNohot-buyers: domains below the threshold, free.
nextNo
statusYesquote: pay with quote_id to get the results. nothing_billable: no charge. ok: paid results.
resultsNoPaid rows, after step 2.
quote_idNo
statusesNoStatus of every domain, free.
price_usdNo
expires_atNo
billable_countNo
price_micro_usdNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint/openWorldHint, yet the description adds substantial behavior: a quote-then-pay flow, x402 payment on Base, exact quoted amount, rows without data never charged, a $1 cap, quote expiry of 15 minutes, and 3 free scans per IP per day. That is exactly the extra context annotations cannot carry.

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?

Dense but front-loaded: purpose first, then Step 1, Step 2, then caps/expiry. Nearly every clause carries operational information, though the pricing and rate-limit details could be tightened slightly.

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?

For a two-phase paid tool with an output schema already defined, the description covers everything an agent needs to invoke it correctly: which mode to send, what payment follows, cost ceilings, expiry, and free-scan limits. Nothing material 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?

Schema description coverage is 67%, and the description compensates by explaining the role of each parameter in the sequence: {tool, domains} for the free step, {quote_id} alone for payment, plus the 50-domain cap (33 for company-profile). Domain formatting is left to the schema, so it is not a full 5.

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 concrete verb and resource ('Bulk company lookup: run one tool ... on many domains with one payment') and names the five underlying lookup types, which cleanly distinguishes it from the single-domain siblings such as detect_website_tech_stack and get_company_open_jobs.

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 clearly frames when this tool applies (many domains, one payment, one underlying tool) and spells out the two-step call sequence. It stops short of explicitly naming the single-domain siblings as alternatives, so the routing is implied rather than stated.

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

checkout_active_promo_code_finderA
Read-only
Inspect

Use during checkout to extract explicit coupon candidates from merchant homepage SEO metadata. Returns source text and unverified codes; does not claim a code works at checkout. Google ad copy and Meta ads are unavailable. $0.01 USDC per nonempty result via x402.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic domain without scheme, path or port.
product_categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
statusYes
limitationsNo
active_codesNo
error_reasonNo
promos_foundNo
sources_checkedNo
best_offer_summaryNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark readOnly and openWorld. The description adds valuable context beyond annotations: it discloses the data source (homepage SEO metadata), that codes are unverified, and explicitly names unavailable channels. The per-result pricing is also stated, which is useful behavioral information.

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 compact sentences, front-loaded with the action and scope, then constraints, then pricing. No waste.

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 details needn't be repeated. The description covers source, limitations, pricing, and safety context well. The only gap is the undocumented 'product_category' parameter.

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 coverage is 50%; the 'domain' parameter is documented in the schema, but 'product_category' has no description anywhere. The description does not compensate for this gap or add meaning beyond the schema.

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 (extract) and resource (explicit coupon candidates from merchant homepage SEO metadata), which is clear. The 'checkout' context and mention of unavailable ad channels help distinguish it, though sibling differentiation could be sharper.

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?

Explicitly says to use it 'during checkout' and clarifies what it does not claim (a code works at checkout) and what sources are unavailable. No direct naming of alternatives, but the scoping is clear.

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

company_footprint_checkA
Read-only
Inspect

Company footprint check for investment, due-diligence and vendor-risk agents: for one domain, reports which public operating signals exist: website ad and analytics tags, an active job board with open roles, and Google Ads in the public Transparency Center. Each signal is marked found, not_found or unknown in footprint, with the underlying data. Facts only: no revenue, burn or fraud estimates. $0.03 USDC per result via x402 on Base, charged only when at least two of the three checks return data; otherwise not charged. Counts as one of the 5 free daily calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic company domain without a URL scheme, path or port.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
domainYes
statusYesOnly ok is charged: at least two of the three sections have data.
signalsNo
footprintNofound, not_found or unknown for each public signal.
checked_atYes
google_adsNoSame fields as get_google_ads_by_domain.
tech_stackNoSame fields as detect_website_tech_stack.
hiring_intentNoSame fields as get_company_hiring_intent.
sections_statusYes
sections_with_dataNo

TDQS

A4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and openWorldHint, and the description goes well beyond them: cost ($0.03 USDC via x402 on Base), the conditional billing rule (charged only when two of three checks return data), the free-daily-call accounting, and an explicit scope disclaimer (facts only, no revenue/burn/fraud estimates). These are exactly the behavioral traits an agent needs before invoking a metered tool.

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?

The opening clause front-loads purpose and audience, and the signal list, output states, disclaimer and pricing each carry distinct information with no filler. It is on the longer side, but every sentence earns its place; only the audience enumeration is mildly expendable.

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, yet the description still clarifies the found/not_found/unknown states. Combined with the billing conditions, free-call accounting and scope limits, an agent has everything needed to decide whether to call it and how to interpret the result.

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, so the schema already explains that the domain must omit scheme, path and port. The description adds only 'for one domain', which conveys cardinality but no new format or constraint 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.

Purpose4/5

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

The description states a specific resource (a company domain) and enumerates exactly what it reports: ad/analytics tags, job board activity, and Google Ads Transparency entries. It is far more than a restatement of the name. However, it never distinguishes itself from the siblings that cover the same underlying signals (detect_website_tech_stack, get_company_open_jobs, get_google_ads_by_domain), so it loses the top mark for sibling differentiation.

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 names its target consumers (investment, due-diligence and vendor-risk agents), which implies the context of use, and the pricing/quota details help an agent weigh the call. But there is no explicit when-to-use versus when-not, and no routing guidance to the three sibling tools that surface the same signals individually.

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

detect_website_tech_stackA
Read-only
Inspect

Tech stack lookup API for any company website: detects ad pixels, analytics, marketing tools, CMS, e-commerce platform, hosting and payment providers (Meta, Google Ads, LinkedIn and TikTok pixels, GA4, Google Tag Manager and more), plus email provider, DMARC and SPF senders from DNS. Use before qualifying or writing to a company. Fast: reads the home page HTML, headers, cookies and up to two public Google Tag Manager containers, without a headless browser. 5 free calls per day per IP, then $0.005 USDC per result via x402 on Base. Blocked, unreachable or empty sites (no_signals) are never charged.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic domain without a URL scheme, path or port.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cmsYes
noteYes
addedYes
titleYes
domainYes
statusYesOnly ok is charged. no_signals: the page loaded but no technology was detected.
has_ga4Yes
has_gtmYes
removedYes
paymentsYes
ad_pixelsYes
analyticsYes
ecommerceYes
final_urlYes
checked_atYes
frameworksYes
next_stepsNoSuggested follow-up calls on the same domain, with the exact body. Optional to use.
hosting_cdnYes
spf_sendersYes
dmarc_policyYes
is_first_runYes
email_providerYes
has_meta_pixelYes
marketing_toolsYes
has_tiktok_pixelYes
technology_countYes
verified_servicesYes
has_google_ads_tagYes
has_linkedin_insightYes

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/openWorld annotations, it discloses the exact data sources (home page HTML, headers, cookies, up to two public GTM containers), the method constraint (no headless browser), pricing and quota (5 free calls/day per IP, then $0.005 USDC via x402 on Base), and the billing edge case that no_signals results are never charged. This is unusually rich behavioral disclosure.

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?

Front-loaded with the capability, then method, then cost. Every sentence carries information, though the long parenthetical enumeration of vendor names is denser than strictly necessary.

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 no explanation. Given that, the description covers scope of detection, method, latency expectation, quota, cost model, and the no-charge failure case — everything an agent needs to decide and safely invoke.

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 states "public domain without a URL scheme, path or port." The description adds no format or syntax detail beyond that, so the baseline 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 (detect a company website's tech stack) and enumerates exactly what is detected: ad pixels, analytics, CMS, e-commerce, hosting, payment providers, email, DMARC/SPF. This clearly separates it from siblings like extract_company_contacts or verify_domain_legitimacy_and_security.

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?

"Use before qualifying or writing to a company" gives concrete workflow placement, which is real guidance absent from most siblings. It does not, however, name an alternative or state when this tool should NOT be used (e.g., overlap with verify_domain_legitimacy_and_security or get_google_ads_by_domain).

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

extract_company_contactsA
Read-only
Inspect

Public company contact extractor: homepage, about, contact, team and careers; deduplicated published emails and LinkedIn, X, Twitter, GitHub links. Native MX/SPF/DMARC checks; MX availability is not mailbox verification. Email pattern is inferred only from observed examples. $0.01; no emails, social links or valid MX means no charge.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
mxNo
spfNo
dmarcNo
domainYes
emailsNo
statusYes
social_linksNo
email_deliverableNo
inferred_email_patternNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations cover read-only and open-world, but the description adds real value beyond them: native MX/SPF/DMARC checks, the explicit caveat that MX availability is not mailbox verification, that email patterns are inferred only from observed examples, and the pricing rule ($0.01, no charge when nothing found). This preempts the two most likely agent misinterpretations. It stops short of return format/pagination or rate-limit details, 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.

Conciseness4/5

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

Very dense but front-loaded: identity first, then scope, then caveats, then cost. Every clause carries information - the MX, pattern-inference and billing clauses each prevent a distinct error. The semicolon-chained packing is slightly heavy to parse, keeping it from a 5.

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 no prose, and annotations already establish the safety profile. The description covers scope, caveats and billing, which is what an agent needs to decide and call correctly. The one remaining gap is the expected domain input format.

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 (domain), and schema coverage is 0% - the schema supplies just 'string, maxLength 253'. The description never clarifies expected input form (bare root domain vs. URL vs. subdomain), which is a real ambiguity for a web-extraction tool. The concept of a domain is inferable from the tool's framing, hence a 3 rather than lower.

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+resource ('Public company contact extractor') and immediately scopes it: which pages are scraped (homepage, about, contact, team, careers) and what comes back (deduplicated published emails, LinkedIn/X/Twitter/GitHub links). That is enough to distinguish it from siblings like company_footprint_check or get_company_profile 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 Guidelines3/5

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

Usage is implied rather than stated - the framing makes clear this is the tool for pulling published contacts from a company domain, and the billing caveat hints at when it is worth calling. However, it never names an alternative sibling or an explicit when-not-to-use condition (e.g. versus company_footprint_check or verify_domain_legitimacy_and_security), so routing 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_hot_buyersA
Read-only
Inspect

Buying intent for a list of companies: find which of 2 to 25 domains are hiring hardest. Step 1 (free): send domains and an optional min_intent_score (default 70); every domain gets a hiring-signals check, cold domains come back free with their intent_score, and you get a quote_id. Step 2: send {quote_id} and pay exactly $0.25 USDC per hot company via x402 on Base for a full company profile each (tech stack, hiring intent, Google Ads). At most 4 hot companies per paid call ($1 max); extra hot domains are listed in more_hot to scan again. Zero hot means no charge. Quotes last 15 minutes; 3 free scans per day per IP.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainsNoPublic company domains without a URL scheme, path or port.
quote_idNoquote_id from step 1. Send it alone to pay and receive the results.
min_intent_scoreNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
coldNohot-buyers: domains below the threshold, free.
nextNo
statusYesquote: pay with quote_id to get the results. nothing_billable: no charge. ok: paid results.
resultsNoPaid rows, after step 2.
quote_idNo
statusesNoStatus of every domain, free.
price_usdNo
expires_atNo
billable_countNo
price_micro_usdNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description adds the material behavioral facts an agent needs — $0.25 USDC per hot company via x402 on Base, a 4-company / $1 cap per paid call, no charge when zero companies are hot, 15-minute quote expiry, and 3 free scans per day per IP. None of this is recoverable from 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.

Conciseness4/5

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

The purpose is front-loaded in the first clause and the rest is a dense but ordered walkthrough of the paid flow. For a two-phase payment tool every sentence carries operational weight, though the run-on structure with inline pricing and caps makes it slightly harder to scan than it could be.

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 shapes need not be re-explained, yet the description still surfaces the key return behaviors (cold domains come back with intent_score, hot domains yield a company profile, overflow lands in more_hot). Combined with the payment, quota, and expiry rules, 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?

Schema coverage is 67%, so the description must compensate and largely does: it explains the two mutually exclusive modes (domains alone vs quote_id alone), states the min_intent_score default of 70, and clarifies that quote_id is the artifact from step 1. It stops short of explaining the domain format constraints (no scheme/path/port, 253-char limit) beyond what the schema already says.

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?

The opening sentence states a specific verb and resource: 'Buying intent for a list of companies: find which of 2 to 25 domains are hiring hardest.' It scopes the input size (2-25 domains) and the outcome (hiring intent), which clearly separates it from siblings like get_company_hiring_intent or batch_lookup without needing their schemas.

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?

The description gives an explicit two-step protocol: Step 1 is free (send domains, optional min_intent_score), Step 2 requires quote_id plus payment. That is clear when-to-use guidance for each mode. It does not, however, compare itself to any named sibling tool, so the agent still has to infer when find_hot_buyers beats get_company_hiring_intent.

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

get_company_hiring_intentA
Read-only
Inspect

Hiring signals and buying intent API: turns a company domain into a hiring-based buying-intent score from its public job board: intent_score 0-100, hiring_status (hypergrowth, active_hiring, steady), open roles, roles posted in the last 30 days, hiring by function (sales, engineering, data/AI...), technologies it is hiring for and notable senior or go-to-market roles. Use to rank or prioritize accounts before outreach. 5 free calls per day per IP, shared with the other tools, then $0.01 USDC per result via x402 on Base. No job board, no open jobs, or a generic name-only match is never charged.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic company domain without a URL scheme, path or port.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
domainYes
statusYesOnly ok is charged.
ats_typeNo
checked_atYes
confidenceNohigh: the company website links to the board. unverified: only the board name matches the domain.
next_stepsNoSuggested follow-up calls on the same domain, with the exact body. Optional to use.
intent_scoreNo
remote_rolesNo
hiring_statusNo
top_locationsNo
buying_signalsNo
jobs_truncatedNo
total_open_rolesNo
function_breakdownNo
notable_open_rolesNo
department_breakdownNo
roles_posted_last_30_daysNo
top_demanded_technologiesNo
roles_with_known_post_dateNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description goes well beyond by disclosing the pricing/rate-limit model (5 free calls per day per IP, shared with the other tools, then $0.01 USDC per result via x402 on Base) and the exact conditions under which no charge occurs. This is exactly the kind of operational context annotations cannot carry.

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 in the first clause, followed by outputs and then billing rules, so nothing is buried. It is dense (one long colon/semicolon-delimited paragraph) but nearly every clause carries actionable information, with only slight redundancy in the output enumeration.

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 explained, yet the description still enumerates the key outputs for ranking decisions. With annotations, schema, and output schema all present, the definition is complete for an agent to select and invoke this tool correctly.

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 coverage is 100% and the single 'domain' parameter already has a description and example, so the schema does the heavy lifting. The description implies the domain is a public company domain but adds no format or syntax detail beyond the schema, making the baseline 3 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 and resource ('turns a company domain into a hiring-based buying-intent score from its public job board') and enumerates the concrete outputs (intent_score 0-100, hiring_status, open roles, roles in last 30 days, hiring by function). This clearly differentiates it from the sibling get_company_open_jobs, which returns raw postings rather than a derived score.

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?

Explicitly states the usage context: 'Use to rank or prioritize accounts before outreach.' It also gives a conditional rule for when the call is not billed (no job board, no open jobs, generic name-only match). It does not name alternative siblings to use instead, so it falls short of a full 5.

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

get_company_open_jobsA
Read-only
Inspect

Company jobs API: live open jobs for a company domain from its public Greenhouse, Lever, Ashby, Workable, Recruitee or SmartRecruiters board, with titles, departments, locations, remote flag, salary when published and technology keywords. Hiring signals for sales, recruiting and research agents. Up to 300 jobs per call; send known_job_ids to get new and closed jobs (diff_only returns only new ones). confidence high means the website links to the board; unverified means only the name matches. 5 free calls per day per IP, then $0.01 USDC per result via x402 on Base. No board or no open jobs is never charged.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic domain without a URL scheme, path or port.
diff_onlyNoReturn only jobs that are not in known_job_ids. Needs known_job_ids.
known_job_idsNoJob IDs you already have from an earlier call. The answer then lists new and closed job IDs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
diffNo
jobsYes
noteNo
domainYes
statusYesOnly ok is charged.
ats_typeNo
board_slugNo
checked_atYes
confidenceNohigh: the company website links to this board. unverified: only the board name matches the domain name.
next_stepsNoSuggested follow-up calls on the same domain, with the exact body. Optional to use.
board_matchNoname_match: the board name equals the first part of the domain, so check generic names.
remote_jobsNo
jobs_returnedNo
top_locationsNo
jobs_truncatedNo
next_poll_afterNoJob boards change slowly; calling again before this time is usually wasted.
jobs_with_salaryNo
top_technologiesNo
total_active_jobsNo
jobs_by_departmentNo

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations by disclosing the 300-job cap, the confidence semantics ('high means the website links to the board; unverified means only the name matches'), rate limits, per-result pricing via x402 on Base, and a genuinely important billing nuance (no board or no open jobs is never charged).

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?

Dense but front-loaded, leading with purpose and source coverage before pricing and confidence caveats. Every clause carries information (sources, cap, diff behavior, pricing), though the pricing sentence is long and could be split for readability.

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?

With an output schema present, return-format details are unnecessary, and the description still supplies everything else an agent needs: cost model, caps, confidence interpretation, and diff mechanics. Nothing material is missing for correct invocation.

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?

Schema description coverage is 100%, so the baseline is 3, but the description adds relational meaning the schema does not fully express: the dependency that diff_only requires known_job_ids, and that supplying known_job_ids causes the response to list new and closed job IDs.

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 ('live open jobs for a company domain') and enumerates the exact board sources (Greenhouse, Lever, Ashby, Workable, Recruitee, SmartRecruiters), so the agent knows precisely what is returned. It does not, however, distinguish itself from the closely related sibling get_company_hiring_intent, leaving the agent to infer which 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 Guidelines4/5

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

Provides clear usage context ('hiring signals for sales, recruiting and research agents') and operational guidance for the diff workflow ('send known_job_ids to get new and closed jobs; diff_only returns only new ones'). It lacks explicit when-not/alternative routing versus sibling tools like get_company_hiring_intent or company_footprint_check.

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

get_company_profileA
Read-only
Inspect

Company enrichment API in one call: tech stack lookup, hiring signals and buying intent, and Google Ads transparency for a domain, run in parallel and returned together with a short list of plain-language signals. Use for a full company research profile before outreach. $0.03 USDC per result via x402 on Base: one request instead of three. Charged only when at least two of the three sections have data; otherwise nothing is charged and the answer says which single tool has data. Counts as one of the 5 free daily calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic company domain without a URL scheme, path or port.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
domainYes
statusYesOnly ok is charged: at least two of the three sections have data.
signalsNo
footprintNofound, not_found or unknown for each public signal.
checked_atYes
google_adsNoSame fields as get_google_ads_by_domain.
tech_stackNoSame fields as detect_website_tech_stack.
hiring_intentNoSame fields as get_company_hiring_intent.
sections_statusYes
sections_with_dataNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint, but the description adds substantial behavior: per-result cost ($0.03 USDC via x402 on Base), the conditional billing rule tied to data availability, and that it consumes one of 5 free daily calls. This is exactly the kind of pricing, billing, and quota context the agent needs and cannot get from structured fields.

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?

Front-loaded with the core capability, then usage, then cost and billing rules. Every sentence carries distinct information (capabilities, use case, pricing, charging condition, quota) with no redundancy.

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 explained; the description still summarizes the returned 'plain-language signals'. Combined with the pricing, billing, and quota disclosures, nothing an agent needs to call this correctly 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?

Only one parameter (domain) with 100% schema description coverage, and the schema already specifies format constraints ('without a URL scheme, path or port') and an example. The description adds no additional parameter-level meaning, 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+resource ('Company enrichment API in one call') and enumerates exactly what it aggregates: tech stack lookup, hiring signals and buying intent, and Google Ads transparency. It distinguishes itself from siblings by being the combined 'one request instead of three' version of detect_website_tech_stack, get_company_hiring_intent, and get_google_ads_by_domain.

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 gives the use case ('a full company research profile before outreach') and contrasts with the alternative of three separate requests. The charging rule ('charged only when at least two of the three sections have data; otherwise nothing is charged and the answer says which single tool has data') further routes the agent toward the single-section sibling tools when only one section applies.

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

get_google_ads_by_domainA
Read-only
Inspect

Google Ads transparency API: is a company running Google Ads, and what does it advertise? Advertisers and ads for a domain from the public Google Ads Transparency Center, the Google estimate of how many ads it runs, up to 40 ads with format (text, image, video), first and last shown dates, preview and Transparency Center links. Optional region filter (US, GB, CA, AU, DE, FR, ES, IT, NL, IL, IN, BR, MX, JP, SG, AE). For competitor research, ad-spend signals and sales personalization. 5 free calls per day per IP, then $0.01 USDC per result via x402 on Base. Domains with no ads are never charged.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesAdvertiser domain without a URL scheme, path or port.
regionNoOptional country filter. Leave out for all regions.

Output Schema

ParametersJSON Schema
NameRequiredDescription
adsNo
noteNo
domainYes
regionNo
statusYesOnly ok is charged.
checked_atYes
next_stepsNoSuggested follow-up calls on the same domain, with the exact body. Optional to use.
advertisersNo
ads_returnedNo
formats_in_sampleNo
total_ads_estimateNo
latest_last_shown_in_sampleNo
earliest_first_shown_in_sampleNo
ads_shown_last_30_days_in_sampleNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld, while the description adds substantial behavior: result cap (up to 40 ads), the returned fields (format, first/last shown dates, preview and Transparency Center links), the Google ad-count estimate, and a detailed pricing/rate-limit model (5 free calls per IP per day, then $0.01 USDC per result via x402 on Base, no charge when no ads are found). This is well beyond what annotations provide.

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?

The content is front-loaded and every sentence carries real information (scope, output, pricing). It is dense and runs long in the middle listings, but there is little pure filler, so only mild trimming would be warranted.

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?

For a paid, read-only external API with an output schema, the description supplies the critical extras an agent needs: cost/rate limits, the no-charge guarantee for empty results, region filtering, and the shape of the return (cap, formats, dates, links). Nothing essential for 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% and both parameters are documented in-schema, so the baseline is 3. The description restates the region filter and enum list already present in the schema and adds no new syntax or format meaning for 'domain', so it neither compensates nor exceeds the schema.

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 ('Google Ads transparency API: is a company running Google Ads, and what does it advertise?') plus the exact lookup key (advertiser domain). It is clearly distinguishable from siblings such as get_company_profile or company_footprint_check because it names the data source (Google Ads Transparency Center) and the returned entity types.

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 clear use context ('competitor research, ad-spend signals and sales personalization') and hints at the charging model, but never routes the agent to or away from a specific sibling tool, nor states explicit exclusions. Clear context without alternatives lands at 4.

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

muse_agentic_store_readiness_auditorA
Read-only
Inspect

Use to audit a store for machine-readable product metadata, UCP/ACP discovery, payment hints and robots.txt access for shopping agents. Returns a heuristic coverage score and prioritized fixes. Not Meta certification or a live checkout test. $0.01 USDC via x402.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic domain without scheme, path or port.

Output Schema

ParametersJSON Schema
NameRequiredDescription
fixesNo
domainYes
statusYes
productNo
discoveryNo
bot_accessNo
limitationsNo
error_reasonNo
payment_hintsNo
readiness_scoreNo
sample_product_urlNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuine behavioral context beyond that: it returns a heuristic coverage score and prioritized fixes, and it discloses a cost ($0.01 USDC via x402), which is a material payment prerequisite for invocation.

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 tight sentences, front-loaded with what it audits, followed by output nature and exclusions, and closing with cost. Every sentence carries distinct, non-redundant information.

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 no explanation, and the description still summarizes the shape of the return (heuristic score plus prioritized fixes). With a single fully-documented param, clear scope, exclusions, and pricing disclosed, an agent has everything needed to decide and call correctly.

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, and the schema fully documents that domain must be a public domain without scheme, path, or port. The description adds no format or syntax 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 (audit) and resource (store) and enumerates exactly what is checked: machine-readable product metadata, UCP/ACP discovery, payment hints, and robots.txt access. An agent can distinguish this from siblings like pre_purchase_merchant_trust_check or universal_product_url_to_json 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.

Usage Guidelines4/5

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

The 'Use to audit...' phrasing gives clear context for invocation, and the explicit exclusion ('Not Meta certification or a live checkout test') tells the agent when this is not the right tool. It stops short of naming a specific sibling to use instead, so it is strong context rather than full routing.

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

muse_conversion_leak_lead_finderA
Read-only
Inspect

Use to inspect a supplied store for schema gaps, Google ad activity and public business contacts. A lead is qualified only when required ad and SEO evidence exists; public email addresses are not verified decision makers. $0.05 USDC per qualified result via x402.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic domain without scheme, path or port.

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
statusYes
candidateNo
readinessNo
limitationsNo
error_reasonNo
public_contactsNo
seo_traffic_verifiedNo
decision_maker_verifiedNo
active_ad_spend_verifiedNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish readOnlyHint and openWorldHint, so the bar is lower, and the description adds meaningful context beyond them: the lead-qualification rule (ad and SEO evidence required), the caveat that public emails are not verified decision makers, and the cost/payment model ($0.05 USDC per qualified result via x402). The pricing disclosure is unusually valuable behavioral context.

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?

Three dense sentences, front-loaded with the imperative use case and followed by qualification logic and pricing. Little waste, though the packing of three evidence types into one clause makes it slightly busy.

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 not be explained, and the description covers what is inspected, the qualification criterion, and cost. It is close to complete for a 1-param tool; only the relationship to overlapping siblings 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% and the single 'domain' parameter is fully documented in the schema (format, bounds, examples). The description adds no syntax or format detail beyond it, so the baseline of 3 is appropriate.

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 (inspect) and resource (store) and enumerates the three things checked: schema gaps, Google ad activity, and public business contacts. However, it does not distinguish itself from heavily overlapping siblings like muse_agentic_store_readiness_auditor, get_google_ads_by_domain, or extract_company_contacts, so an agent could confuse the coverage.

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?

"Use to inspect a supplied store..." implies when it applies, but there is no explicit when-not guidance and no named alternative, which is a real gap given the sibling overlap on schema, ads, and contacts. Usage context is present but left to inference.

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

pre_purchase_merchant_trust_checkA
Read-only
Inspect

Use before purchasing from an unfamiliar merchant to inspect public website evidence and missing trust signals. Returns a cautious evidence score, risk flags and limitations; it cannot certify safety or detect every scam. $0.005 USDC via x402 after 5 shared free successful calls/day.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic domain without scheme, path or port.
merchant_wallet_or_idNo
transaction_amount_usdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
statusYes
signalsNo
latency_msNo
risk_levelNo
limitationsNo
safe_to_buyNo
trust_scoreNo
error_reasonNo
recommendationNo

TDQS

A3.8/5.0
Behavior5/5

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

Beyond the readOnlyHint/openWorldHint annotations, the description discloses capability limits ('cannot certify safety or detect every scam'), what is returned (cautious evidence score, risk flags, limitations), and cost/rate-limit terms ($0.005 USDC via x402 after 5 free calls/day). This is substantive behavioral context that annotations do not cover.

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 tightly packed sentences: use-case first, then return shape and limitations, then pricing. No filler, and the most decision-relevant information (when to use) is front-loaded.

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 detailed, and the description still summarizes them well while covering cost and capability limits. The remaining gap is the undocumented optional parameters, which leaves an agent guessing about wallet and amount inputs.

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

Parameters2/5

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

Schema description coverage is only 33% – only 'domain' is documented. The description says nothing about 'merchant_wallet_or_id' or 'transaction_amount_usd', leaving two of three parameters unexplained in both the schema and the description. It 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.

Purpose4/5

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

The description gives a specific verb and resource ('inspect public website evidence and missing trust signals') and a clear situational trigger (before purchasing from an unfamiliar merchant). However, it does not differentiate itself from the near-identical sibling x402_merchant_trust_check, which an agent cannot distinguish without opening both schemas.

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?

'Use before purchasing from an unfamiliar merchant' is a clear implied-use context, better than nothing. But it offers no exclusions, prerequisites, or named alternatives, and with a sibling of essentially the same name in scope, the routing guidance is incomplete.

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

private_blind_lookupC
Read-only
Inspect

Blind execution proxy: target is stripped from x402 facilitator metadata, not hidden from HirePulse or destination. $0.02 single check; company_profile and due_diligence require X-Private-Query-Tier: bundle ($0.04), or params._meta["hirepulse/private-tier"] in MCP. Choose tier before submitting the body. No settlement for empty results.

ParametersJSON Schema
NameRequiredDescriptionDefault
toolYes
targetYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
resultNo
statusYes
privacy_guaranteeNo

TDQS

C2.9/5.0
Behavior4/5

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

Beyond the readOnlyHint/openWorldHint annotations, it discloses meaningful behavior: privacy scope (target stripped from x402 metadata but visible to HirePulse and destination), per-call pricing ($0.02, $0.04 bundle), a required header/tier precondition, and no settlement for empty results. This is unusually rich behavioral context, though return format is not described (output schema exists).

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?

The privacy premise is front-loaded, which is good, but the rest is a dense semicolon-chained block mixing pricing, tier logic, and a non-existent override parameter. It is compact yet hard to parse and doesn't clearly order the operational steps.

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

Completeness3/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 needn't be explained, and pricing/tier rules are covered. However, for an 8-way dispatch proxy the description omits how the enum values relate to the sibling tools and gives no usable guidance for the undocumented target parameter, leaving gaps for correct invocation.

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

Parameters2/5

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 parameter meaning, but it only names two of the eight enum values (company_profile, due_diligence) and says nothing about 'target' format or constraints. It also references params._meta["hirepulse/private-tier"], a parameter the schema explicitly forbids via additionalProperties:false, so the guidance is partly unusable.

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

Purpose3/5

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

The description frames this as a 'Blind execution proxy' running a 'single check,' which conveys that it dispatches one underlying lookup, but it never plainly states that it executes the selected tool against the target. The privacy mechanism dominates the opening at the expense of a clear verb+resource statement, and it doesn't distinguish itself from siblings like get_company_profile or batch_lookup.

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?

It gives tier-selection guidance (company_profile and due_diligence require the bundle tier, choose tier before submitting) but offers no guidance on when to use this proxy versus the many sibling lookup tools or batch_lookup. The core 'when-to-use-this-vs-alternative' question is left unanswered.

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

universal_product_url_to_jsonA
Read-only
Inspect

Use to extract product price, stock, variants, ratings and shipping evidence from a public product URL. Reads JSON-LD, Microdata and OpenGraph without a browser. Missing facts are null; checkout support is not assumed. $0.002 USDC per result via x402.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNo
brandNo
priceNo
titleNo
domainYes
statusYes
currencyNo
in_stockNo
variantsNo
limitationsNo
error_reasonNo
review_countNo
return_policyNo
checkout_hintsNo
aggregate_ratingNo
shipping_summaryNo
extraction_sourceNo
structured_fieldsNo
agentic_checkout_supportedNo

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint/openWorldHint annotations, it discloses the extraction method (JSON-LD, Microdata, OpenGraph, no browser), the null-on-missing-facts convention, the scope limitation ('checkout support is not assumed'), and a per-result cost with payment rail. This is exactly the operational context annotations do not carry.

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 short sentences, each earning its place: purpose, method, data-quality semantics, cost. Purpose is front-loaded and there is no padding.

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?

With an output schema present, return shape need not be described. The description still supplies method, null behavior, scope boundary, and pricing, leaving nothing an agent needs to invoke it correctly.

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 0% for the single product_url parameter. The description adds the 'public' qualifier and the no-checkout scope, but leaves format/URI and maxLength entirely to the schema, so it only partially compensates.

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 (extract) and resource (product price, stock, variants, ratings, shipping) scoped to a public product URL. It is clearly distinguishable from sibling url_to_clean_markdown, which returns markdown rather than structured product facts.

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?

Opens with 'Use to extract...' and pins the input domain to a public product URL, which is clear context for selection. It does not explicitly name a when-not condition or a specific alternative sibling, so it falls short of a 5.

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

url_to_clean_markdownA
Read-only
Inspect

Convert a public web page to clean LLM-ready Markdown with title, meta description and approximate token count. Removes scripts, styles, navigation, footer and common ad clutter. SSRF and redirect protected. max_chars 1–100000 (default 15000). $0.002; empty results free.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
max_charsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
titleNo
domainYes
statusYes
markdownNo
truncatedNo
meta_descriptionNo
token_count_estimateNo

TDQS

A4.3/5.0
Behavior4/5

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

Beyond readOnlyHint/openWorldHint it discloses stripping behavior (scripts, styles, nav, footer, ads), the security posture (SSRF and redirect protected), an output-size ceiling, and pricing including 'empty results free' — real operational context an agent can't get from annotations. It omits truncation semantics and failure modes (paywalls, robots blocks), 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?

Three short sentences with the conversion purpose front-loaded, then what is removed, then guardrails and cost. Every clause carries information; no filler or restated title.

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?

With an output schema present it correctly avoids describing return structure, and it covers the decision-relevant extras an agent needs: input restriction (public), sanitization, SSRF protection, size limit, and cost. Nothing material for 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 0%, so the description must carry parameter meaning; it states 'max_chars 1–100000 (default 15000)', but those bounds and default are already encoded in the JSON schema, so this mostly repeats structured data rather than explaining what gets truncated or how. The url parameter's semantics are only implied by 'public web page'.

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?

Specific verb+resource ('Convert a public web page to clean LLM-ready Markdown') with the exact output payload named (title, meta description, token count). No sibling tool in the list performs content conversion, so the tool is unambiguous against its neighbors.

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?

The phrase 'public web page' implicitly excludes authenticated/private targets and the SSRF/redirect note reinforces that boundary, giving clear invocation context. It stops short of an explicit when-to-use/when-not statement or naming an alternative for non-public or non-HTML sources.

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

verified_merchant_json_badgeA
Read-only
Inspect

Use to generate a signed public-evidence statement for a merchant domain. The signature proves HirePulse issued the assessment; it does not verify ownership, employees, or purchase safety. Includes expiry and a public verification key. $0.005 USDC via x402.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic domain without scheme, path or port.

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
statusYes
signalsNo
latency_msNo
risk_levelNo
limitationsNo
safe_to_buyNo
trust_scoreNo
error_reasonNo
organizationNo
recommendationNo
signed_statementNo
verification_keyNo

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint/openWorldHint annotations, the description discloses the semantics of the signature (proves HirePulse issued it, not ownership), the deliverable (expiry + public verification key), and a concrete cost ($0.005 USDC via x402). This is exactly the operational context an agent needs. The payment side effect is a mild tension with readOnlyHint but does not rise to a direct contradiction since the tool only computes/emits a document.

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 tight sentences, front-loaded with the primary purpose, then the crucial limitation, then deliverable and cost. Every sentence carries distinct, load-bearing information with no filler.

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?

With an output schema present, return values need not be restated, and the description covers purpose, scope limits, deliverable contents, and payment mechanism. 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.

Parameters3/5

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

Schema description coverage is 100% and the single parameter already carries a precise description ('Public domain without scheme, path or port'). The description adds only the framing 'merchant domain', which is marginal value over 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.

Purpose5/5

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

The description states a specific verb and artifact ('generate a signed public-evidence statement for a merchant domain'), and it explicitly disambiguates from the trust-check siblings by stating it does not verify ownership, employees, or purchase safety. An agent can immediately tell this issues an evidence badge rather than performing an assessment.

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?

'Use to generate...' gives a clear trigger condition, and the scope disclaimer steers the agent away from treating it as a trust/verification tool. It does not, however, name an explicit alternative tool or state a when-not-to-use condition, which keeps it below a 5.

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

verify_domain_legitimacy_and_securityA
Read-only
Inspect

Company footprint check for investment, due-diligence and vendor-risk agents: for one domain, reports which public operating signals exist: website ad and analytics tags, an active job board with open roles, and Google Ads in the public Transparency Center. Each signal is marked found, not_found or unknown in footprint, with the underlying data. Facts only: no revenue, burn or fraud estimates. $0.03 USDC per result via x402 on Base, charged only when at least two of the three checks return data; otherwise not charged. Counts as one of the 5 free daily calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesPublic company domain without a URL scheme, path or port.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
domainYes
statusYesOnly ok is charged: at least two of the three sections have data.
signalsNo
footprintNofound, not_found or unknown for each public signal.
checked_atYes
google_adsNoSame fields as get_google_ads_by_domain.
tech_stackNoSame fields as detect_website_tech_stack.
hiring_intentNoSame fields as get_company_hiring_intent.
sections_statusYes
sections_with_dataNo

TDQS

A3.9/5.0
Behavior5/5

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

Annotations only declare readOnly and openWorld, but the description goes well beyond them: it discloses the paid x402/Base pricing at $0.03 USDC per result, the exact charging condition (only when at least two of three checks return data), and that the call consumes one of 5 free daily calls. It also explains the tri-state result semantics (found/not_found/unknown with underlying data).

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?

One front-loaded paragraph that leads with what the tool does before pricing and caveats; every clause carries information. Slightly dense with billing detail, but none of it is filler for an agent that must decide whether to spend a call.

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 description needn't enumerate return values, and it already explains the tri-state signal model and the facts-only boundary. The one real gap is that it gives no hint about when to prefer the nearly identical sibling company_footprint_check.

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 coverage is 100% and the single domain parameter is fully documented in the schema, including format constraints and an example. The description only adds the framing "for one domain," so the schema does the heavy lifting; 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: for one domain it reports which public operating signals exist (ad/analytics tags, job board, Google Ads Transparency), and it explicitly bounds the scope with "Facts only: no revenue, burn or fraud estimates." However, the tool name says "legitimacy and security" while the description delivers a factual footprint check, and it never distinguishes itself from the near-duplicate sibling company_footprint_check.

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 names the intended audience ("investment, due-diligence and vendor-risk agents"), which implies the use case. But there is no explicit when-not guidance and no routing to overlapping siblings such as company_footprint_check, get_google_ads_by_domain, get_company_open_jobs or detect_website_tech_stack, which cover the same individual signals.

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

x402_merchant_trust_checkA
Read-only
Inspect

Pre-payment HTTPS merchant scanner: checks public discovery, live 402 terms, comparable USDC prices, latency and regex prompt-injection flags within 4 seconds. Evidence-based heuristic, not certification or a guarantee. SSRF protected. $0.002 per completed report; unreachable targets free.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
domainYes
statusYes
latency_msNo
safe_to_payNo
trust_scoreNo
matched_flagsNo
recommendationNo
valid_x402_configNo
prompt_injection_riskNo

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnlyHint/openWorldHint annotations, it discloses a concrete latency budget (4 seconds), a cost model ($0.002 per completed report; unreachable targets free), SSRF protection, and an explicit accuracy disclaimer ('evidence-based heuristic, not certification'). These are exactly the operational traits an agent needs before spending money on a call.

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 dense sentences, front-loaded with the core action and scope, followed by cost and caveats. No filler; every clause (latency, cost, SSRF, disclaimer) informs a decision about calling the tool.

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?

The output schema covers return values, and the description still enumerates the checks performed (discovery, 402 terms, USDC prices, latency, injection flags) plus cost and safety posture. For a single-parameter, read-only scanner this is sufficient context to call it correctly.

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 one parameter with 0% schema description coverage, so the description must carry the burden. It implies the target is an HTTPS merchant URL but never states accepted formats, scheme requirements, or behaviour for non-HTTPS input — only the free-on-unreachable rule hints at failure semantics.

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 ('Pre-payment HTTPS merchant scanner: checks public discovery, live 402 terms, comparable USDC prices...'), and the x402 payment context makes it reasonably distinct from generic siblings like verify_domain_legitimacy_and_security. It does not explicitly name or contrast with that sibling, so an agent must infer the boundary rather than read it.

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 'Pre-payment' prefix implies the moment to use it (before paying an x402 merchant), and the 'not certification or a guarantee' caveat sets expectations. However, there is no explicit when-not guidance and no named alternative (e.g. verify_domain_legitimacy_and_security), leaving the routing decision 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. 8 tool updates
    • Addedagentic_shelf_schema_comparator
    • Addedb2b_vendor_stability_evaluator
    • Addedcheckout_active_promo_code_finder
    • Addedmuse_agentic_store_readiness_auditor
    • Addedmuse_conversion_leak_lead_finder
    • Addedpre_purchase_merchant_trust_check
    • Addeduniversal_product_url_to_json
    • Addedverified_merchant_json_badge
  2. 15 tool updates
    • Added00_ask_hirepulse_advisor
    • Addedask_hirepulse_advisor
    • Changedbatch_lookup1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billable_count": {
        +      "type": "integer"
        +    },
        +    "cold": {
        +      "description": "hot-buyers: domains below the threshold, free.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "expires_at": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "next": {
        +      "type": "string"
        +    },
        +    "price_micro_usd": {
        +      "type": "integer"
        +    },
        +    "price_usd": {
        +      "type": "number"
        +    },
        +    "quote_id": {
        +      "type": "string"
        +    },
        +    "results": {
        +      "description": "Paid rows, after step 2.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "status": {
        +      "description": "quote: pay with quote_id to get the results. nothing_billable: no charge. ok: paid results.",
        +      "enum": [
        +        "quote",
        +        "nothing_billable",
        +        "ok"
        +      ],
        +      "type": "string"
        +    },
        +    "statuses": {
        +      "description": "Status of every domain, free.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedcompany_footprint_check1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checked_at": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "domain": {
        +      "type": "string"
        +    },
        +    "footprint": {
        +      "description": "found, not_found or unknown for each public signal.",
        +      "properties": {
        +        "google_ads": {
        +          "type": "string"
        +        },
        +        "job_board_with_open_roles": {
        +          "type": "string"
        +        },
        +        "website_ad_or_analytics_tags": {
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "google_ads": {
        +      "description": "Same fields as get_google_ads_by_domain.",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "hiring_intent": {
        +      "description": "Same fields as get_company_hiring_intent.",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "note": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "sections_status": {
        +      "additionalProperties": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    "sections_with_data": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "signals": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "status": {
        +      "description": "Only ok is charged: at least two of the three sections have data.",
        +      "enum": [
        +        "ok",
        +        "insufficient_data"
        +      ],
        +      "type": "string"
        +    },
        +    "tech_stack": {
        +      "description": "Same fields as detect_website_tech_stack.",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "domain",
        +    "status",
        +    "sections_status",
        +    "checked_at"
        +  ],
        +  "type": "object"
        +}
    • Changeddetect_website_tech_stack1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "ad_pixels": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "added": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": [
        +        "array",
        +        "null"
        +      ]
        +    },
        +    "analytics": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "checked_at": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "cms": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "dmarc_policy": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "domain": {
        +      "type": "string"
        +    },
        +    "ecommerce": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "email_provider": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "final_url": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "frameworks": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "has_ga4": {
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "has_google_ads_tag": {
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "has_gtm": {
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "has_linkedin_insight": {
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "has_meta_pixel": {
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "has_tiktok_pixel": {
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "hosting_cdn": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "is_first_run": {
        +      "type": [
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "marketing_tools": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_steps": {
        +      "description": "Suggested follow-up calls on the same domain, with the exact body. Optional to use.",
        +      "items": {
        +        "properties": {
        +          "body": {
        +            "type": "object"
        +          },
        +          "mcp_tool": {
        +            "type": "string"
        +          },
        +          "price_usd": {
        +            "type": "number"
        +          },
        +          "tool": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          },
        +          "why": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "payments": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "removed": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": [
        +        "array",
        +        "null"
        +      ]
        +    },
        +    "spf_senders": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "status": {
        +      "description": "Only ok is charged. no_signals: the page loaded but no technology was detected.",
        +      "enum": [
        +        "ok",
        +        "no_signals",
        +        "blocked",
        +        "unreachable",
        +        "not_found"
        +      ],
        +      "type": "string"
        +    },
        +    "technology_count": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "title": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "verified_services": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "domain",
        +    "status",
        +    "final_url",
        +    "title",
        +    "cms",
        +    "ecommerce",
        +    "email_provider",
        +    "dmarc_policy",
        +    "note",
        +    "technology_count",
        +    "checked_at",
        +    "added",
        +    "removed",
        +    "is_first_run",
        +    "has_meta_pixel",
        +    "has_google_ads_tag",
        +    "has_ga4",
        +    "has_gtm",
        +    "has_linkedin_insight",
        +    "has_tiktok_pixel",
        +    "ad_pixels",
        +    "analytics",
        +    "marketing_tools",
        +    "hosting_cdn",
        +    "frameworks",
        +    "payments",
        +    "spf_senders",
        +    "verified_services"
        +  ],
        +  "type": "object"
        +}
    • Addedextract_company_contacts
    • Changedfind_hot_buyers1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billable_count": {
        +      "type": "integer"
        +    },
        +    "cold": {
        +      "description": "hot-buyers: domains below the threshold, free.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "expires_at": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "next": {
        +      "type": "string"
        +    },
        +    "price_micro_usd": {
        +      "type": "integer"
        +    },
        +    "price_usd": {
        +      "type": "number"
        +    },
        +    "quote_id": {
        +      "type": "string"
        +    },
        +    "results": {
        +      "description": "Paid rows, after step 2.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "status": {
        +      "description": "quote: pay with quote_id to get the results. nothing_billable: no charge. ok: paid results.",
        +      "enum": [
        +        "quote",
        +        "nothing_billable",
        +        "ok"
        +      ],
        +      "type": "string"
        +    },
        +    "statuses": {
        +      "description": "Status of every domain, free.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedget_company_hiring_intent1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "ats_type": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "buying_signals": {
        +      "properties": {
        +        "cloud_infra": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "data_ai": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "databases": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "observability": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "sales_tools": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "checked_at": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "confidence": {
        +      "description": "high: the company website links to the board. unverified: only the board name matches the domain.",
        +      "enum": [
        +        "high",
        +        "unverified",
        +        null
        +      ],
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "department_breakdown": {
        +      "additionalProperties": {
        +        "type": "integer"
        +      },
        +      "type": "object"
        +    },
        +    "domain": {
        +      "type": "string"
        +    },
        +    "function_breakdown": {
        +      "additionalProperties": {
        +        "type": "integer"
        +      },
        +      "type": "object"
        +    },
        +    "hiring_status": {
        +      "enum": [
        +        "hypergrowth",
        +        "active_hiring",
        +        "steady"
        +      ],
        +      "type": "string"
        +    },
        +    "intent_score": {
        +      "maximum": 100,
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "jobs_truncated": {
        +      "type": "boolean"
        +    },
        +    "next_steps": {
        +      "description": "Suggested follow-up calls on the same domain, with the exact body. Optional to use.",
        +      "items": {
        +        "properties": {
        +          "body": {
        +            "type": "object"
        +          },
        +          "mcp_tool": {
        +            "type": "string"
        +          },
        +          "price_usd": {
        +            "type": "number"
        +          },
        +          "tool": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          },
        +          "why": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "notable_open_roles": {
        +      "items": {
        +        "type": "object"
        +      },
        +      "maxItems": 10,
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "remote_roles": {
        +      "type": "integer"
        +    },
        +    "roles_posted_last_30_days": {
        +      "type": "integer"
        +    },
        +    "roles_with_known_post_date": {
        +      "type": "integer"
        +    },
        +    "status": {
        +      "description": "Only ok is charged.",
        +      "enum": [
        +        "ok",
        +        "no_open_jobs",
        +        "unreachable",
        +        "not_found"
        +      ],
        +      "type": "string"
        +    },
        +    "top_demanded_technologies": {
        +      "additionalProperties": {
        +        "type": "integer"
        +      },
        +      "type": "object"
        +    },
        +    "top_locations": {
        +      "additionalProperties": {
        +        "type": "integer"
        +      },
        +      "type": "object"
        +    },
        +    "total_open_roles": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "domain",
        +    "status",
        +    "checked_at"
        +  ],
        +  "type": "object"
        +}
    • Changedget_company_open_jobs1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "ats_type": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "board_match": {
        +      "description": "name_match: the board name equals the first part of the domain, so check generic names.",
        +      "enum": [
        +        "name_match",
        +        "careers_page_link",
        +        null
        +      ],
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "board_slug": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "checked_at": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "confidence": {
        +      "description": "high: the company website links to this board. unverified: only the board name matches the domain name.",
        +      "enum": [
        +        "high",
        +        "unverified",
        +        null
        +      ],
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "diff": {
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "domain": {
        +      "type": "string"
        +    },
        +    "jobs": {
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "jobs_by_department": {
        +      "additionalProperties": {
        +        "type": "integer"
        +      },
        +      "type": "object"
        +    },
        +    "jobs_returned": {
        +      "type": "integer"
        +    },
        +    "jobs_truncated": {
        +      "type": "boolean"
        +    },
        +    "jobs_with_salary": {
        +      "type": "integer"
        +    },
        +    "next_poll_after": {
        +      "description": "Job boards change slowly; calling again before this time is usually wasted.",
        +      "format": "date-time",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "next_steps": {
        +      "description": "Suggested follow-up calls on the same domain, with the exact body. Optional to use.",
        +      "items": {
        +        "properties": {
        +          "body": {
        +            "type": "object"
        +          },
        +          "mcp_tool": {
        +            "type": "string"
        +          },
        +          "price_usd": {
        +            "type": "number"
        +          },
        +          "tool": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          },
        +          "why": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "remote_jobs": {
        +      "type": "integer"
        +    },
        +    "status": {
        +      "description": "Only ok is charged.",
        +      "enum": [
        +        "ok",
        +        "no_open_jobs",
        +        "unreachable",
        +        "not_found"
        +      ],
        +      "type": "string"
        +    },
        +    "top_locations": {
        +      "additionalProperties": {
        +        "type": "integer"
        +      },
        +      "type": "object"
        +    },
        +    "top_technologies": {
        +      "additionalProperties": {
        +        "type": "integer"
        +      },
        +      "type": "object"
        +    },
        +    "total_active_jobs": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "domain",
        +    "status",
        +    "jobs",
        +    "checked_at"
        +  ],
        +  "type": "object"
        +}
    • Changedget_company_profile1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checked_at": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "domain": {
        +      "type": "string"
        +    },
        +    "footprint": {
        +      "description": "found, not_found or unknown for each public signal.",
        +      "properties": {
        +        "google_ads": {
        +          "type": "string"
        +        },
        +        "job_board_with_open_roles": {
        +          "type": "string"
        +        },
        +        "website_ad_or_analytics_tags": {
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "google_ads": {
        +      "description": "Same fields as get_google_ads_by_domain.",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "hiring_intent": {
        +      "description": "Same fields as get_company_hiring_intent.",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "note": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "sections_status": {
        +      "additionalProperties": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    "sections_with_data": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "signals": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "status": {
        +      "description": "Only ok is charged: at least two of the three sections have data.",
        +      "enum": [
        +        "ok",
        +        "insufficient_data"
        +      ],
        +      "type": "string"
        +    },
        +    "tech_stack": {
        +      "description": "Same fields as detect_website_tech_stack.",
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "domain",
        +    "status",
        +    "sections_status",
        +    "checked_at"
        +  ],
        +  "type": "object"
        +}
    • Changedget_google_ads_by_domain1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "ads": {
        +      "items": {
        +        "properties": {
        +          "advertiser_id": {
        +            "type": "string"
        +          },
        +          "advertiser_name": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "creative_id": {
        +            "type": "string"
        +          },
        +          "first_shown": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "format": {
        +            "type": "string"
        +          },
        +          "last_shown": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "preview_url": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "transparency_url": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "maxItems": 40,
        +      "type": "array"
        +    },
        +    "ads_returned": {
        +      "type": "integer"
        +    },
        +    "ads_shown_last_30_days_in_sample": {
        +      "type": "integer"
        +    },
        +    "advertisers": {
        +      "items": {
        +        "properties": {
        +          "ads_in_sample": {
        +            "type": "integer"
        +          },
        +          "advertiser_id": {
        +            "type": "string"
        +          },
        +          "name": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "checked_at": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "domain": {
        +      "type": "string"
        +    },
        +    "earliest_first_shown_in_sample": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "formats_in_sample": {
        +      "additionalProperties": {
        +        "type": "integer"
        +      },
        +      "type": "object"
        +    },
        +    "latest_last_shown_in_sample": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "next_steps": {
        +      "description": "Suggested follow-up calls on the same domain, with the exact body. Optional to use.",
        +      "items": {
        +        "properties": {
        +          "body": {
        +            "type": "object"
        +          },
        +          "mcp_tool": {
        +            "type": "string"
        +          },
        +          "price_usd": {
        +            "type": "number"
        +          },
        +          "tool": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          },
        +          "why": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "region": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "description": "Only ok is charged.",
        +      "enum": [
        +        "ok",
        +        "no_ads"
        +      ],
        +      "type": "string"
        +    },
        +    "total_ads_estimate": {
        +      "properties": {
        +        "high": {
        +          "type": [
        +            "integer",
        +            "null"
        +          ]
        +        },
        +        "low": {
        +          "type": "integer"
        +        }
        +      },
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "domain",
        +    "status",
        +    "checked_at"
        +  ],
        +  "type": "object"
        +}
    • Addedprivate_blind_lookup
    • Addedurl_to_clean_markdown
    • Addedverify_domain_legitimacy_and_security
    • Addedx402_merchant_trust_check
  3. 8 tool updates
    • First observedbatch_lookup
    • First observedcompany_footprint_check
    • First observeddetect_website_tech_stack
    • First observedfind_hot_buyers
    • First observedget_company_hiring_intent
    • First observedget_company_open_jobs
    • First observedget_company_profile
    • First observedget_google_ads_by_domain

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    16
    11 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources