Skip to main content
Glama

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

  • Node.js (v14 or higher)
  • A Proxycurl API key (get one at https://nubela.co/proxycurl/)
  • An MCP-compatible client (e.g., Claude Desktop)

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

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/dbogardus/proxycurl_mcp'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server