Skip to main content
Glama

extract_company_contacts

Read-only

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
mxNo
spfNo
dmarcNo
domainYes
emailsNo
statusYes
social_linksNo
email_deliverableNo
inferred_email_patternNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.