Skip to main content
Glama

Enrich company

sdr_enrich_company

Enrich up to 10 company domains with firmographics like industry, headcount, location, tech, and funding via Apollo, respecting budget and cache before qualifying accounts or outreach.

Instructions

Enrich up to 10 company domains with firmographics (industry, headcount, location, technologies, funding) via Apollo organization enrichment. Consumes ~1 Apollo credit per domain; checks the per-call budget first and caches results. Use it after sdr_search_people to qualify accounts, or before sdr_prepare_outreach_brief for grounded personalization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainsYesDomains (1-10).
max_creditsNoPer-call credit cap.
force_refreshNoBypass the cache.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover the generic safety profile (readOnly=false, destructive=false, openWorld=true, idempotent=false). The description adds material behavior beyond that: ~1 Apollo credit consumed per domain, a per-call budget check performed first, and result caching. These are exactly the cost/side-effect traits an agent needs before invoking a metered enrichment 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 sentences, front-loaded: capability and returned fields first, cost/cache behavior second, workflow placement last. None is filler; every sentence carries distinct information.

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 no output schema and no annotations describing behavior, the description covers purpose, returned fields, cost, caching, and workflow placement adequately. It could mention partial-failure or per-domain error handling, but it is complete enough to invoke correctly.

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 100%, so the baseline is 3, but the description adds meaning the schema lacks: the '~1 Apollo credit per domain' model gives context to the max_credits cap and the 10-domain limit, and the caching statement explains force_refresh's purpose. That is useful semantics beyond the terse schema descriptions.

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

Purpose5/5

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

States a specific verb (Enrich), resource (company domains), and enumerates the returned firmographic fields (industry, headcount, location, technologies, funding) plus the provider (Apollo). It is clearly distinguishable from sibling tools like sdr_waterfall_enrich_person (person) and sdr_search_companies (search, not enrich).

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 positions the tool in the workflow: 'after sdr_search_people to qualify accounts, or before sdr_prepare_outreach_brief for grounded personalization,' naming both siblings. It gives clear context but stops short of explicit exclusions or a direct 'use X instead when Y' routing.

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