Proxycurl MCP Server

by dbogardus

Proxycurl MCP Server

This is a Node.js-based Model Context Protocol (MCP) server that exposes Proxycurl's LinkedIn data API. It can be used with any MCP-compatible client (e.g., Claude Desktop) to access LinkedIn profile data, company information, and search for employees.

Features

  • Look up LinkedIn profiles by URL
  • Look up LinkedIn companies by URL
  • Find people by name and company
  • Search for employees at a company by role or keyword

Prerequisites

Installation

  1. Clone this repository:
    git clone https://github.com/dbogardus/proxycurl-mcp-server.git cd proxycurl-mcp-server
  2. Install dependencies:
    npm install
  3. Install the MCP server globally:
    npm install -g .

API Key Configuration

There are two ways to configure your Proxycurl API key:

Option 1: Environment Variable (for CLI usage)

Set the PROXYCURL_API_KEY environment variable:

export PROXYCURL_API_KEY=your_api_key_here

This is useful for development or when running the CLI directly.

To configure Claude Desktop to use this MCP server:

  1. Open Claude Desktop
  2. Click the settings (⚙️) icon in the top right
  3. Select the "Model Context Protocol" tab
  4. Click "Add MCP Configuration"
  5. Enter the following information:
    • Name: Proxycurl LinkedIn API
    • Command: npx
    • Args: ["proxycurl-mcp", "--api-key", "YOUR_ACTUAL_API_KEY"]

    Example configuration in claude_desktop_config.json:

    { "mcpServers": [ { "name": "Proxycurl LinkedIn API", "command": "npx", "args": ["proxycurl-mcp", "--api-key", "YOUR_ACTUAL_API_KEY"] } ] }
  6. Replace YOUR_ACTUAL_API_KEY with your Proxycurl API key (get one at https://nubela.co/proxycurl/)
  7. Click "Save"
  8. Restart Claude Desktop to apply changes

Usage

Once configured, your MCP client will be able to access LinkedIn data through the following tools:

  • get_person_profile: Get a person's LinkedIn profile by URL
    • Example: linkedinUrl: "https://www.linkedin.com/in/williamhgates"
    • Returns comprehensive profile data including experience, education, skills, certifications
  • get_company_profile: Get a company's LinkedIn profile by URL
    • Example: linkedinUrl: "https://www.linkedin.com/company/microsoft"
    • Returns detailed company data including description, size, industry, and specialties
  • lookup_person: Find a person's LinkedIn profile by name and company
    • Important: Requires both name and company parameters for best results
    • Example: name: "Bill Gates", company: "microsoft.com"
    • Returns LinkedIn URL for the person if found
  • search_employees: Search for employees at a company with role and keyword filters
    • Example: linkedinUrl: "https://www.linkedin.com/company/microsoft", role: "Software Engineer"
    • Returns list of employees with basic profile information
  • search_companies: Search for companies by name or domain
    • Example: query: "Microsoft" or query: "microsoft.com", limit: 5
    • Use this to find LinkedIn company URLs when you only have the company name
  • search_people: Search for people on LinkedIn by keywords, title, company, and location
    • Example: query: "data science", title: "Lead", companyDomain: "microsoft.com", location: "Seattle"
    • Use this for finding professionals based on skills, job titles, or industries
  • advanced_search_companies: Advanced search for companies with detailed filtering options
    • Example: country: "US", industry: "technology", employee_count_min: 1000, founded_after_year: 2010
    • Much more powerful than basic company search with many filtering options
    • Supports Boolean search expressions (AND, OR, NOT) in name and description fields
    • Can return up to 10,000,000 results per search

Development

To modify the server or add new features:

  1. Edit server.js to add or modify API endpoints
  2. Run npm install -g . to install your changes globally

Local Test Environment (test.env)

For local development and running test scripts (e.g., those in the tests/ directory) directly, you can use a test.env file in the project root to manage your API key and debug settings. This file is typically included in .gitignore and should not be committed to the repository.

Create a test.env file with the following content:

PROXYCURL_API_KEY=your_actual_proxycurl_api_key_here

Replace your_actual_proxycurl_api_key_here with your Proxycurl API key. The test scripts are often configured to load environment variables from this file if it exists.

License

MIT

-
security - not tested
-
license - not tested
-
quality - not tested

A Node.js-based Model Context Protocol server that exposes Proxycurl's LinkedIn data API, allowing MCP-compatible clients to access LinkedIn profile data, company information, and search for employees.

  1. Features
    1. Prerequisites
      1. Installation
        1. API Key Configuration
          1. Option 1: Environment Variable (for CLI usage)
          2. Option 2: Example: Claude Desktop Configuration (recommended for Claude Desktop users)
        2. Usage
          1. Development
            1. Local Test Environment (test.env)
          2. License
            ID: 5yqg8hn43n