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
| 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)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; } }
- src/index.ts:232-240 (handler)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" } } } },
- src/apollo-client.ts:32-39 (schema)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; }
- src/index.ts:82-110 (schema)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" } } }