Enrich Layer v3 について
Enrich Layer v3は、個人・企業情報や仕事用メールの確認を必要とするAIエージェント向けのMCPサーバーです。ローカル実行とホスト型HTTPコネクターに対応し、呼び出しのクレジット費用とリクエストIDも返します。
主な機能
- 01個人プロフィールの取得
- 02企業プロフィールとロゴの取得
- 03企業名による検索
- 04仕事用メール候補の検索
- 05メールの到達可能性確認
- 06ホスト型HTTPコネクター
活用シーン
- 01連絡先の職歴情報の確認
- 02対象企業の情報検索
- 03見込み顧客の仕事用メール検索
- 04連絡前のアドレス検証
MCP 対応
ローカルのstdioサーバーまたはホスト型Streamable HTTPコネクターを通じて、Enrich Layer v3 APIの6つのツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 今日に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| string | いいえ | メールアドレス。 | |
| github | string | いいえ | GitHub のユーザー名またはプロフィール URL。 |
| profile | string | いいえ | LinkedIn のユーザー名またはプロフィール URL。 |
| string | いいえ | Twitter/X のユーザー名またはプロフィール URL。 | |
| string | いいえ | Facebook のユーザー名またはプロフィール URL。 | |
| workEmail | enum | いいえ | 勤務先メールを含めます。`contactInformation.emails.work` セクションに返されます。デフォルト:除外。exclude | include |
| activities | enum | いいえ | 人物ページの最新の投稿を最大 100 件含めます。新しい順に並び、日付のない投稿は最後に配置されます。`activities` セクションに返されます。デフォルト:除外。exclude | include |
| socialLink | enum | いいえ | ソーシャルプロフィール URL を含め、対応するユーザー名とともに `slug` セクションに返します。URL は `contactInformation.socialLinks` セクションに返されます。デフォルト:除外。exclude | include |
| phoneNumber | enum | いいえ | 電話番号を含めます。`contactInformation.phoneNumbers` セクションに返されます。デフォルト:除外。exclude | include |
| careerInsight | enum | いいえ | 推定給与、職位レベル、推定スキルを含めます。`careerInsight` セクションに返されます。デフォルト:除外。exclude | include |
| maxAgeSeconds | integer | いいえ | キャッシュデータとして許容する最長経過時間(秒)。デフォルト:2592000。 |
| personalEmail | enum | いいえ | 個人メールを含めます。`contactInformation.emails.personal` セクションに返されます。デフォルト:除外。exclude | include |
| developerProfile | enum | いいえ | GitHub 開発者プロフィールのデータを含めます。`developerProfile` セクションに返されます。デフォルト:除外。exclude | include |
詳細
Enrich Layer v3 MCP サーバー
api.enrichlayer.com 上の Enrich Layer v3 API 用の MCP サーバーです。AI エージェントに、人物および企業のプロフィール、企業検索、企業ロゴ、仕事用メールアドレスの検索、メールアドレスの検証を行う6つのツールを提供します。
これは v2 サーバー(@enrichlayer/mcp-server)とは別のサーバーで、v2 サーバーもこれまでどおり動作します。
要件
- Node.js 20.3 以降。
- Enrich Layer API キー。
API キー、アカウント、クレジット
- キーの取得: enrichlayer.com/dashboard にログインし、API Key タブを開いてキーをコピーします。
- クレジットの所有者: サーバーは
ENRICHLAYER_API_KEYに設定されたキーのアカウントで動作します。成功した呼び出しはすべてそのアカウントに課金され、結果には課金されたクレジットがcreditCostに表示されます。エラーで終了した呼び出しは課金されません。 - エージェント用の別アカウント: 利用者がウェブサイトで Enrich Layer アカウントを作成して入金し、API キーをコピーしてエージェントの MCP 設定にキーを追加します。アカウントとそのクレジットは利用者が所有します。
- レート制限: 制限はアカウントごとにカウントされます。新しいアカウントは、初回の支払いが完了するまでごく小さな制限が設定されています。
インストール
多くのクライアントではキーを設定ファイルに保存するため、そのファイルは非公開にしてください。VS Code ではキーの入力を求められ、キーは自動的に保存されます。
Cursor
このボタンを押すと、Cursor のインストールリンク(cursor://anysphere.cursor-deeplink/mcp/install?...)が開きます。このリンクにキーは含まれていません。サーバーを追加した後、Cursor の MCP 設定で <your API key> を自分のキーに置き換えてください。
手動で追加するには、このブロックを ~/.cursor/mcp.json(すべてのプロジェクト用)または .cursor/mcp.json(1つのプロジェクト用)に記述します。
{
"mcpServers": {
"enrichlayer-v3": {
"command": "npx",
"args": ["-y", "@enrichlayer/mcp-server-v3"],
"env": { "ENRICHLAYER_API_KEY": "<your API key>" }
}
}
}
VS Code
Enrich Layer v3 を VS Code にインストール
このリンクを開くと、VS Code のインストールリンク(vscode:mcp/install?...)が開きます。サーバーが初めて起動するときに、VS Code から API キーの入力を求められます。
手動で追加するには、ワークスペース内の .vscode/mcp.json、またはユーザープロファイルの MCP 設定に次の内容を記述します。
{
"inputs": [
{ "type": "promptString", "id": "enrichlayer-api-key", "description": "Enrich Layer API key", "password": true }
],
"servers": {
"enrichlayer-v3": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@enrichlayer/mcp-server-v3"],
"env": { "ENRICHLAYER_API_KEY": "${input:enrichlayer-api-key}" }
}
}
}
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集し、Cursor と同じ mcpServers ブロックを追加します。Claude Desktop を終了して再起動してください。サーバーログは macOS の場合、~/Library/Logs/Claude/mcp-server-enrichlayer-v3.log にあります。
Claude Code
claude mcp add --env ENRICHLAYER_API_KEY=<your API key> --transport stdio enrichlayer-v3 -- npx -y @enrichlayer/mcp-server-v3
Codex
codex mcp add enrichlayer-v3 --env ENRICHLAYER_API_KEY=<your API key> -- npx -y @enrichlayer/mcp-server-v3
Codex では、デフォルトで60秒後にツール呼び出しが停止します。~/.codex/config.toml で制限を引き上げてください。
[mcp_servers.enrichlayer-v3]
command = "npx"
args = ["-y", "@enrichlayer/mcp-server-v3"]
env = { ENRICHLAYER_API_KEY = "<your API key>" }
tool_timeout_sec = 310
Windsurf
Cursor と同じ mcpServers ブロックを、Windsurf MCP のドキュメントに記載されている MCP 設定ファイルに追加します。ファイルの場所は macOS と Linux では ~/.config/devin/mcp_config.json、Windows では %AppData%/devin/mcp_config.json です。Cascade では「Open MCP config file」アクションを使ってこのファイルを開けます。キーそのものの代わりに ${env:ENRICHLAYER_API_KEY} と記述し、キーを環境変数に保存することもできます。
Antigravity
エージェントパネルの … メニュー → MCP Servers → Manage MCP Servers → View raw config を開くか、~/.gemini/config/mcp_config.json(ワークスペースごとの設定では .agents/mcp_config.json)を編集します。Cursor の場合と同じ mcpServers ブロックを追加しますが、Antigravity のデフォルトは 180 秒なので、ツール呼び出しの制限時間を長めに設定してください:
{
"mcpServers": {
"enrichlayer-v3": {
"command": "npx",
"args": ["-y", "@enrichlayer/mcp-server-v3"],
"env": { "ENRICHLAYER_API_KEY": "<your API key>" },
"timeoutSeconds": 310
}
}
}
ツール
| ツール | v3 エンドポイント | 機能 |
|---|---|---|
get_person_profile | GET /v3/person | 1 つの識別子(profile(LinkedIn URL またはユーザー名)、email、twitter、facebook、github)だけを指定して、1 人のプロフィールを取得します。任意のセクション:socialLink、phoneNumber、personalEmail、workEmail、careerInsight、developerProfile、activities。 |
get_company_profile | GET /v3/company | LinkedIn の企業ページまたはショーケースページの url を指定して、1 社のプロフィールを取得します。任意のセクション:fundingData、exitData、acquisitions、extra、activities。 |
search_companies | GET /v3/company/search | 名前(q)に一致する最大 10 社を検索します。 |
search_company_logos | GET /v3/company/logo | 名前またはドメイン(q)に一致する企業を、ロゴ URL とともに検索します。 |
find_work_emails | GET /v3/email/prospect | 企業の domain を指定し、full_name、または first_name と last_name のいずれかを使って、仕事用メールアドレスの候補を取得します。 |
validate_email | GET /v3/email/validate | 1 つのメールアドレスに配信可能かどうかを確認します。 |
入力スキーマは公開されている v3 OpenAPI 仕様から生成されるため、パラメーター名と使用できる値は v3 が受け付けるものです。
必要なセクションだけを指定してください。人物プロフィール全体は長くなることがあります。Claude Code はツール出力が 10,000 トークンを超えると警告し、デフォルトでは 25,000 トークンで切り詰めます。さらに必要な場合は MAX_MCP_OUTPUT_TOKENS を引き上げてください。
メールアドレス
get_person_profileにpersonalEmailまたはworkEmailを指定すると、配信可能と検証されたアドレスのみが返されます。プロフィール URL から仕事用メールアドレスを取得するには、profileとworkEmail: "include"を渡してください。contactInformation.emails.workが空の場合でも、人物の名前と企業のドメインを指定してfind_work_emailsを使うと、候補が見つかることがあります。find_work_emailsは候補を返し、それぞれにvalidityの検証結果が含まれます。配信可能と確認済みなのはvalidのみです。validate_emailはemailStatusに検証結果を返します。
呼び出しで返される内容
data— 変更されていない v3 の完全な応答です。creditCost— 呼び出しに課金されたクレジット数です。X-EnrichLayer-Credit-Costヘッダーから取得されます。requestId— 呼び出しのX-Request-Idです。サポートへの問い合わせ時にお知らせください。
結果は MCP の構造化コンテンツと、テキストブロック内の同じ JSON として返されます。
エラーは、読みやすいメッセージ、creditCost、requestId、次に行う操作とともに、ツールエラーとして返されます。対象となるのは、無効なパラメーター(400)、キーが無効または不足している場合(401)、クレジット不足またはアクセス権がない場合(403)、見つからない場合(404)、十分に新しいコピーがない場合(409。最新のキャッシュ済みコピーの経過時間を含みます)、レート制限(429)、サービスエラー(5xx)です。サーバーは 429 と 5xx を 2 回再試行してから報告します。
データの鮮度と長時間の呼び出し
get_person_profile と get_company_profile は maxAgeSeconds を受け取り、許容するキャッシュ済みコピーの最長経過時間を指定できます。デフォルトは 30 日で、通常は数秒で応答が返ります。値を小さくするとライブ検索が開始されますが、時間がかかり、費用も増えます。最大 5 分かかる場合があり、サーバーは最大 305 秒待機します。
MCP クライアントは、ツール呼び出しの実行時間を制限します。クライアントで設定できる場合は、制限を 310 秒以上にしてください:
- Claude Code: 全サーバーには
MCP_TOOL_TIMEOUT、個別のサーバーには.mcp.json内のミリ秒単位のtimeoutを指定します。 - Codex: デフォルトは 60 秒の
tool_timeout_secを指定します。 - Antigravity: デフォルトは 180 秒の
timeoutSecondsを指定します。 - Claude Desktop、Cursor、VS Code、Windsurf: この設定はドキュメントに記載されていないため、クライアントによって長時間の呼び出しが中断される場合があります。
応答が届く前に呼び出しが中断されても、課金されることがあります。その間に保存されたコピーを取得するには、maxAgeSeconds を指定せずに再度呼び出してください。すぐにライブ検索を繰り返さないでください。
環境変数
| 変数 | 必須 | デフォルト |
|---|---|---|
ENRICHLAYER_API_KEY | はい | — |
ENRICHLAYER_API_BASE_URL | いいえ | https://api.enrichlayer.com |
ホスト型コネクター
同じツールを https://mcp.enrichlayer.com/v3/mcp から HTTP 経由で利用できます。このアドレスをクライアントにリモート MCP サーバーとして追加すると、Enrich Layer のサインインページが開きます。そこで API キーを貼り付けてください。その後の呼び出しでは、ローカルサーバーと同様に、そのアカウントのクレジットが消費されます。
このアドレスの背後で稼働しているサーバーは、このパッケージの enrichlayer-mcp-v3-http コマンドです。セッションなしの Streamable HTTP を提供するため、どのインスタンスでもあらゆるリクエストに応答できます。
| パス | 機能 |
|---|---|
POST /v3/mcp | MCP リクエスト。サインインサービスの Bearer アクセストークンが必要です |
GET /.well-known/oauth-protected-resource/v3/mcp | サインイン先をクライアントに通知します |
GET /v3/health | {"status":"ok","version":"<version>"} |
| 変数 | 必須 | デフォルト |
|---|---|---|
MCP_BASE_URL | はい | —(パブリックオリジン。アクセストークンは、このオリジンによって発行され、このオリジン向けである必要があります) |
AUTH_JWT_SECRET | はい | —(サインインサービスがアクセストークンへの署名に使うシークレット) |
PORT | いいえ | 3000 |
ENRICHLAYER_API_BASE_URL | いいえ | https://api.enrichlayer.com |
SENTRY_DSN、SENTRY_ENVIRONMENT | いいえ | エラーは報告されません |
ツールを呼び出すたびに、ツール、API のステータス、creditCost、requestId、所要時間、クライアント名を含む JSON 行が stdout に書き込まれます。キー、トークン、パラメーターがログに記録されることはありません。
タグ v<version> を作成すると、イメージ ghcr.io/enrichlayer/mcp:<version> もビルドされます。ローカルでビルドして実行するには、次のようにします。
docker build -t enrichlayer-mcp-v3 .
docker run --rm -p 3000:3000 -e MCP_BASE_URL=http://localhost:3000 -e AUTH_JWT_SECRET=<secret> enrichlayer-mcp-v3
curl http://localhost:3000/v3/health
開発
npm ci
npm test # build, then unit and conformance tests
npm run update-spec # refresh spec/v3-openapi.json from the published spec
npm run gen:params # regenerate src/generated/v3-params.ts from the spec copy
CI では Node 20、22、24 で型チェックとテストを実行し、公開済みの v3 仕様が spec/v3-openapi.json と異なる場合は失敗します。
server.json は、公式 MCP レジストリに登録するサーバーの情報を記述します。その名前、バージョン、パッケージは package.json と一致している必要があります。テストでこれを確認します。
リリースするには、package.json と server.json のバージョンを設定し、タグ v<version> をプッシュします。このタグによって同じチェックが実行され、npm にバージョンがステージングされます。パッケージの所有者が npmjs.com の Staged Packages から公開します。その後、Actions タブから Registry ワークフローを手動で実行し、server.json を MCP レジストリに公開します。レジストリでは各バージョンを一度しか受け付けないため、同じバージョンでワークフローを再実行すると失敗します。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。