Mcp Enrichment

io.github.Opafex由 GitHub 账号 Opafex 发布v0.1.1更新于 Oct 26, 2026

Multi-source entity enrichment: company data, contacts, email verification, and phone validation

已验证STDIO仅桌面数据与分析商业与电商

概览

AI 生成的概览

本地 MCP 服务器,通过 Clearbit、Hunter.io 和 Twilio 补全公司与联系人信息、验证邮箱和电话,并支持模拟模式。

可以做什么
  • 根据域名或公司名查询公司资料,包括行业、员工数、融资、技术栈和社交主页
  • 根据邮箱或 LinkedIn 链接查询个人资料,返回姓名、职位、资历、部门和公司信息
  • 验证邮箱可投递性,检测一次性或免费邮箱、角色邮箱并做 SMTP 校验
  • 按姓名和公司域名查找最可能的邮箱地址并给出置信度
  • 校验并查询电话号码,返回号码类型、运营商和归属地
  • 返回服务器元数据以及当前启用的数据源
适用场景
适合助手需要调研公司或人物、筛选潜在客户,或通过核验邮箱和电话来清洗联系人名单的场景。也适合在没有付费 API 账号时用模拟数据搭建信息补全流程的原型。
运行要求
以 npm 包形式通过 npx 或构建后的服务在本地运行,需要 Node.js 20 或更高版本。获取真实数据需通过环境变量设置密钥:CLEARBIT_API_KEY 用于公司和联系人工具,HUNTER_API_KEY 用于邮箱工具,TWILIO_ACCOUNT_SID 与 TWILIO_AUTH_TOKEN 用于电话查询。未配置密钥时进入模拟模式。可选 ENRICHMENT_CACHE_TTL 设置缓存时长。
安装前请注意
这些工具会把公司域名、邮箱地址、LinkedIn 链接、姓名和电话号码发送给 Clearbit、Hunter.io 和 Twilio,个人数据会离开本机。结果默认在内存中缓存 24 小时。未配置密钥时工具会返回看似真实的模拟数据,使用前请查看 provider 字段或状态资源。APOLLO_API_KEY 虽被接受,但仅为将来使用预留。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mcp Enrichment,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@opafex/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

bash
# Clone and build from sourcegit clone https://github.com/opafex/opafex-mcps.gitcd opafex-mcpsnpm 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:

json
{  "mcpServers": {    "enrichment": {      "command": "node",      "args": ["/path/to/opafex-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
json
{  "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
json
{  "success": true,  "email": "[email protected]",  "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
json
{  "success": true,  "email": "[email protected]",  "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 @opafex/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_KEYstring—Clearbit API key for enrich_company, enrich_contact
HUNTER_API_KEYstring—Hunter.io API key for verify_email, find_email
TWILIO_ACCOUNT_SIDstring—Twilio Account SID for verify_phone
TWILIO_AUTH_TOKENstring—Twilio Auth Token for verify_phone
APOLLO_API_KEYstring—Apollo.io API key (reserved for future use)
ENRICHMENT_CACHE_TTLnumber (seconds)86400 (24h)How long to cache enrichment results

Development

bash
npm run build    # Compile TypeScriptnpm run dev      # Run with tsx (no build needed)npm test         # Run testsnpm start        # Run compiled server

Library Usage

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

typescript
import { EnrichmentService } from '@opafex/mcp-enrichment/service';import type { CacheProvider } from '@opafex/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:

typescript
import { EnrichmentService } from '@opafex/mcp-enrichment/service';import type { CacheProvider } from '@opafex/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.

来源:packages/enrichment/README.md,提交 f85607b

工具

6

enrich_company

Enrich company data from a domain name or company name. Returns industry, employee count, funding, tech stack, social profiles, and more. Uses Clearbit API (falls back to mock data if no API key configured).

输入参数domaincompanyName

enrich_contact

Enrich contact/person data from an email address or LinkedIn URL. Returns name, title, seniority, department, social profiles, and company info. Uses Clearbit API.

输入参数emaildomaincompanylastNamefirstNamelinkedinUrl

verify_email

Verify an email address for deliverability. Returns validity, deliverability score, disposable/free provider detection, role-based detection, MX records check, and SMTP validation. Uses Hunter.io API.

输入参数email必填

verify_phone

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

输入参数phone必填countryCode

find_email

Find the email address for a specific person at a company. Provide their first name, last name, and the company domain. Returns the most likely email and a confidence score. Uses Hunter.io API.

输入参数domain必填lastName必填firstName必填

server_info

Returns server metadata: name, version, registered tools, and registered resources. Useful for introspection and health checks.

无需输入参数。

版本历史

1
  1. v0.1.1最新Oct 25, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分