Skip to main content
Glama
Enrich Layer MCP Server

Enrich Layer MCP Server

Official
by enrichlayer

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.

Related MCP server: LeadMagic MCP Server

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.

Optional Sentry self-reporting

The server captures startup, request, and graceful-shutdown failures when SENTRY_DSN is configured. Set SENTRY_ENVIRONMENT, SENTRY_RELEASE, and SENTRY_SERVICE alongside it to control the event tags. The defaults are the current NODE_ENV, the package version, and enrich-layer-mcp-server for HTTP or enrich-layer-mcp-server-stdio for stdio; the environment variables always take precedence over those defaults. Missing or invalid DSNs disable reporting without affecting server startup. Failure telemetry is scrubbed before it is sent: request query strings are removed, credential-like values are redacted, and default PII and tracing integrations are disabled. Error text may still be forwarded after scrubbing, so configure this only where that operational telemetry is permitted.

The application does not load an environment file. A deployment/runtime manager must export these variables or inject them through its secret store; never commit a DSN to source or pass it in a request. For the production mcp.verticalint.co deployment, Vault injection and rollout are tracked separately in INF-887.

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 or chat history is collected by the MCP transport, and all API requests go directly to the Enrich Layer API over HTTPS. When optional Sentry self-reporting is configured, scrubbed operational failure telemetry may be sent to the configured Sentry project; it is separate from the API request path and can be disabled by omitting SENTRY_DSN.

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

Available Tools

25 tools
enrich_company_id_lookupA
Read-only

Look up a company by its internal numeric ID to get its professional network URL. Cost: 0 credits.

Inputs: id (required).

enrich_company_lookupA
Read-only

Look up a company by name or domain to find its professional network URL. Provide at least one of company_name or company_domain. Cost: 2 credits.

Inputs: company_name, company_domain, enrich_profile, company_location.

enrich_company_pictureA
Read-only

Get the profile picture URL of a company. Cost: 0 credits.

Inputs: company_profile_url (required).

enrich_company_profileA
Read-only

Get structured data of a company profile from its professional network URL. Returns company details including name, industry, size, description, specialties, and more. Cost: 1 credit.

Inputs: url (required), extra, exit_data, use_cache, +3 more.

enrich_credit_balanceA
Read-only

View your current Enrich Layer credit balance. Cost: 0 credits.

Inputs: no named parameters.

enrich_disposable_emailA
Read-only

Check if an email address is from a disposable email provider. Cost: 0 credits.

Inputs: email (required).

enrich_employee_countB
Read-only

Get the number of employees at a company. Cost: 1 credit.

Inputs: url (required), at_date, use_cache, coy_name_match, +2 more.

enrich_employee_listA
Read-only

List employees of a company. Returns profile URLs and basic info. Cost: 3 credits per employee returned.

Inputs: url (required), country, sort_by, page_size, +6 more.

enrich_job_countA
Read-only

Get the number of job postings matching your criteria. Cost: 2 credits.

Inputs: when, geo_id, keyword, job_type, +3 more.

enrich_job_profileA
Read-only

Get structured data of a job posting from its professional network URL. Returns job title, description, company, location, and more. Cost: 2 credits.

Inputs: url (required).

enrich_personal_contactA
Read-only

Get personal contact phone numbers of a person. Provide at least one of: profile_url, twitter_profile_url, or facebook_profile_url. Cost: 1 credit per contact number.

Inputs: page_size, profile_url, twitter_profile_url, facebook_profile_url.

enrich_personal_emailA
Read-only

Get personal email addresses of a person. Provide at least one of: profile_url, twitter_profile_url, or facebook_profile_url. Cost: 1 credit per email.

Inputs: page_size, profile_url, email_validation, twitter_profile_url, +1 more.

enrich_person_lookupB
Read-only

Look up a person by first name and company domain to find their professional network profile. Cost: 2 credits.

Inputs: first_name (required), company_domain (required), title, location, +3 more.

enrich_person_pictureA
Read-only

Get the profile picture URL of a person. Cost: 0 credits.

Inputs: person_profile_url (required).

enrich_person_profileA
Read-only

Get structured data of a person profile. Provide exactly one of: profile_url, twitter_profile_url, or facebook_profile_url. Returns experience, education, skills, and more. Cost: 1 credit.

Inputs: extra, skills, use_cache, profile_url, +4 more.

enrich_reverse_emailA
Read-only

Look up a person's professional network profile by their email address. Cost: 3 credits.

Inputs: email (required), lookup_depth, enrich_profile.

enrich_reverse_phoneA
Read-only

Look up a person's professional network profile by their phone number. Cost: 3 credits.

Inputs: phone_number (required).

enrich_role_lookupA
Read-only

Look up a person by their role at a company. Find who holds a specific title at a given company. Cost: 3 credits.

Inputs: role (required), company_name (required), enrich_profile.

enrich_school_profileA
Read-only

Get structured data of a school profile from its professional network URL. Cost: 1 credit.

Inputs: url (required), use_cache, live_fetch.

enrich_student_listA
Read-only

List students of a school. Returns profile URLs and basic info. Cost: 3 credits per student returned.

Inputs: school_url (required), country, sort_by, page_size, +4 more.

enrich_work_emailA
Read-only

Get the work email address of a person from their professional network profile URL. Cost: 3 credits.

Inputs: profile_url (required), callback_url.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 25 tools

    Disambiguation4/5

    Tool families are grouped by entity (company, person, school, job, credit), and each tool has a distinct input/output relationship. A few pairs like employee_list vs employee_search and company_lookup vs company_id_lookup could initially be confused, but their descriptions clarify different query inputs and result sets.

    Naming Consistency4/5

    All tools share the enrich_ prefix and most follow an enrich_<entity>_<operation> pattern, making navigation predictable. Minor deviations like enrich_reverse_email, enrich_work_email, and enrich_disposable_email omit the person entity, but the intent remains clear.

    Tool Count3/5

    The server covers multiple subdomains (companies, people, jobs, schools, credit) and nearly every tool has a distinct purpose. However, 25 tools is at the heavy end for an MCP server, making it feel more like a full API surface than a focused tool set.

    Completeness4/5

    Company, person, and job domains have strong lookup/search/profile coverage, including useful reverse and contact enrichment tools. The school domain is thinner: school_profile and student_list require a school URL, and there is no school lookup or search to discover that URL.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      Enables access to LinkedIn data including profile enrichment, company information, job searches, post analytics, and social interactions through the LinkedIn Api8 API with comprehensive search and data retrieval capabilities.
      51
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      Provides 19 B2B data enrichment tools for finding and validating emails, searching company profiles, analyzing job postings, discovering employee information, and researching advertising campaigns through the LeadMagic API.
      19
      26 npm
      7
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI tools to search and enrich B2B leads, including finding professional emails, company profiles, and filtering people and companies by various criteria.
      5
      468 npm
      MIT