Enrich Layer MCP Server
Provides 25 tools to enrich company, person, contact, school, and job data via the Enrich Layer API, enabling lookups, profiles, and contact discovery.
README
Enrich Layer MCP Server
An MCP (Model Context Protocol) server that provides 25 tools for enriching company, person, contact, school, and job data via the Enrich Layer API.
Use it with any MCP-compatible client: Claude Desktop, Claude Code, Cursor, VS Code, and more.
Quick Start
npx -y @enrichlayer/mcp-server
Set your API key as an environment variable:
export ENRICH_LAYER_API_KEY=your_api_key_here
Get your API key at enrichlayer.com/dashboard.
Configuration
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"enrich-layer": {
"command": "npx",
"args": ["-y", "@enrichlayer/mcp-server"],
"env": {
"ENRICH_LAYER_API_KEY": "your_api_key_here"
}
}
}
}
Claude Desktop (MCPB Extension)
Download the .mcpb file from Releases and open it in Claude Desktop. You'll be prompted to enter your API key during setup.
Claude Code
claude mcp add enrich-layer -- npx -y @enrichlayer/mcp-server
Then set the env var ENRICH_LAYER_API_KEY in your shell.
Cursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"enrich-layer": {
"command": "npx",
"args": ["-y", "@enrichlayer/mcp-server"],
"env": {
"ENRICH_LAYER_API_KEY": "your_api_key_here"
}
}
}
}
VS Code
Add to your VS Code MCP settings (.vscode/mcp.json):
{
"servers": {
"enrich-layer": {
"command": "npx",
"args": ["-y", "@enrichlayer/mcp-server"],
"env": {
"ENRICH_LAYER_API_KEY": "your_api_key_here"
}
}
}
}
Remote HTTP Server
For remote deployments, the server also supports Streamable HTTP transport:
npm run start:http
This starts an Express server on port 3000 (configurable via PORT env var) with a /mcp endpoint for JSON-RPC and a /health endpoint for health checks.
Usage Examples
1. Look up a company
"Look up the company profile for Stripe"
This calls enrich_company_lookup with company_name: "Stripe" to find the company's professional network URL and profile data.
2. Find a work email by role
"Find the work email for the CTO of Notion"
This chains two tools: first enrich_role_lookup with company_name: "Notion", role: "cto" to find the person, then enrich_work_email with their profile URL to get the email address.
3. Check your credit balance
"How many credits do I have left?"
This calls enrich_credit_balance to show your remaining API credits. Costs 0 credits.
Available Tools (25)
Company (7 tools)
| Tool | Description | Credits |
|---|---|---|
enrich_company_profile |
Get structured company data from URL | 1 |
enrich_company_lookup |
Look up company by name or domain | 2 |
enrich_company_id_lookup |
Look up company by numeric ID | 0 |
enrich_company_picture |
Get company profile picture URL | 0 |
enrich_employee_list |
List employees of a company | 3/employee |
enrich_employee_count |
Get employee count | 1 |
enrich_employee_search |
Search employees by keyword | 10 |
Person (4 tools)
| Tool | Description | Credits |
|---|---|---|
enrich_person_profile |
Get structured person data from URL | 1 |
enrich_person_lookup |
Look up person by name + company | 2 |
enrich_person_picture |
Get person profile picture URL | 0 |
enrich_role_lookup |
Find person by role at company | 3 |
Contact (6 tools)
| Tool | Description | Credits |
|---|---|---|
enrich_reverse_email |
Find profile by email | 3 |
enrich_reverse_phone |
Find profile by phone number | 3 |
enrich_work_email |
Get work email from profile | 3 |
enrich_personal_contact |
Get personal phone numbers | 1/contact |
enrich_personal_email |
Get personal email addresses | 1/email |
enrich_disposable_email |
Check if email is disposable | 0 |
School (2 tools)
| Tool | Description | Credits |
|---|---|---|
enrich_school_profile |
Get structured school data | 1 |
enrich_student_list |
List students of a school | 3/student |
Job (3 tools)
| Tool | Description | Credits |
|---|---|---|
enrich_job_profile |
Get structured job posting data | 2 |
enrich_job_search |
Search job postings | 2 |
enrich_job_count |
Count matching job postings | 2 |
Search (2 tools)
| Tool | Description | Credits |
|---|---|---|
enrich_company_search |
Search companies by criteria | 3/URL |
enrich_person_search |
Search people by criteria | 3/URL |
Meta (1 tool)
| Tool | Description | Credits |
|---|---|---|
enrich_credit_balance |
Check your credit balance | 0 |
Privacy Policy
Enrich Layer collects only the data you explicitly pass as tool parameters (URLs, names, emails). No conversation data, chat history, or personal data is collected or stored. All requests go directly to the Enrich Layer API over HTTPS.
For the full privacy policy, see enrichlayer.com/privacy.
Development
# Install dependencies
npm install
# Build
npm run build
# Run stdio server (for MCP clients)
npm start
# Run HTTP server (for remote deployments)
npm run start:http
# Test with MCP Inspector
npx @modelcontextprotocol/inspector node build/index.js
API surface conformance
Tool schemas follow the published Enrich Layer OpenAPI spec — the single source of truth for the API surface: https://enrichlayer.com/docs/api/v2/openapi.yaml
A copy of the spec is vendored at spec/enrichlayer-api.yaml, and CI runs
npm run check:spec on every pull request. A tool fails the check when:
- its endpoint is not in the spec;
- it exposes a parameter the spec does not document for that endpoint;
- a parameter's required/optional flag disagrees with the spec;
- it omits a parameter the spec marks required.
Optional spec parameters a tool does not expose are reported as warnings — tools may deliberately expose a curated subset. The check matches parameter names and required-ness only; it does not validate enum values or types, because the spec does not encode those for query parameters.
When the API changes:
npm run update-spec # refresh spec/enrichlayer-api.yaml from the published URL
npm run build
npm run check:spec # see which tools drifted, fix their schemas
The conformance logic lives in scripts/conformance-core.mjs and is unit-tested
(npm test, Node's built-in test runner).
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.