Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
제작자가 쓴 설명(영어 원문)
Person and company profiles, company search and logos, work emails and email checks
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
ENRICHLAYER_API_KEY비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"v3": {
"command": "npx",
"args": [
"-y",
"@enrichlayer/mcp-server-v3"
],
"env": {
"ENRICHLAYER_API_KEY": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add v3 --env ENRICHLAYER_API_KEY=your-value -- npx -y @enrichlayer/mcp-server-v3실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"v3": {
"command": "npx",
"args": [
"-y",
"@enrichlayer/mcp-server-v3"
],
"env": {
"ENRICHLAYER_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"v3": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@enrichlayer/mcp-server-v3"
],
"env": {
"ENRICHLAYER_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 GitHub 계정 enrichlayer 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: ENRICHLAYER_API_KEY
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.0)은 그저께 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Vexa, emailmd, MCP WhatsApp Cloud
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
An MCP server for the Enrich Layer v3 API on api.enrichlayer.com. It gives an AI agent six tools: person and company profiles, company search, company logos, work email search and email validation.
This is a separate server from the v2 one (@enrichlayer/mcp-server), which keeps working as before.
ENRICHLAYER_API_KEY. Every successful call is charged to that account; the result shows the credits charged in creditCost. Calls that end in an error are not charged.Most clients keep the key in their config file, so keep that file private. VS Code asks for the key instead and stores it for you.
The button opens Cursor's install link (cursor://anysphere.cursor-deeplink/mcp/install?...). The link carries no key: after the server is added, replace with your key in Cursor's MCP settings.
To add it by hand, put this block into ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": { "enrichlayer-v3": { "command": "npx", "args": ["-y", "@enrichlayer/mcp-server-v3"], "env": { "ENRICHLAYER_API_KEY": " " } } } }
Install Enrich Layer v3 in VS Code
The link opens VS Code's install link (vscode:mcp/install?...). VS Code asks for the API key when the server first starts.
To add it by hand, put this into .vscode/mcp.json in the workspace, or into the MCP configuration of your user profile:
{
"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}" } } } }
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows) and add the same mcpServers block as for Cursor. Quit and reopen Claude Desktop. Server logs are in ~/Library/Logs/Claude/mcp-server-enrichlayer-v3.log on macOS.
claude mcp add --env ENRICHLAYER_API_KEY=<your API key> --transport stdio enrichlayer-v3 -- npx -y @enrichlayer/mcp-server-v3
codex mcp add enrichlayer-v3 --env ENRICHLAYER_API_KEY=<your API key> -- npx -y @enrichlayer/mcp-server-v3
Codex stops a tool call after 60 seconds by default. Raise the limit in ~/.codex/config.toml:
[mcp_servers.enrichlayer-v3]
command = "npx" args = ["-y", "@enrichlayer/mcp-server-v3"] env = { ENRICHLAYER_API_KEY = " " } tool_timeout_sec = 310
Add the same mcpServers block as for Cursor to the MCP config file named in the Windsurf MCP docs: ~/.config/devin/mcp_config.json on macOS and Linux, %AppData%/devin/mcp_config.json on Windows. Cascade opens this file with its "Open MCP config file" action. Instead of the key itself you can write ${env:ENRICHLAYER_API_KEY} there and keep the key in your environment.
Open the … menu of the agent panel → MCP Servers → Manage MCP Servers → View raw config, or edit ~/.gemini/config/mcp_config.json (.agents/mcp_config.json for one workspace). Add the same mcpServers block as for Cursor, with a longer tool call limit — Antigravity's default is 180 seconds:
{
"mcpServers": { "enrichlayer-v3": { "command": "npx", "args": ["-y", "@enrichlayer/mcp-server-v3"], "env": { "ENRICHLAYER_API_KEY": " " }, "timeoutSeconds": 310 } } }
| Tool | v3 endpoint | What it does |
|---|---|---|
get_person_profile | GET /v3/person | One person by exactly one identifier: profile (LinkedIn URL or username), email, twitter, facebook or github. Optional sections: socialLink, phoneNumber, personalEmail, workEmail, careerInsight, developerProfile, activities. |
get_company_profile | GET /v3/company | One company by its LinkedIn company or showcase page url. Optional sections: fundingData, exitData, acquisitions, extra, activities. |
search_companies | GET /v3/company/search | Companies matching a name (q), up to 10. |
search_company_logos | GET /v3/company/logo | Companies matching a name or domain (q), with logo URLs. |
find_work_emails | GET /v3/email/prospect | Work email candidates for full_name, or first_name and/or last_name, at a company domain. |
validate_email | GET /v3/email/validate | Whether one email address is deliverable. |
The input schemas are generated from the published v3 OpenAPI spec, so parameter names and allowed values are the ones v3 accepts.
Ask only for the sections you need. A full person profile can be long: Claude Code warns above 10,000 tokens of tool output and cuts it at 25,000 by default (raise MAX_MCP_OUTPUT_TOKENS if you need more).
get_person_profile with personalEmail or workEmail returns only addresses validated as deliverable. To find someone's work email from a profile URL, pass profile and workEmail: "include"; if contactInformation.emails.work is empty, find_work_emails with the person's name and company domain may still find candidates.find_work_emails returns candidates, each with a validation verdict in validity; only valid is confirmed deliverable.validate_email returns the verdict in emailStatus.data — the full v3 answer, unchanged.creditCost — credits charged for the call, from the X-EnrichLayer-Credit-Cost header.requestId — the X-Request-Id of the call; quote it to support.The result comes as MCP structured content and as the same JSON in a text block.
Errors come back as tool errors with a readable message, creditCost, requestId and the next step to take: invalid parameters (400), an invalid or missing key (401), not enough credits or no access (403), not found (404), no copy fresh enough (409, with the age of the newest cached copy), rate limit (429) and service errors (5xx). The server retries 429 and 5xx twice before it reports them.
get_person_profile and get_company_profile take maxAgeSeconds: the oldest cached copy you accept. By default it is 30 days, and the answer usually comes in seconds. A small value starts a live lookup, which is slower and costs more: it can take up to 5 minutes, and the server waits up to 305 seconds.
MCP clients limit how long a tool call may run. Set the limit to at least 310 seconds where the client allows it:
MCP_TOOL_TIMEOUT for all servers, or a timeout in milliseconds for one server in .mcp.json.tool_timeout_sec, 60 seconds by default.timeoutSeconds, 180 seconds by default.A call cut off before the answer arrives may still be charged. To get the copy that was saved in the meantime, call again without maxAgeSeconds; do not repeat a live lookup right away.
| Variable | Required | Default |
|---|---|---|
ENRICHLAYER_API_KEY | yes | — |
ENRICHLAYER_API_BASE_URL | no | https://api.enrichlayer.com |
The same tools are served over HTTP at https://mcp.enrichlayer.com/v3/mcp. Add that address as a remote MCP server in your client; the client opens the Enrich Layer sign-in page, where you paste your API key. Calls then spend that account's credits, as with the local server.
The server behind that address is the enrichlayer-mcp-v3-http command of this package. It serves Streamable HTTP without sessions, so any instance can answer any request:
| Path | What it does |
|---|---|
POST /v3/mcp | MCP requests; needs a Bearer access token from the sign-in service |
GET /.well-known/oauth-protected-resource/v3/mcp | Tells the client where to sign in |
GET /v3/health | {"status":"ok","version":" "} |
| Variable | Required | Default |
|---|---|---|
MCP_BASE_URL | yes | — (the public origin; access tokens must be issued by it and for it) |
AUTH_JWT_SECRET | yes | — (the secret the sign-in service signs access tokens with) |
PORT | no | 3000 |
ENRICHLAYER_API_BASE_URL | no | https://api.enrichlayer.com |
SENTRY_DSN, SENTRY_ENVIRONMENT | no | errors are not reported |
Each tool call writes one JSON line to stdout with the tool, the API status, creditCost, requestId, the time it took and the client name; keys, tokens and parameters are never logged.
A tag v also builds the image ghcr.io/enrichlayer/mcp: . To build and run it locally:
docker build -t enrichlayer-mcp-v3 .
docker run --rm -p 3000:3000 -e MCP_BASE_URL=http://localhost:3000 -e AUTH_JWT_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 checks the types and runs the tests on Node 20, 22 and 24, and fails when the published v3 spec differs from spec/v3-openapi.json.
server.json describes the server for the official MCP registry. Its name, version and package must match package.json; a test checks this.
To release, set the version in package.json and server.json and push the tag v . The tag runs the same checks and stages the version on npm; the package owner publishes it from Staged Packages on npmjs.com. Then run the Registry workflow by hand from the Actions tab to publish server.json to the MCP registry. The registry takes each version only once, so running the workflow again for the same version fails.
MIT