This is a Model Context Protocol (MCP) server that wraps the People Data Labs API. It provides comprehensive access to People Data Labs' various data models and search capabilities.
- Person Enrichment: Enrich a person's profile with additional data
- People Search: Search for people matching specific criteria using SQL-like queries
- Bulk Person Enrichment: Enrich multiple person profiles in a single request
- Company Enrichment: Enrich a company profile with additional data
- Company Search: Search for companies matching specific criteria
- School Search: Search for schools matching specific criteria
- Location Search: Search for locations matching specific criteria
- Job Title Search: Search for job titles matching specific criteria
- Skill Search: Search for skills matching specific criteria
- Autocomplete: Get autocomplete suggestions for various fields
- Clone this repository
- Install dependencies:
npm install - Build the project:
npm run build - Configure your People Data Labs API key using one of the provided configuration scripts
This project includes scripts to automatically configure the MCP server for both Claude Desktop and VS Code:
npm run config:claude
npm run config:vscode
Both scripts will:
- Check if the configuration file exists and create it if needed
- Prompt you for your People Data Labs API key
- Add the MCP server configuration to the appropriate file
- Provide instructions for next steps
If you prefer to configure the MCP server manually, you need to add it to your MCP settings file. The location of this file depends on your environment:
- For VS Code:
%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json - For Claude Desktop:
%APPDATA%\Claude\claude_desktop_config.json
Add the following configuration to the mcpServers object in your MCP settings file:
{
"mcpServers": {
"peopledatalabs": {
"command": "node",
"args": ["path/to/peopledatalabs-mcp/build/index.js"],
"env": {
"PDL_API_KEY": "your-api-key-here"
}
}
}
}Replace:
path/to/peopledatalabs-mcp/build/index.jswith the actual path to the built index.js fileyour-api-key-herewith your actual People Data Labs API key
Enrich a person profile with additional data from People Data Labs.
Parameters:
email(string, optional): Email address of the personphone(string, optional): Phone number of the personname(string, optional): Full name of the personprofile(array of strings, optional): Social media profile URLs of the personlocation(string, optional): Location of the person (city, state, country)company(string, optional): Company name where the person workstitle(string, optional): Job title of the personmin_likelihood(number, optional): Minimum likelihood score (0-1) for the match
Note: At least one of email, phone, name, or profile must be provided.
Search for people matching specific criteria using SQL-like queries.
Parameters:
query(string, required): SQL-like query to search for peoplesize(number, optional): Number of results to return (max 100)
Enrich multiple person profiles in a single request.
Parameters:
requests(array, required): Array of person enrichment requests
Enrich a company profile with additional data.
Parameters:
name(string, optional): Name of the companywebsite(string, optional): Website of the companyprofile(array of strings, optional): Social media profile URLs of the companyticker(string, optional): Stock ticker symbol of the company
Note: At least one of name, website, profile, or ticker must be provided.
Search for companies matching specific criteria.
Parameters:
query(string, required): SQL-like query to search for companiessize(number, optional): Number of results to return (max 100)
Search for schools matching specific criteria.
Parameters:
query(string, required): SQL-like query to search for schoolssize(number, optional): Number of results to return (max 100)
Search for locations matching specific criteria.
Parameters:
query(string, required): SQL-like query to search for locationssize(number, optional): Number of results to return (max 100)
Search for job titles matching specific criteria.
Parameters:
query(string, required): SQL-like query to search for job titlessize(number, optional): Number of results to return (max 100)
Search for skills matching specific criteria.
Parameters:
query(string, required): SQL-like query to search for skillssize(number, optional): Number of results to return (max 100)
Get autocomplete suggestions for a partial query.
Parameters:
field(string, required): Field to autocomplete (company, school, title, skill, location)text(string, required): Partial text to autocompletesize(number, optional): Number of results to return (max 100)
<use_mcp_tool>
<server_name>peopledatalabs</server_name>
<tool_name>enrich_person</tool_name>
<arguments>
{
"email": "john.smith@example.com"
}
</arguments>
</use_mcp_tool>
<use_mcp_tool>
<server_name>peopledatalabs</server_name>
<tool_name>search_people</tool_name>
<arguments>
{
"query": "SELECT * FROM person WHERE location='San Francisco' AND job_title='Software Engineer'",
"size": 5
}
</arguments>
</use_mcp_tool>
<use_mcp_tool>
<server_name>peopledatalabs</server_name>
<tool_name>enrich_company</tool_name>
<arguments>
{
"name": "Apple Inc."
}
</arguments>
</use_mcp_tool>
<use_mcp_tool>
<server_name>peopledatalabs</server_name>
<tool_name>search_companies</tool_name>
<arguments>
{
"query": "SELECT * FROM company WHERE location='New York' AND industry='Finance'",
"size": 5
}
</arguments>
</use_mcp_tool>
<use_mcp_tool>
<server_name>peopledatalabs</server_name>
<tool_name>autocomplete</tool_name>
<arguments>
{
"field": "company",
"text": "Goog"
}
</arguments>
</use_mcp_tool>
Apache 2.0