关于 mcp-enrichment
mcp-enrichment 是用于实体数据补充的 MCP 服务,面向需要查询公司和联系人信息的工作流。它通过 Clearbit、Hunter.io 和 Twilio 提供数据能力,并可在缺少 API 密钥时使用模拟数据。
主要功能
- 01补充公司行业、规模与技术信息
- 02按邮箱或 LinkedIn URL 查询联系人
- 03验证邮箱可投递性
- 04验证电话号码及线路信息
- 05按姓名和公司域名查找邮箱
- 06无 API 密钥时返回模拟数据
适用场景
- 01按公司域名补齐企业资料
- 02核验潜在联系人的邮箱
- 03检查电话号码有效性与线路类型
- 04在无 API 凭据的开发环境测试流程
MCP 相关
该 MCP 服务向客户端提供公司与联系人补充、邮箱和电话验证及邮箱查找工具,并公开服务商状态资源。缺少对应 API 密钥时,相关工具可使用模拟数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @opafex/mcp-enrichmentCLEARBIT_API_KEY密钥Clearbit API key for company and contact enrichmentHUNTER_API_KEY密钥Hunter.io API key for email discovery and verificationAPOLLO_API_KEY密钥Apollo.io API key for contact and company dataTWILIO_ACCOUNT_SID密钥Twilio Account SID for phone validationTWILIO_AUTH_TOKEN密钥Twilio Auth Token for phone validationENRICHMENT_CACHE_TTLCache TTL in seconds for enrichment results (default: 86400)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
6收录的工具列表 · 更新于 6 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| domain | string | 否 | 公司网站域名(例如 "stripe.com") |
| companyName | string | 否 | 公司名称(未提供域名时使用) |
详细介绍
@opafex/mcp-enrichment
用于多来源实体信息补充的 MCP 服务 — 公司数据、联系人查找、电子邮件验证、电话号码验证和电子邮件发现。
使用 Clearbit、Hunter.io 和 Twilio API。未配置 API 密钥时,可在模拟模式下运行。
安装
# Clone and build from source
git clone https://github.com/opafex/opafex-mcps.git
cd opafex-mcps
npm install && npm run build
需要 Node.js 20+。
快速开始
添加到 Claude Code / Claude Desktop
在项目根目录中创建或编辑 .mcp.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": "..."
}
}
}
}
省略 env 块即可在模拟模式下运行。
工具
enrich_company
根据域名或公司名称补充公司数据。返回所属行业、员工人数、融资情况、技术栈、社交媒体资料等信息。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
domain | string | domain 或 companyName 二选一 | 公司网站域名(例如 "stripe.com") |
companyName | string | domain 或 companyName 二选一 | 公司名称 |
提供方: Clearbit
响应示例
{
"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
根据电子邮件地址或 LinkedIn URL 补充联系人/个人数据。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
email | string | email 或 linkedinUrl 二选一 | 电子邮件地址 |
linkedinUrl | string | email 或 linkedinUrl 二选一 | LinkedIn 个人资料 URL |
firstName | string | 否 | 名字(可选提示) |
lastName | string | 否 | 姓氏(可选提示) |
company | string | 否 | 公司名称(可选提示) |
domain | string | 否 | 公司域名(可选提示) |
提供方: Clearbit
verify_email
验证电子邮件地址是否可送达。返回有效性、可送达评分、一次性/免费服务提供方检测、基于角色的地址检测和 SMTP 验证结果。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
email | string | 是 | 要验证的电子邮件地址 |
提供方: Hunter.io
响应示例
{
"success": true,
"email": "[email protected]",
"valid": true,
"deliverable": true,
"disposable": false,
"freeProvider": false,
"role": false,
"score": 95,
"provider": "mock",
"cached": false
}
verify_phone
验证并查询电话号码。返回有效性、格式化后的号码、线路类型(移动电话/固定电话/VoIP)、运营商信息和位置。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
phone | string | 是 | 电话号码(任意格式,优先使用 E.164 格式) |
countryCode | string | 否 | 不带 + 的国家/地区拨号代码(例如,美国为 "1",英国为 "44")。默认为 "44"(英国)。 |
提供方: Twilio
find_email
查找某人在某公司的电子邮件地址。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
firstName | string | 是 | 此人的名字 |
lastName | string | 是 | 此人的姓氏 |
domain | string | 是 | 公司域名(例如 "stripe.com") |
提供方: Hunter.io
响应示例
{
"success": true,
"email": "[email protected]",
"score": 85,
"sources": ["LinkedIn", "Company Website"],
"provider": "mock",
"cached": false
}
server_info(内置)
返回服务元数据:名称、版本、已注册工具和资源。由 @opafex/mcp-shared 自动添加。
资源
| 资源 | 说明 |
|---|---|
enrichment://status | 提供方配置状态(哪些 API 已启用、是否处于模拟模式) |
模拟模式
未配置 API 密钥时,所有工具都会返回逼真的模拟数据。这非常适合开发和测试 — 无需任何 API 账户,即可基于 MCP 开发。
模拟模式会自动启用:
- 全局启用: 未设置
CLEARBIT_API_KEY、HUNTER_API_KEY或TWILIO_ACCOUNT_SID中的任何一个 - 按工具启用: 缺少特定提供方的密钥时(例如,仅设置
CLEARBIT_API_KEY时,公司/联系人工具会使用真实数据,而电子邮件/电话工具则会回退到模拟数据)
查看 enrichment://status 资源或 server_info 工具,了解哪些提供方已启用。
环境变量
| 变量 | 类型 | 默认值 | 描述 |
|---|---|---|---|
CLEARBIT_API_KEY | string | — | 用于 enrich_company、enrich_contact 的 Clearbit API 密钥 |
HUNTER_API_KEY | string | — | 用于 verify_email、find_email 的 Hunter.io API 密钥 |
TWILIO_ACCOUNT_SID | string | — | 用于 verify_phone 的 Twilio Account SID |
TWILIO_AUTH_TOKEN | string | — | 用于 verify_phone 的 Twilio Auth Token |
APOLLO_API_KEY | string | — | Apollo.io API 密钥(预留供未来使用) |
ENRICHMENT_CACHE_TTL | number (seconds) | 86400 (24h) | 丰富结果的缓存时长 |
开发
npm run build # Compile TypeScript
npm run dev # Run with tsx (no build needed)
npm test # Run tests
npm start # Run compiled server
库用法
丰富服务可通过编程方式使用(不仅限于作为 MCP 服务):
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' });
自定义缓存提供程序
默认的内存缓存开箱即用。对于 Redis、SQLite 或任何自定义存储,请实现 CacheProvider 接口:
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,
});
贡献
发现错误或有功能请求?提交 issue。
欢迎提交拉取请求——开发环境配置请参阅主仓库。
许可证
MIT——请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。