MCP server for Apollo.io B2B sales intelligence API
Apollo.io MCP server has clear tool naming (verb_noun pattern) and complete input schemas with type definitions and descriptions. However, output schemas are entirely undocumented, the code shows API calls but no structured response documentation. Parameter descriptions are present but generic (72 chars avg, within baseline). Error handling is minimal: no recovery guidance, no categorization of retryable vs fatal errors, no actionable error messages. Tool descriptions are adequate (100-150 chars) but lack WHEN to use guidance and dependency hints. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only. Missing pagination documentation for list tools despite per_page parameters.
Enrich a company's data with Apollo's B2B intelligence using their domain.
Enrich a person's data with Apollo's B2B intelligence. Provide email, name, or company info.
Get list of email accounts connected to your Apollo account. Requires master API key.
Get activities (opens, clicks, replies) for a specific email message sent via sequence. Requires master API key.
Search for companies/organizations in Apollo's B2B database. Filter by location, size, keywords, etc.
Search for people/prospects in Apollo's B2B database. Filter by job titles, locations, companies, etc.
Output schemas completely undocumented. Code shows API calls (searchPeople, enrichPerson, etc.) but no structured response documentation. LLMs cannot plan downstream tool calls or extract required fields without knowing what fields are returned.
No error handling guidance. Code uses axios without try-catch wrapping or error categorization. No recovery hints (e.g., 'API key invalid, check APOLLO_API_KEY env var'). LLMs receive raw HTTP errors with no actionable next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Search for email sequences in your Apollo account. Returns sequence stats including sent, bounced, replied counts. Requires master API key.
Missing tool annotations. All 7 tools are read-only (no state modification), but none declare readOnlyHint: true. Agents cannot distinguish safe-to-retry tools from destructive ones without explicit hints.
Pagination not documented. search_people, search_organizations, search_sequences all accept page/per_page but tool descriptions do not explain pagination behavior, result limits, or total count availability. Agents cannot plan multi-page retrieval.
apollo_get_email_accounts has empty input schema (no parameters) but description lacks clarity on what it returns or when to call it. Generic description ('Get list of email accounts') does not guide LLM selection.