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 分