Skip to main content
Glama

Server Details

Enrich and search people and companies, resolve identities, and enrich IP addresses.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 8 of 8 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a clearly distinct operation: person enrichment, person identify, person search, company enrichment, company search, IP enrichment, job posting search, and autocomplete. Even the closely related person tools are explicitly differentiated by match semantics (1:1, up to 20 ranked, open-ended search).

Naming Consistency5/5

All tools follow a consistent pdl_<entity>_<operation> pattern with snake_case names, making the tool surface predictable. The only slight deviation is pdl_autocomplete, but it still fits the overall style cleanly.

Tool Count5/5

Eight tools is well-scoped for a people-data and company-data platform. Each tool covers a distinct data access pattern without redundancy or unnecessary bulk.

Completeness5/5

The tool set covers the core read-only workflows for the domain: person lookup, person identification, person search, company lookup, company search, IP enrichment, job posting search, and query-building autocomplete. No obvious dead ends or missing critical operations are apparent.

Available Tools

8 tools
pdl_autocompleteAutocomplete search valuesA
Read-only
Inspect

Get suggested values for a search field along with the number of available records for each — useful for building valid Person/Company Search queries. Free on all plans. API: GET /autocomplete.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoMax suggestions to return. Default 10.
textNoPartial text to get suggestions for, e.g. 'stanf'.
fieldYesField to autocomplete: e.g. company, school, location, region, country, industry, title, role, sub_role, skill, major.
prettyNoPretty-print the JSON response.
titlecaseNoTitlecase the returned data.
Behavior4/5

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

The annotation already marks this as read-only, and the description reinforces this with 'API: GET /autocomplete' and 'Free on all plans.' It also discloses return behavior by mentioning suggested values and available record counts, adding value beyond the structured annotation.

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?

Two concise sentences with no filler. The primary purpose is front-loaded, and the extra details (free tier, API method) are brief and useful for invoking the tool correctly.

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

Completeness5/5

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

Despite having no output schema, the description explains what the response contains (suggested values and record counts) and why the tool matters. For a low-complexity autocomplete tool with rich parameter schema and a read-only annotation, this is sufficient for an agent to invoke it correctly.

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 five parameters with examples. The description does not add much parameter-specific meaning, but it also does not need to because the schema carries the detail.

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

Purpose5/5

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

States a specific verb and resource: 'Get suggested values for a search field' with the added benefit of record counts. It is clearly distinct from the search/enrichment sibling tools because it is an autocomplete endpoint for building valid queries.

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

Usage Guidelines4/5

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

Explicitly mentions it is useful for building valid Person/Company Search queries, giving a clear context for when to use it. It does not formally name alternatives or exclusion conditions, but the intended usage is evident from the description.

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

pdl_company_enrichEnrich a companyA
Read-only
Inspect

Find the single best-matching company record. Requires a non-ambiguous input — name OR website OR ticker OR profile (website/ticker/profile resolve more reliably than name). Returns firmographics (industry, size, location, etc.) or a 404 'no match' body. API: GET /company/enrich.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCompany name, e.g. 'People Data Labs'.
pdl_idNoPDL id for a company record.
prettyNoPretty-print the JSON response.
regionNoCompany state / region.
tickerNoStock ticker for a public company, e.g. 'AAPL'.
countryNoCompany country.
profileNoCompany social profile URL, e.g. a LinkedIn company URL.
websiteNoCompany website, e.g. 'google.com' (most reliable).
localityNoCompany city / locality.
locationNoCompany location free-text.
titlecaseNoTitlecase the returned data.
Behavior4/5

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

With readOnlyHint already covering safety, the description adds useful behavioral disclosure: it returns firmographics or a 404 'no match' body and notes relative reliability of inputs. It does not contradict the read-only annotation.

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?

Four short sentences deliver purpose, prerequisites, return behavior, and endpoint with no filler. The core action is front-loaded.

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

Completeness4/5

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

For an 11-parameter read-only enrichment tool with no output schema, the description covers the essential call contract: input requirement, expected return shape, no-match failure mode, and API method. It could be more explicit about how multiple parameters combine and that pdl_id is also an accepted key.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds value by grouping accepted identifiers and ranking their reliability (website/ticker/profile over name). The omission of pdl_id from that identifier list is a minor gap.

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

Purpose5/5

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

The description opens with a specific operation, 'Find the single best-matching company record,' and identifies the resource and endpoint. 'Single best-matching' plus the firmographics return clearly distinguishes this enrichment tool from sibling search/identify tools.

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

Usage Guidelines4/5

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

It gives clear applicable context by requiring a 'non-ambiguous input' and names the preferred identifier types. It does not explicitly state when to prefer pdl_company_search or other siblings, so it stops short of full alternative routing.

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

pdl_ip_enrichEnrich an IP addressA
Read-only
Inspect

Enrich an IP address with its location, company, and (optionally) associated person data via a 1:1 match against PDL's IP dataset. API: GET /ip/enrich.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesThe IP address to enrich, e.g. '72.212.42.169'.
prettyNoPretty-print the JSON response.
titlecaseNoTitlecase the returned data.
return_personNoInclude associated person data if available.
min_confidenceNoMinimum confidence level required to return a match.
Behavior4/5

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

Annotations already mark the tool as read-only, and the description reinforces this with 'GET /ip/enrich'. It adds behavior beyond the schema: a 1:1 match against PDL's IP dataset, returning location/company data and optionally person data. It does not discuss rate limits or no-match behavior, but the readOnlyHint lowers the burden.

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 only two sentences and each one earns its place: the first states the purpose and output, the second gives the exact endpoint. There is no filler, redundancy, or repetition of the tool name/title.

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

Completeness4/5

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

For a read-only enrichment tool with one required parameter and fully documented optional parameters, the description covers what the tool does and how to invoke it. The lack of an output schema is partially mitigated by naming the returned data categories, though the exact response shape and no-match behavior are not specified.

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 baseline of 3 applies. The description's 'optionally associated person data' loosely maps to return_person, but it adds no extra semantics for ip, pretty, titlecase, or min_confidence beyond what the schema already provides.

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

Purpose5/5

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

The description specifies a concrete verb ('enrich'), resource ('IP address'), and outcome ('location, company, and (optionally) associated person data'). It also names the matching mode ('1:1 match') and the API endpoint, which clearly distinguishes it from the person/company search and identify siblings.

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

Usage Guidelines3/5

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

The description implies exact-match lookup ('1:1 match') and hints at a person-data use case, giving some context for when to call it. However, it never explicitly tells an agent when to prefer this tool over pdl_person_identify or the other search/enrich siblings, nor does it state any exclusions.

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

pdl_person_enrichEnrich a personA
Read-only
Inspect

Find the single best-matching person profile for a set of identifying attributes (name, email, phone, profile URL, company, etc.). Returns one record plus a likelihood score (1-10), or a 404 'no match' body. Use uniquely-identifying inputs for best results. API: GET /person/enrich.

ParametersJSON Schema
NameRequiredDescriptionDefault
lidNoLinkedIn numerical ID.
nameNoFull name, e.g. 'Sean Thorne'.
emailNoEmail address, or an array of email addresses.
phoneNoPhone number (E.164 or local).
pdl_idNoPDL persistent ID for a person record.
prettyNoPretty-print the JSON response.
regionNoState / region, e.g. 'california'.
schoolNoSchool name or website the person attended.
companyNoCompany name, website, or PDL company id the person works at.
countryNoCountry name, e.g. 'united states'.
profileNoSocial profile URL(s), e.g. a LinkedIn URL. String or array.
localityNoCity / locality, e.g. 'san francisco'.
locationNoFree-text location, e.g. 'San Francisco, CA, USA'.
requiredNoOnly return a match that contains these fields, e.g. 'emails AND mobile_phone'.
last_nameNoLast / family name.
titlecaseNoTitlecase the returned data (default false = lowercase).
birth_dateNoBirth date (yyyy or yyyy-mm-dd).
first_nameNoFirst / given name.
postal_codeNoPostal / ZIP code (assumed US if no country).
min_likelihoodNoOnly return a 200 if match confidence >= this (1-10).
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds meaningful behavioral detail: it returns one record with a likelihood score (1-10) or a 404 'no match' body, and clarifies the HTTP method. This goes beyond the annotation without contradicting it.

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 four short sentences with no filler: purpose, return behavior, usage guidance, and API endpoint all earn their place. The most important scoping information is front-loaded.

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

Completeness4/5

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

For a read-only enrichment endpoint with no output schema, the description adequately covers the return shape, match confidence behavior, and likely failure mode. With 20 parameters fully documented in the schema, the description does not need to enumerate them, though a concrete example of combining inputs would have added completeness.

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 all 20 parameters. The description adds a general conceptual framing ('identifying attributes') but no parameter-specific details beyond what the schema already provides, so the baseline of 3 is appropriate.

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 a specific action ('Find the single best-matching person profile') on a specific resource, and it names the kinds of identifying attributes accepted. It does not explicitly distinguish itself from the sibling pdl_person_identify or pdl_person_search, though 'enrich' and 'single best-matching' imply a distinct purpose.

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

Usage Guidelines3/5

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

The description advises using uniquely-identifying inputs for best results, which gives useful context about how to call the tool effectively. However, it does not state when to prefer this tool over pdl_person_identify, pdl_person_search, or pdl_company_enrich, nor does it mention any exclusion criteria.

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

pdl_person_identifyIdentify a personA
Read-only
Inspect

Given broad, possibly-ambiguous attributes about a person, return up to 20 strongly-related profiles ranked by match score. Sits between enrich (1:1) and search (open-ended) — ideal when you can't uniquely resolve someone. API: GET /person/identify.

ParametersJSON Schema
NameRequiredDescriptionDefault
lidNoLinkedIn numerical ID.
nameNoFull name, e.g. 'Sean Thorne'.
emailNoEmail address, or an array of email addresses.
phoneNoPhone number (E.164 or local).
pdl_idNoPDL persistent ID for a person record.
prettyNoPretty-print the JSON response.
regionNoState / region, e.g. 'california'.
schoolNoSchool name or website the person attended.
companyNoCompany name, website, or PDL company id the person works at.
countryNoCountry name, e.g. 'united states'.
profileNoSocial profile URL(s), e.g. a LinkedIn URL. String or array.
localityNoCity / locality, e.g. 'san francisco'.
locationNoFree-text location, e.g. 'San Francisco, CA, USA'.
last_nameNoLast / family name.
titlecaseNoTitlecase the returned data (default false = lowercase).
birth_dateNoBirth date (yyyy or yyyy-mm-dd).
first_nameNoFirst / given name.
postal_codeNoPostal / ZIP code (assumed US if no country).
Behavior4/5

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

Beyond the readOnlyHint annotation, the description discloses that it returns up to 20 profiles ranked by match score and gives the REST endpoint. It does not describe error or no-match behavior, but for a read-only identify endpoint the disclosed limits and ranking are useful added 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?

Three sentences front-load the core behavior, then the positioning statement, then the API route. Every sentence earns its place and there is no redundant restating of the tool title.

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

Completeness4/5

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

For a read-only tool with no output schema and a broad parameter set, the description covers return count, ranking, and when to choose it. It stops short of saying whether at least one attribute parameter is required to call the API, which is a minor gap given 0 required params are declared.

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 already describes all 18 parameters at 100% coverage, so the description does not need to repeat them. The phrase 'broad, possibly-ambiguous attributes' adds a little framing, but it does not add per-parameter meaning beyond the schema.

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

Purpose5/5

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

The description names a specific action — take broad person attributes and return up to 20 ranked profiles — and immediately contrasts with enrich (1:1) and search (open-ended). This is enough for an agent to tell pdl_person_identify apart from its siblings without opening schemas.

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

Usage Guidelines5/5

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

It explicitly says the tool sits between enrich and search and is 'ideal when you can't uniquely resolve someone', which tells the agent the selection condition versus the obvious alternatives. This is the strongest guidance possible for a sibling-disambiguation problem.

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

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables threat intelligence for SOC and DFIR workflows, including IOC enrichment, CVE and threat actor lookup, domain scanning, and account-based scan management.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Account-based marketing enrichment for AI agents. Enriches people and companies from email, LinkedIn URL, or domain with cited multi-source fields.
    63
    1
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.