🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@intelagent/mcp-enrichment

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@intelagent/mcp-enrichment

MCP server for multi-source entity enrichment (company, contact, email, phone)

latest
Source
npmnpm
Version
0.1.1
Version published
Weekly downloads
40
37.93%
Maintainers
1
Weekly downloads
 
Created
Source

@intelagent/mcp-enrichment

MCP server for multi-source entity enrichment — company data, contact lookup, email verification, phone validation, and email discovery.

Uses Clearbit, Hunter.io, and Twilio APIs. Works in mock mode with no API keys configured.

Installation

# Clone and build from source
git clone https://github.com/IntelagentStudios/Intelagent-MCPs.git
cd Intelagent-MCPs
npm install && npm run build

Requires Node.js 20+.

Quick Start

Add to Claude Code / Claude Desktop

Create or edit .mcp.json in your project root:

{
  "mcpServers": {
    "enrichment": {
      "command": "node",
      "args": ["/path/to/Intelagent-MCPs/packages/enrichment/dist/index.js"],
      "env": {
        "CLEARBIT_API_KEY": "sk-...",
        "HUNTER_API_KEY": "...",
        "TWILIO_ACCOUNT_SID": "...",
        "TWILIO_AUTH_TOKEN": "..."
      }
    }
  }
}

Omit the env block to run in mock mode.

Tools

enrich_company

Enrich company data from a domain name or company name. Returns industry, employee count, funding, tech stack, social profiles, and more.

ParameterTypeRequiredDescription
domainstringOne of domain or companyNameCompany website domain (e.g. "stripe.com")
companyNamestringOne of domain or companyNameCompany name

Provider: Clearbit

Example response
{
  "success": true,
  "company": {
    "name": "Company for stripe.com",
    "domain": "stripe.com",
    "description": "A leading technology company specializing in innovative solutions.",
    "industry": "Technology",
    "sector": "Software",
    "employees": 150,
    "employeesRange": "101-250",
    "founded": 2015,
    "location": { "city": "London", "country": "United Kingdom" },
    "socialProfiles": { "linkedin": "https://linkedin.com/company/example" },
    "techStack": ["React", "Node.js", "PostgreSQL", "AWS"],
    "type": "private"
  },
  "provider": "mock",
  "cached": false,
  "timestamp": "2026-03-15T00:00:00.000Z"
}

enrich_contact

Enrich contact/person data from an email address or LinkedIn URL.

ParameterTypeRequiredDescription
emailstringOne of email or linkedinUrlEmail address
linkedinUrlstringOne of email or linkedinUrlLinkedIn profile URL
firstNamestringNoFirst name (optional hint)
lastNamestringNoLast name (optional hint)
companystringNoCompany name (optional hint)
domainstringNoCompany domain (optional hint)

Provider: Clearbit

verify_email

Verify an email address for deliverability. Returns validity, deliverability score, disposable/free provider detection, role-based detection, and SMTP validation.

ParameterTypeRequiredDescription
emailstringYesEmail address to verify

Provider: Hunter.io

Example response
{
  "success": true,
  "email": "test@example.com",
  "valid": true,
  "deliverable": true,
  "disposable": false,
  "freeProvider": false,
  "role": false,
  "score": 95,
  "provider": "mock",
  "cached": false
}

verify_phone

Validate and look up a phone number. Returns validity, formatted number, line type (mobile/landline/voip), carrier info, and location.

ParameterTypeRequiredDescription
phonestringYesPhone number (any format, E.164 preferred)
countryCodestringNoCountry dialing code without + (e.g. "1" for US, "44" for UK). Defaults to "44" (UK).

Provider: Twilio

find_email

Find the email address for a specific person at a company.

ParameterTypeRequiredDescription
firstNamestringYesPerson's first name
lastNamestringYesPerson's last name
domainstringYesCompany domain (e.g. "stripe.com")

Provider: Hunter.io

Example response
{
  "success": true,
  "email": "jane.smith@stripe.com",
  "score": 85,
  "sources": ["LinkedIn", "Company Website"],
  "provider": "mock",
  "cached": false
}

server_info (built-in)

Returns server metadata: name, version, registered tools, and resources. Added automatically by @intelagent/mcp-shared.

Resources

ResourceDescription
enrichment://statusProvider configuration status (which APIs are active, mock mode)

Mock Mode

When no API keys are configured, all tools return realistic mock data. This is great for development and testing — you can build against the MCP without any API accounts.

Mock mode activates automatically:

  • Globally when none of CLEARBIT_API_KEY, HUNTER_API_KEY, or TWILIO_ACCOUNT_SID are set
  • Per-tool when the specific provider key is missing (e.g. if you only set CLEARBIT_API_KEY, company/contact tools use real data while email/phone tools fall back to mock)

Check enrichment://status resource or the server_info tool to see which providers are active.

Environment Variables

VariableTypeDefaultDescription
CLEARBIT_API_KEYstringClearbit API key for enrich_company, enrich_contact
HUNTER_API_KEYstringHunter.io API key for verify_email, find_email
TWILIO_ACCOUNT_SIDstringTwilio Account SID for verify_phone
TWILIO_AUTH_TOKENstringTwilio Auth Token for verify_phone
APOLLO_API_KEYstringApollo.io API key (reserved for future use)
ENRICHMENT_CACHE_TTLnumber (seconds)86400 (24h)How long to cache enrichment results

Development

npm run build    # Compile TypeScript
npm run dev      # Run with tsx (no build needed)
npm test         # Run tests
npm start        # Run compiled server

Library Usage

The enrichment service can be used programmatically (not just as an MCP server):

import { EnrichmentService } from '@intelagent/mcp-enrichment/service';
import type { CacheProvider } from '@intelagent/mcp-enrichment/service';

const service = new EnrichmentService({
  clearbitApiKey: 'sk-...',
  hunterApiKey: '...',
});

const result = await service.enrichCompany({ domain: 'stripe.com' });

Custom Cache Provider

The default in-memory cache works out of the box. For Redis, SQLite, or any custom store, implement the CacheProvider interface:

import { EnrichmentService } from '@intelagent/mcp-enrichment/service';
import type { CacheProvider } from '@intelagent/mcp-enrichment/service';

const redisCache: CacheProvider = {
  async get(key) { /* ... */ },
  async set(key, data, ttlMs) { /* ... */ },
  async delete(key) { /* ... */ },
  async clear() { /* ... */ },
};

const service = new EnrichmentService({
  clearbitApiKey: '...',
  cache: redisCache,
});

Contributing

Found a bug or have a feature request? Open an issue.

Pull requests welcome — see the main repo for development setup.

License

MIT — see LICENSE.

Keywords

mcp

FAQs

Package last updated on 15 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts