Agent Data Broker
Server Details
Company enrichment data for agents: free search, $0.01 USDC full records via x402 (Base Sepolia)
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have sharply separated roles: search_companies is a free substring discovery/preview, and get_company_enrichment is a paid exact-key lookup for a single firmographic record. Descriptions explicitly cross-reference each other (use search first for partial names, then get by domain/name), leaving no realistic chance of misselection.
Both names are snake_case verb_noun forms (get_company_enrichment, search_companies) targeting the same 'company' resource with different actions. Consistent and predictable, and the verb distinction parallels the free-vs-paid split.
Only two tools, which is at the thin end for a data broker — the entire surface is search + fetch. It is intentional and minimal, but there is no affordance for listing, filtering, or batch retrieval beyond what the single search tool exposes.
Search-then-get covers the core discovery-to-detail workflow for a read-only enrichment service, and error/not-found behavior is documented. Minor gaps remain: no pagination or offset on search (capped at 25, default 10) and no way to enumerate or filter companies by industry/employee range without a text query.
Available Tools
2 toolsget_company_enrichmentGet company enrichmentARead-onlyIdempotentInspect
Return the enrichment record for one company: name, domain, industry, employee_count, description, last_updated (ISO 8601 UTC) and source. Call this when you already know the company's website domain or exact name and need firmographic details. Pass exactly one of domain (preferred; URLs like "https://www.acme.com/about" are normalized to "acme.com") or name (case-insensitive exact match). If you only have a partial name or a topic, call search_companies first. Returns error "not_found" when no record exists. Paid: $0.01 USDC per successful call on Base Sepolia via x402 (send the payment in request _meta "x402/payment"; an unpaid call returns the payment requirements). Lookups that fail, such as not_found, are not charged. For a free preview, use search_companies.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Exact company name, e.g. "Acme Robotics" | |
| domain | No | Company website domain or URL, e.g. "acme.com" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations: it discloses the pricing model ($0.01 USDC per successful call on Base Sepolia via x402), how payment is supplied (_meta 'x402/payment'), that unpaid calls return payment requirements, and that failed lookups such as not_found are not charged. It also names the not_found error condition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and return shape come first, followed by usage routing, parameter rules, error behavior, and payment terms. The density is justified because every clause—including the payment mechanics—affects correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by listing the returned fields and their formats (last_updated in ISO 8601 UTC). It also covers errors, payment prerequisites, and the alternative tool, so an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema documents both parameters at 100% coverage, the description adds substantive semantics: pass exactly one of domain or name, domain is preferred, URLs are normalized to the bare domain ('https://www.acme.com/about' → 'acme.com'), and name is a case-insensitive exact match.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Return the enrichment record for one company') and enumerates the returned fields, making the tool's output scope unmistakable. It also distinguishes itself from the sibling search_companies by requiring a known domain or exact name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to call it ('when you already know the company's website domain or exact name and need firmographic details') and names the alternative for other cases: 'If you only have a partial name or a topic, call search_companies first.' It also points to search_companies for a free preview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_companiesSearch companiesARead-onlyIdempotentInspect
Free preview. Find companies whose name, domain, industry or description contains the query (case-insensitive substring, not semantic). Use this to discover companies or resolve a partial name to a domain, then call get_company_enrichment (paid) for the full record. Returns { count, companies: [{ name, domain, industry }] }, best name matches first; an empty list means no matches. Default 10 results, max 25. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results (default 10) | |
| query | Yes | Text to look for, e.g. "robotics" or "fintech" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations: matching semantics (not semantic search), result ordering ('best name matches first'), empty-list meaning, result cap of 25, and cost signalling. These are the traits an agent cannot infer from structured fields and would otherwise guess wrong about.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the preview framing and packs semantics, sibling routing, return shape and limits into a tight block with no filler. 'Free preview' at the start and 'Free.' at the end are mildly redundant, costing it a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by describing the return shape { count, companies: [{ name, domain, industry }] } along with ordering and empty-result semantics. Combined with match semantics and limits, nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description still adds real meaning by clarifying that the query is a substring match rather than semantic and by restating the 10/25 limit behavior in context, though it doesn't add format guidance beyond the schema's own example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Find companies') and immediately narrows the matching model to case-insensitive substring across name, domain, industry and description. It explicitly separates itself from the enrichment sibling, so an agent can choose 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives both the discovery use case ('discover companies or resolve a partial name to a domain') and the follow-up path ('then call get_company_enrichment (paid) for the full record'). The free-vs-paid boundary is stated, which is exactly the decision point an agent needs.
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.
2 tool updates
- First observed
get_company_enrichment - First observed
search_companies
Related MCP Connectors
B2B company research and work-email lookup for AI agents. Pay per call in USDC on Base via x402.
Pay-per-call data APIs for AI agents. USDC on Base via x402. 33 tools, no signup.
Pay-per-call tools for agents: onchain data, ECB FX rates, text tools. USDC on Base, x402
Market data and web intelligence for AI agents, paid per call in USDC on Base via x402.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceFrench company data for AI agents: directors with probable business email, people search, counterparty checks (KYB) and hiring signals from official registries. Paid per call with x402 (USDC on Base or Solana), charged only when found.264 npmMIT
- AlicenseAqualityDmaintenancePay-per-call x402 data products on Base mainnet — sanctions screening, aviation weather, mortgage rates, US property dossier, title chain, wallet balance, and agent session auth. Every call settles in USDC with an on-chain receipt, no accounts or API keys.750 npmMIT
- AlicenseAqualityBmaintenanceI built this local stdio MCP adapter to discover, preview, and purchase live agent data APIs, including vendor risk, company intelligence, transaction preflight, and EVM reads. Free discovery and previews require no wallet. Optional paid calls settle in Base USDC through x402 v2; auto-pay is disabled by default.248 npmMIT
- AlicenseNot gradedqualityCmaintenancePay-per-call Nigerian phone, bank-account, NIN/BVN and state reference data for AI agents over x402 (USDC), no API key.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.