Skip to main content
Glama
adamanz

Apollo.io MCP Server

by adamanz

people_enrichment

Enhance contact profiles by adding professional details like company information, LinkedIn data, and email addresses using provided names or domains.

Instructions

Use the People Enrichment endpoint to enrich data for 1 person

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
first_nameNoPerson's first name
last_nameNoPerson's last name
emailNoPerson's email address
domainNoCompany domain
organization_nameNoOrganization name
linkedin_urlNoPerson's LinkedIn profile URL

Implementation Reference

  • Core handler implementing people_enrichment by POSTing to Apollo.io /people/match API endpoint with error handling.
    async peopleEnrichment(query: PeopleEnrichmentQuery): Promise<any> { try { const url = `${this.baseUrl}/people/match`; console.log('url', url); console.log('query', query); const response = await this.axiosInstance.post(url, query); if (response.status === 200) { return response.data; } else { console.error(`Error: ${response.status} - ${response.statusText}`); return null; } } catch (error: any) { console.error(`Error: ${error.response?.status} - ${error.response?.statusText || error.message}`); return null; } }
  • MCP CallToolRequestSchema handler dispatch case for 'people_enrichment' that calls ApolloClient.peopleEnrichment and formats response.
    case 'people_enrichment': { const result = await this.apollo.peopleEnrichment(args); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; }
  • src/index.ts:79-111 (registration)
    Tool registration in ListToolsRequestSchema response: defines name 'people_enrichment', description, and inputSchema.
    { name: 'people_enrichment', description: 'Use the People Enrichment endpoint to enrich data for 1 person', inputSchema: { type: 'object', properties: { first_name: { type: 'string', description: "Person's first name" }, last_name: { type: 'string', description: "Person's last name" }, email: { type: 'string', description: "Person's email address" }, domain: { type: 'string', description: "Company domain" }, organization_name: { type: 'string', description: "Organization name" }, linkedin_url: { type: 'string', description: "Person's LinkedIn profile URL" } } } },
  • TypeScript interface PeopleEnrichmentQuery defining the query parameters for people enrichment.
    export interface PeopleEnrichmentQuery { first_name?: string; last_name?: string; email?: string; domain?: string; organization_name?: string; [key: string]: any; }
  • JSON schema for tool input validation in MCP tool definition (matches PeopleEnrichmentQuery).
    inputSchema: { type: 'object', properties: { first_name: { type: 'string', description: "Person's first name" }, last_name: { type: 'string', description: "Person's last name" }, email: { type: 'string', description: "Person's email address" }, domain: { type: 'string', description: "Company domain" }, organization_name: { type: 'string', description: "Organization name" }, linkedin_url: { type: 'string', description: "Person's LinkedIn profile URL" } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/adamanz/apollo-io-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server