Skip to main content
Glama

enrich_person

Enrich contact profiles by adding email, phone, social links, and employment details using email, name+company, or LinkedIn URL.

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 core execution logic for the 'enrich_person' tool. Posts to Apollo's /people/match endpoint, extracts person data, formats it into a readable text response including personal details and company info, or returns no-person message.
    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 input schema defining parameters for 'enrich_person': email, first_name, last_name, domain, linkedin_url, reveal_personal_emails.
    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)
    Tool dispatch/registration in the switch statement that routes calls to 'enrich_person' to the enrichPerson handler 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