people_enrichment
Enrich personal contact data by providing names, email, company domain, or LinkedIn URL to retrieve comprehensive professional information from Apollo.io.
Instructions
Use the People Enrichment endpoint to enrich data for 1 person
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| first_name | No | Person's first name | |
| last_name | No | Person's last name | |
| No | Person's email address | ||
| domain | No | Company domain | |
| organization_name | No | Organization name | |
| linkedin_url | No | Person's LinkedIn profile URL |
Implementation Reference
- src/apollo-client.ts:97-114 (handler)The core handler function that executes the people_enrichment tool logic by making a POST request to Apollo.io's /people/match endpoint.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; } }
- src/apollo-client.ts:32-39 (schema)TypeScript interface defining the input schema for the people_enrichment tool query parameters.export interface PeopleEnrichmentQuery { first_name?: string; last_name?: string; email?: string; domain?: string; organization_name?: string; [key: string]: any; }
- src/index.ts:79-111 (registration)Registration of the people_enrichment tool in the MCP server's list of tools, including name, description, and input schema.{ 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" } } } },
- src/index.ts:232-240 (handler)Dispatcher handler in the MCP CallToolRequestSchema that invokes the ApolloClient.peopleEnrichment method and formats the response.case 'people_enrichment': { const result = await this.apollo.peopleEnrichment(args); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; }