Skip to main content
Glama
phxdev1

People Data Labs MCP Server

by phxdev1

人员数据实验室 MCP 服务器

这是一个包装People Data Labs API 的模型上下文协议 (MCP) 服务器。它提供对 People Data Labs 各种数据模型和搜索功能的全面访问。

特征

人员 API

  • 人员充实:通过附加数据丰富个人资料

  • 人物搜索:使用类似 SQL 的查询来搜索符合特定条件的人物

  • 批量人员充实:通过单个请求充实多个人员资料

公司 API

  • 公司信息丰富:通过附加数据丰富公司资料

  • 公司搜索:搜索符合特定条件的公司

附加数据模型

  • 学校搜索:搜索符合特定条件的学校

  • 位置搜索:搜索符合特定条件的位置

  • 职位名称搜索:搜索符合特定条件的职位名称

  • 技能搜索:搜索符合特定条件的技能

实用工具

  • 自动完成:获取各个字段的自动完成建议

Related MCP server: LinkedIn MCP Server

设置

  1. 克隆此存储库

  2. 安装依赖项:

    npm install
  3. 构建项目:

    npm run build
  4. 使用提供的配置脚本之一配置您的 People Data Labs API 密钥

配置

自动配置

该项目包含为 Claude Desktop 和 VS Code 自动配置 MCP 服务器的脚本:

对于 Claude 桌面:

npm run config:claude

对于 VS Code:

npm run config:vscode

这两个脚本都会:

  1. 检查配置文件是否存在,如果需要则创建

  2. 提示您输入 People Data Labs API 密钥

  3. 将 MCP 服务器配置添加到相应的文件

  4. 提供后续步骤的说明

手动配置

如果您希望手动配置 MCP 服务器,则需要将其添加到 MCP 设置文件中。此文件的位置取决于您的环境:

  • 对于 VS Code: %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json

  • 对于 Claude 桌面: %APPDATA%\Claude\claude_desktop_config.json

将以下配置添加到 MCP 设置文件中的mcpServers对象:

{
  "mcpServers": {
    "peopledatalabs": {
      "command": "node",
      "args": ["path/to/peopledatalabs-mcp/build/index.js"],
      "env": {
        "PDL_API_KEY": "your-api-key-here"
      }
    }
  }
}

代替:

  • path/to/peopledatalabs-mcp/build/index.js为构建的 index.js 文件的实际路径

  • your-api-key-here替换为您的实际 People Data Labs API 密钥

可用工具

人员 API 工具

enrich_person

利用人员数据实验室的附加数据来丰富个人资料。

参数:

  • email (字符串,可选):此人的电子邮件地址

  • phone (字符串,可选):此人的电话号码

  • name (字符串,可选):此人的全名

  • profile (字符串数组,可选):此人的社交媒体个人资料 URL

  • location (字符串,可选):人员所在地(城市、州、国家)

  • company (字符串,可选):此人工作的公司名称

  • title (字符串,可选):人员的职务

  • min_likelihood (数字,可选):匹配的最小可能性分数(0-1)

**注意:**必须提供email 、 phone 、 name或profile中的至少一个。

搜索人员

使用类似 SQL 的查询来搜索符合特定条件的人员。

参数:

  • query (字符串,必需):用于搜索人员的类似 SQL 的查询

  • size (数字,可选):返回的结果数(最多 100 个)

bulk_person_enrich

通过单个请求丰富多个人的资料。

参数:

  • requests (数组,必需):人员充实请求数组

公司 API 工具

enrich_company

使用附加数据来丰富公司简介。

参数:

  • name (字符串,可选):公司名称

  • website (字符串,可选):公司网站

  • profile (字符串数组,可选):公司的社交媒体资料 URL

  • ticker (字符串,可选):公司的股票代码

**注意:**必须提供name 、 website 、 profile或ticker中的至少一个。

搜索公司

搜索符合特定条件的公司。

参数:

  • query (字符串,必需):用于搜索公司的类似 SQL 的查询

  • size (数字,可选):返回的结果数(最多 100 个)

学校 API 工具

搜索学校

搜索符合特定条件的学校。

参数:

  • query (字符串,必需):用于搜索学校的类似 SQL 的查询

  • size (数字,可选):返回的结果数(最多 100 个)

位置 API 工具

搜索位置

搜索符合特定条件的位置。

参数:

  • query (字符串,必需):用于搜索位置的类似 SQL 的查询

  • size (数字,可选):返回的结果数(最多 100 个)

职位 API 工具

搜索职位

搜索符合特定条件的职位。

参数:

  • query (字符串,必需):用于搜索职位的类似 SQL 的查询

  • size (数字,可选):返回的结果数(最多 100 个)

技能 API 工具

搜索技能

搜索符合特定条件的技能。

参数:

  • query (字符串,必需):用于搜索技能的类似 SQL 的查询

  • size (数字,可选):返回的结果数(最多 100 个)

实用工具

自动完成

获取部分查询的自动完成建议。

参数:

  • field (字符串,必填):要自动完成的字段(公司、学校、职称、技能、地点)

  • text (字符串,必需):自动完成的部分文本

  • size (数字,可选):返回的结果数(最多 100 个)

示例用法

人员 API 示例

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

公司 API 示例

<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

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.

  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

Scored across 10 tools

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

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.
    2,434 npm
    5
    MIT