Skip to main content
Glama

Proxycurl MCP Server

by dbogardus
README.md4.93 kB
# 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: ```bash git clone https://github.com/dbogardus/proxycurl-mcp-server.git cd proxycurl-mcp-server ``` 2. Install dependencies: ```bash npm install ``` 3. Install the MCP server globally: ```bash 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: ```bash export PROXYCURL_API_KEY=your_api_key_here ``` This is useful for development or when running the CLI directly. ### Option 2: Example: Claude Desktop Configuration (recommended for Claude Desktop users) 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: ```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: ```bash 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

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