Skip to main content
Glama
phxdev1

People Data Labs MCP Server

by phxdev1

People Data Labs MCP Server

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.

Features

Person API

  • 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 API

  • Company Enrichment: Enrich a company profile with additional data

  • Company Search: Search for companies matching specific criteria

Additional Data Models

  • 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

Utilities

  • Autocomplete: Get autocomplete suggestions for various fields

Related MCP server: LinkedIn MCP Server

Setup

  1. Clone this repository

  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build
  4. Configure your People Data Labs API key using one of the provided configuration scripts

Configuration

Automatic Configuration

This project includes scripts to automatically configure the MCP server for both Claude Desktop and VS Code:

For Claude Desktop:

npm run config:claude

For VS Code:

npm run config:vscode

Both scripts will:

  1. Check if the configuration file exists and create it if needed

  2. Prompt you for your People Data Labs API key

  3. Add the MCP server configuration to the appropriate file

  4. Provide instructions for next steps

Manual Configuration

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.js with the actual path to the built index.js file

  • your-api-key-here with your actual People Data Labs API key

Available Tools

Person API Tools

enrich_person

Enrich a person profile with additional data from People Data Labs.

Parameters:

  • email (string, optional): Email address of the person

  • phone (string, optional): Phone number of the person

  • name (string, optional): Full name of the person

  • profile (array of strings, optional): Social media profile URLs of the person

  • location (string, optional): Location of the person (city, state, country)

  • company (string, optional): Company name where the person works

  • title (string, optional): Job title of the person

  • min_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_people

Search for people matching specific criteria using SQL-like queries.

Parameters:

  • query (string, required): SQL-like query to search for people

  • size (number, optional): Number of results to return (max 100)

bulk_person_enrich

Enrich multiple person profiles in a single request.

Parameters:

  • requests (array, required): Array of person enrichment requests

Company API Tools

enrich_company

Enrich a company profile with additional data.

Parameters:

  • name (string, optional): Name of the company

  • website (string, optional): Website of the company

  • profile (array of strings, optional): Social media profile URLs of the company

  • ticker (string, optional): Stock ticker symbol of the company

Note: At least one of name, website, profile, or ticker must be provided.

search_companies

Search for companies matching specific criteria.

Parameters:

  • query (string, required): SQL-like query to search for companies

  • size (number, optional): Number of results to return (max 100)

School API Tools

search_schools

Search for schools matching specific criteria.

Parameters:

  • query (string, required): SQL-like query to search for schools

  • size (number, optional): Number of results to return (max 100)

Location API Tools

search_locations

Search for locations matching specific criteria.

Parameters:

  • query (string, required): SQL-like query to search for locations

  • size (number, optional): Number of results to return (max 100)

Job Title API Tools

search_job_titles

Search for job titles matching specific criteria.

Parameters:

  • query (string, required): SQL-like query to search for job titles

  • size (number, optional): Number of results to return (max 100)

Skill API Tools

search_skills

Search for skills matching specific criteria.

Parameters:

  • query (string, required): SQL-like query to search for skills

  • size (number, optional): Number of results to return (max 100)

Utility Tools

autocomplete

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 autocomplete

  • size (number, optional): Number of results to return (max 100)

Example Usage

Person API Examples

<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>

Company API Examples

<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>

Autocomplete Example

<use_mcp_tool>
<server_name>peopledatalabs</server_name>
<tool_name>autocomplete</tool_name>
<arguments>
{
  "field": "company",
  "text": "Goog"
}
</arguments>
</use_mcp_tool>

License

Apache 2.0

Available Tools

10 tools
autocompleteB

Get autocomplete suggestions for a partial query

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldYesField to autocomplete (company, school, title, skill, location)
sizeNoNumber of results to return (max 100)
textYesPartial text to autocomplete

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Get' implies a read operation, it doesn't address authentication requirements, rate limits, error conditions, or what the suggestions look like (format, ranking, source). For a tool with no annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core functionality without any fluff. It's appropriately sized for a straightforward autocomplete tool and front-loads the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only autocomplete tool with good schema coverage but no output schema, the description provides the basic purpose but lacks important context. Without annotations or output schema, it should ideally mention what the suggestions look like, any limitations, or how results are ordered. It's minimally adequate but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain relationships between parameters, provide examples, or clarify edge cases. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('autocomplete suggestions') with the scope ('for a partial query'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like search_* tools, but the focus on autocomplete rather than full search provides some implicit distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like the various search_* sibling tools. There's no mention of prerequisites, limitations, or comparative scenarios, leaving the agent to infer usage context entirely from the tool name and parameters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bulk_person_enrichC

Enrich multiple person profiles in a single request

ParametersJSON Schema
NameRequiredDescriptionDefault
requestsYesArray of person enrichment requests

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states this is for enrichment but doesn't disclose what enrichment entails, whether it's read-only or creates/modifies data, rate limits, authentication requirements, or what happens when requests fail partially. The description is too minimal for a mutation-like operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single sentence with zero waste. Every word contributes to the core purpose. The description is front-loaded with the essential action and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, no output schema, and potentially complex enrichment behavior, the description is inadequate. It doesn't explain what enrichment means, what data is returned, error handling for bulk operations, or how this differs from individual enrichment. The minimal description leaves too many questions unanswered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single 'requests' parameter with its structure. The description adds no additional parameter information beyond implying bulk processing through 'multiple person profiles', which aligns with the array structure but doesn't provide format examples or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('enrich') and resource ('multiple person profiles') with the scope 'in a single request'. It distinguishes from the sibling 'enrich_person' by specifying bulk/multiple operations, but doesn't fully differentiate from other enrichment/search tools in terms of use case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'enrich_person' or search tools. The description implies batch processing but doesn't specify scenarios where bulk enrichment is preferred over individual enrichment or when search tools might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

enrich_companyC

Enrich a company profile with additional data

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName of the company
profileNoSocial media profile URLs of the company
tickerNoStock ticker symbol of the company
websiteNoWebsite of the company

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions 'enrich' but doesn't disclose if this is a read-only lookup, requires authentication, has rate limits, or what happens on failure. For a tool with no annotations, this is a significant gap in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. There's no wasted text, and it's appropriately sized for the tool's complexity, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a tool that likely returns enriched data, the description is incomplete. It doesn't explain what 'additional data' includes, the format of results, or error handling. For a data enrichment tool with these gaps, more context is needed to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear parameter descriptions in the schema. The tool description adds no additional meaning about parameters beyond implying they're inputs for enrichment. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the action ('enrich') and resource ('company profile'), but it's vague about what 'additional data' means. It doesn't differentiate from sibling tools like 'search_companies' or 'bulk_person_enrich', which might also provide company data. The purpose is understandable but lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'search_companies' or 'enrich_person'. The description implies it's for enhancing existing company profiles, but it doesn't specify prerequisites, context, or exclusions, leaving the agent to guess based on tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

enrich_personC

Enrich a person profile with additional data from People Data Labs

ParametersJSON Schema
NameRequiredDescriptionDefault
companyNoCompany name where the person works
emailNoEmail address of the person
locationNoLocation of the person (city, state, country)
min_likelihoodNoMinimum likelihood score (0-1) for the match
nameNoFull name of the person
phoneNoPhone number of the person
profileNoSocial media profile URLs of the person
titleNoJob title of the person

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'enrich' but doesn't specify whether this is a read-only lookup or a write operation, what data sources are used, potential rate limits, or error handling. This leaves critical behavioral traits undefined for a tool with 8 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded with the core action and resource, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no output schema, and no annotations), the description is insufficient. It doesn't explain what 'enrich' entails, the type of data returned, or how to interpret results like 'min_likelihood'. For a data-fetching tool with multiple inputs, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so the schema already documents all 8 parameters thoroughly. The description adds no additional parameter semantics beyond implying that 'additional data' is fetched, which doesn't enhance the schema's details. This meets the baseline of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('enrich') and resource ('person profile') with the source ('People Data Labs'), making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'bulk_person_enrich' or 'search_people', which limits the score to 4 instead of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'bulk_person_enrich' or 'search_people'. It lacks context about prerequisites, such as which parameters are required or how to choose between them, leaving the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_companiesC

Search for companies matching specific criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSQL-like query to search for companies
sizeNoNumber of results to return (max 100)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It states the tool searches based on 'specific criteria' but doesn't describe what those criteria entail, how results are returned (e.g., pagination, sorting), error conditions, or performance characteristics like rate limits. For a search tool with zero annotation coverage, this is insufficient to inform the agent adequately.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for a simple search tool, avoiding unnecessary elaboration. Every word earns its place by conveying essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a search operation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the search returns (e.g., company details, IDs), how results are structured, or any limitations beyond the schema's 'size' constraint. For a tool that likely returns structured data, more context is needed to guide the agent effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters ('query' and 'size') well-documented in the schema. The description adds no additional meaning beyond what the schema provides—it doesn't explain the 'SQL-like query' format or provide examples, nor does it clarify the 'size' parameter's role in result management. Baseline 3 is appropriate as the schema handles the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Search for companies matching specific criteria', which includes a specific verb ('Search') and resource ('companies'). It distinguishes this tool from siblings like 'search_people' or 'search_schools' by specifying the company domain, though it doesn't explicitly differentiate from similar search tools in terms of scope or methodology.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose 'search_companies' over 'autocomplete' or 'enrich_company', nor does it specify prerequisites, exclusions, or contextual triggers for usage. This lack of comparative guidance leaves the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_job_titlesC

Search for job titles matching specific criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSQL-like query to search for job titles
sizeNoNumber of results to return (max 100)

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions 'matching specific criteria' but doesn't disclose key traits like whether this is a read-only operation, how results are returned (e.g., pagination, sorting), or any limitations (e.g., rate limits, authentication needs). The description is too vague to inform agent behavior effectively.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action ('Search for job titles'), making it easy to parse. However, it could be more structured by explicitly separating purpose from constraints, but its brevity is appropriate for the minimal content provided.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with 2 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, result format, and usage context. While the schema covers parameters well, the description fails to provide sufficient context for an agent to understand how to invoke and interpret this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter semantics beyond what the input schema provides. Schema description coverage is 100%, with clear documentation for 'query' (SQL-like search) and 'size' (result count with max 100). Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate or add extra meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search for job titles matching specific criteria' clearly states the verb ('search') and resource ('job titles'), but it's vague about what 'specific criteria' entails. It distinguishes from siblings like 'search_people' or 'search_companies' by focusing on job titles, but lacks specificity about scope or functionality beyond basic search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or compare to sibling tools like 'search_skills' or 'autocomplete' for related tasks. Usage is implied by the name and description alone, with no explicit context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_locationsC

Search for locations matching specific criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSQL-like query to search for locations
sizeNoNumber of results to return (max 100)

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'search' but doesn't specify if this is read-only, has rate limits, requires authentication, or details the return format. For a search tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, clearly stating the tool's function without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain behavioral traits, return values, or usage context, leaving the agent with insufficient information for effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters (query and size) with details like SQL-like syntax and max/min values. The description adds no additional meaning beyond what the schema provides, but the high coverage justifies a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool searches for locations with specific criteria, which clarifies the verb (search) and resource (locations). However, it doesn't distinguish this from sibling tools like search_companies or search_people, leaving ambiguity about what makes location searches unique. The purpose is clear but lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, exclusions, or comparisons to sibling tools like autocomplete or other search functions. This leaves the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_peopleC

Search for people matching specific criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSQL-like query to search for people
sizeNoNumber of results to return (max 100)

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but only states the basic action. It doesn't cover aspects like whether this is a read-only operation, potential rate limits, authentication needs, or what the response format looks like (e.g., pagination, result structure). This leaves significant gaps for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, clearly stating the tool's purpose without unnecessary elaboration, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, result handling, and differentiation from siblings, failing to provide enough context for effective agent use despite the concise structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the input schema already documents both parameters ('query' as SQL-like search and 'size' with constraints). The description adds no additional meaning beyond this, such as examples of query syntax or usage tips, resulting in a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose as searching for people with specific criteria, which is clear but vague. It uses a specific verb ('search') and resource ('people'), but doesn't distinguish from sibling tools like 'enrich_person' or 'search_companies', leaving ambiguity about scope and differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose 'search_people' over sibling tools like 'enrich_person' or 'search_companies', nor does it specify prerequisites or exclusions, leaving usage context unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_schoolsC

Search for schools matching specific criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSQL-like query to search for schools
sizeNoNumber of results to return (max 100)

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions 'search' but doesn't disclose behavioral traits such as read-only vs. mutative nature, authentication needs, rate limits, or result format. The description is too minimal to compensate for the lack of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, stating the core action without unnecessary elaboration, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what the search returns, how results are structured, or behavioral aspects like pagination. For a search tool with two parameters, this leaves significant gaps in understanding the tool's operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents the two parameters ('query' and 'size'). The description adds no meaning beyond the schema, as 'matching specific criteria' is vague and doesn't clarify parameter usage or syntax. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose ('Search for schools') with the resource ('schools') and verb ('search'), but it's vague about what 'matching specific criteria' entails. It doesn't differentiate from sibling tools like 'search_companies' or 'search_people' beyond the resource type, lacking specificity in scope or method.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, context for 'specific criteria', or compare to siblings like 'autocomplete' or other search tools, leaving the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_skillsC

Search for skills matching specific criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSQL-like query to search for skills
sizeNoNumber of results to return (max 100)

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'search' but doesn't specify whether this is a read-only operation, if it requires authentication, rate limits, or what the output format might be. It lacks critical behavioral context for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's appropriately sized for a simple search tool and front-loads the core action ('search for skills').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'skills' are in this context, how results are returned, or any behavioral traits. For a search tool with two parameters, it lacks sufficient context for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting the 'query' as a SQL-like string and 'size' with numeric constraints. The description adds no additional parameter semantics beyond what's in the schema, so it meets the baseline for high schema coverage without compensating value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search for skills matching specific criteria' states a clear verb ('search') and resource ('skills'), but it's vague about what 'skills' means in this context and doesn't distinguish from sibling tools like search_people or search_companies. It provides basic purpose but lacks specificity about the domain or scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives like search_people or search_companies, nor does it mention prerequisites or exclusions. It's a generic statement that leaves the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 10 tool updatesv1.0.0
    • First observedautocomplete
    • First observedbulk_person_enrich
    • First observedenrich_company
    • First observedenrich_person
    • First observedsearch_companies
    • First observedsearch_job_titles
    • First observedsearch_locations
    • First observedsearch_people
    • First observedsearch_schools
    • First observedsearch_skills

TDQS

B3.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity. The tools are organized around specific resources (person, company, job titles, locations, schools, skills) and actions (enrich, search, autocomplete, bulk), making it easy for an agent to select the right tool for each task without confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case. The verbs are clear and appropriate (enrich, search, autocomplete, bulk_person_enrich), and nouns specify the target resource, creating a predictable and readable naming convention throughout the set.

Tool Count5/5

With 10 tools, this server is well-scoped for its purpose of data enrichment and search. Each tool earns its place by covering distinct aspects of the People Data Labs domain, such as enriching person/company profiles and searching across various entities, without being overly sparse or bloated.

Completeness5/5

The tool set provides complete coverage for the domain of data enrichment and search. It includes enrichment for both person and company profiles, bulk operations for efficiency, and comprehensive search capabilities across multiple entities (people, companies, job titles, locations, schools, skills), with no obvious gaps that would hinder agent workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A Model Context Protocol implementation that bridges language models with LinkedIn's API, enabling profile access, posting content, searching people, and retrieving company information through standardized tools.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables interaction with FireHydrant's incident management API through the Model Context Protocol. Provides programmatic access to FireHydrant's features for managing incidents, retrospectives, and operational workflows.
    6,547
    5
    MIT

Latest Blog Posts

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/phxdev1/peopledatalabs-mcp'

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