Skip to main content
Glama

enrich_person

Enrich contact data by providing email, name with company domain, or LinkedIn URL to retrieve professional details including email, phone, social profiles, and employment information.

Instructions

Enrich a person's data with email, phone, social profiles, employment info, and more. Provide either email, name+domain, or LinkedIn URL.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailNoPerson's email address
first_nameNoFirst name (use with domain)
last_nameNoLast name (use with domain)
domainNoCompany domain (e.g., apollo.io)
linkedin_urlNoLinkedIn profile URL
reveal_personal_emailsNoInclude personal email addresses

Implementation Reference

  • The main execution logic for the 'enrich_person' tool. Calls Apollo's /people/match endpoint with input args and formats the enriched person data into a readable text response.
    private async enrichPerson(args: any) { const response = await this.axiosInstance.post("/people/match", args); const person = response.data.person; if (!person) { return { content: [ { type: "text", text: "No person found with the provided information.", }, ], }; } let result = `Person Enrichment Results:\n\n`; result += `Name: ${person.first_name} ${person.last_name}\n`; result += `ID: ${person.id}\n`; result += `Title: ${person.title || "N/A"}\n`; result += `Email: ${person.email || "N/A"}\n`; result += `Phone: ${person.phone_numbers?.[0]?.raw_number || "N/A"}\n`; result += `LinkedIn: ${person.linkedin_url || "N/A"}\n`; result += `Location: ${person.city ? `${person.city}, ${person.state || ""}` : "N/A"}\n`; result += `Seniority: ${person.seniority || "N/A"}\n\n`; if (person.organization) { result += `Company Information:\n`; result += ` Name: ${person.organization.name}\n`; result += ` Domain: ${person.organization.website_url || "N/A"}\n`; result += ` Industry: ${person.organization.industry || "N/A"}\n`; result += ` Employees: ${person.organization.estimated_num_employees || "N/A"}\n`; } return { content: [ { type: "text", text: result, }, ], }; }
  • The tool registration in getTools() including name, description, and detailed inputSchema defining parameters for person enrichment.
    { name: "enrich_person", description: "Enrich a person's data with email, phone, social profiles, employment info, and more. Provide either email, name+domain, or LinkedIn URL.", inputSchema: { type: "object", properties: { email: { type: "string", description: "Person's email address", }, first_name: { type: "string", description: "First name (use with domain)", }, last_name: { type: "string", description: "Last name (use with domain)", }, domain: { type: "string", description: "Company domain (e.g., apollo.io)", }, linkedin_url: { type: "string", description: "LinkedIn profile URL", }, reveal_personal_emails: { type: "boolean", description: "Include personal email addresses", }, }, }, },
  • src/index.ts:66-67 (registration)
    Dispatch/registration case in the CallToolRequestSchema handler that routes 'enrich_person' calls to the enrichPerson method.
    case "enrich_person": return await this.enrichPerson(args);

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/masridigital/apollo.io-mcp'

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