Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Description from the maker (original English)
Person and company profiles, company search and logos, work emails and email checks
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
ENRICHLAYER_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"v3": {
"command": "npx",
"args": [
"-y",
"@enrichlayer/mcp-server-v3"
],
"env": {
"ENRICHLAYER_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add v3 --env ENRICHLAYER_API_KEY=your-value -- npx -y @enrichlayer/mcp-server-v3Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"v3": {
"command": "npx",
"args": [
"-y",
"@enrichlayer/mcp-server-v3"
],
"env": {
"ENRICHLAYER_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"v3": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@enrichlayer/mcp-server-v3"
],
"env": {
"ENRICHLAYER_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account enrichlayer, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: ENRICHLAYER_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 2 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Vexa, emailmd, MCP WhatsApp Cloud
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
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
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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