Skip to main content
Glama
datalayer-sh

DataLayer MCP

by datalayer-sh

DataLayer MCP Server

Give your AI agent access to 60M+ companies and 300M+ verified contacts. Enrich leads, find work emails, discover tech stacks, and identify buying intent — directly from Claude, Cursor, Windsurf, or any MCP-compatible AI agent.

npm version License: MIT

🚀 New: Hosted MCP server. The recommended way to connect to DataLayer is now the hosted remote MCP server at https://api.datalayer.sh/mcp. It uses Streamable HTTP (MCP spec 2025-11-25) and OAuth 2.1 + Dynamic Client Registration — paste the URL into Claude.ai, click Approve, done. No install, no API key in the agent. See "Hosted MCP Server: One URL, OAuth, No Install" for the full setup. This npm package (stdio transport) is still maintained as a fallback for environments that can't reach a remote server.


URL: https://api.datalayer.sh/mcp

Client

Setup

Claude.ai

Settings → Connectors → Add custom connector → paste URL → click Approve

Claude Code

claude mcp add datalayer https://api.datalayer.sh/mcp --transport http

Cursor

~/.cursor/mcp.json{ "mcpServers": { "datalayer": { "url": "https://api.datalayer.sh/mcp" } } }

Headless

Authorization: Bearer sk_live_... on POST /mcp

OAuth metadata (RFC 9728): https://api.datalayer.sh/.well-known/oauth-protected-resource

The rest of this README covers the legacy stdio package for environments where the hosted server isn't reachable.


Related MCP server: Prospeo MCP Server

What is this (the stdio package)?

DataLayer is a B2B data enrichment API. This MCP server lets AI agents call it directly — no code, no HTTP requests, just natural language.

Ask your agent:

"Find the VP of Engineering at Stripe and get their verified email"

"Show me all SaaS companies in the US using Salesforce with 50+ employees that are actively hiring"

"What's the tech stack at HubSpot? Do they use AWS or GCP?"

"Find companies spending $10K+/mo on Google Ads with employee growth above 15%"

The agent calls the right DataLayer tool, gets structured data back, and reasons about it.


Install

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "datalayer": {
      "command": "npx",
      "args": ["-y", "@datalayer-sh/mcp"],
      "env": {
        "DATALAYER_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "datalayer": {
      "command": "npx",
      "args": ["-y", "@datalayer-sh/mcp"],
      "env": {
        "DATALAYER_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}

Windsurf / Other MCP Clients

Same config pattern. Set the DATALAYER_API_KEY environment variable and run npx -y @datalayer-sh/mcp via stdio.

Get your API key

  1. Sign up at datalayer.sh (free, no credit card)

  2. Go to Dashboard → API Keys → Create key

  3. Copy the sk_live_... key into your config

10 free credits included — enough to test every tool.


What Can You Do?

Find People & Emails

Tool

What it does

Credits

enrich_person

Get name, verified email, phone, job title, seniority, LinkedIn URL for any contact

1

lookup_person

Find a person by email, phone number, LinkedIn URL, or name + company

1

search_people

Search 300M+ contacts by title, seniority, function, company, location

1/result

company_employees

List decision-makers at any company, filtered by role and seniority

1

Example: "Find all VPs of Engineering at Shopify with verified emails"

Research Companies

Tool

What it does

Credits

enrich_company

Full company profile — industry, headcount, revenue, funding, tech stack, traffic, ad spend

1

lookup_company

Find a company by domain, LinkedIn URL, or name

1

search_companies

Search 60M+ companies by industry, size, tech stack, funding, traffic, growth

1/result

Example: "Show me Series A fintech companies in the US with 50-200 employees"

Company Intelligence

Tool

What it does

Credits

company_technographics

Full tech stack across 16 categories — CRM, cloud, marketing automation, analytics, etc.

1

company_headcount

Department breakdown (engineering, sales, marketing, etc. — 15 departments)

1

company_jobs

Open roles by department — a hiring intent signal

1

Example: "What CRM does Notion use? What about their marketing automation stack?"

Buying Intent Signals

Tool

What it does

Credits

find_intent_signals

Companies ranked by buying intent — web traffic, Google ad spend, hiring velocity, employee growth, recent funding

5/result

Example: "Find companies in the SaaS industry that are spending heavily on Google Ads and growing fast"


Use Cases

For Sales & GTM Teams

  • Build targeted lead lists: "Find CTOs at SaaS companies with 50-500 employees using AWS"

  • Enrich CRM data: Pipe company + contact data into HubSpot or Salesforce

  • Identify buying intent: Find companies actively hiring + spending on ads = ready to buy

  • Competitor analysis: "What tech stack does [competitor] use? Who are their key hires?"

For Recruiters

  • Source candidates: "Find senior engineers at companies using React and TypeScript in San Francisco"

  • Map org charts: Get headcount by department for any company

  • Track hiring signals: Companies with many open roles = growing = recruiting opportunities

For Investors & Analysts

  • Due diligence: Full company profile with funding history, growth rate, tech stack

  • Deal sourcing: "Find recently funded AI companies with high employee growth"

  • Market mapping: Search by industry, size, technology, and geography

For Developers & AI Agents

  • Automate prospecting: Build Claude Code pipelines that enrich leads automatically

  • n8n / Make workflows: Trigger enrichment from any automation platform

  • CRM enrichment bots: Agents that keep your CRM data fresh and complete


Data Coverage

Metric

Coverage

Companies

60M+ worldwide

Contacts

300M+ verified professionals

Emails

Verified with 90-day re-verification cycle

Phone numbers

Direct dials and mobile numbers

Tech stack

16 categories (CRM, cloud, marketing, analytics, etc.)

Signals

Google Ad Spend, web traffic, employee growth, funding, hiring velocity

Geography

Global — US, EU, APAC, LATAM


How Credits Work

  • 1 credit = 1 enrichment (company or person)

  • Search results: 1 credit per result returned

  • Intent signals: 5 credits per result (premium data)

  • Failed lookups (404): Free — no credits consumed

  • Credits never expire on top-up packs

10 free credits on signup. Plans from $49/mo.


Environment Variables

Variable

Required

Description

DATALAYER_API_KEY

Yes

Your API key from datalayer.sh

DATALAYER_API_URL

No

Override API base URL (default: https://api.datalayer.sh)


Why DataLayer?

DataLayer

Apollo

Clay

ZoomInfo

MCP server

Yes

Limited

No

No

REST API

Yes

Limited

No

Limited

Intent signals

Yes (unique)

Some

No

Yes

Pricing

From $49/mo

$49+/user/mo

$185+/mo

$6K+/yr

Credits expire

Never

Monthly

Monthly

Annual

Legal risk

Licensed data

OK

Varies

OK

Failed lookups

Free

Charged

Charged

Charged



FAQ

Do I need to write code to use this? No. Install the MCP server, add your API key, and talk to your AI agent in natural language. The agent handles everything.

What AI tools does this work with? Any MCP-compatible client: Claude Desktop, Claude Code, Cursor, Windsurf, Cline, Continue, and more.

Is the data scraped from LinkedIn? No. DataLayer uses licensed, GDPR/CCPA-compliant data. No scraping, no legal risk. (ProxyCurl was shut down for scraping — we don't have that problem.)

How fresh is the data? Contacts are re-verified on a 90-day cycle. Company data is refreshed monthly.

What happens if a lookup returns no results? You're not charged. Failed lookups (404s) are free.


Contributing

Issues and pull requests are welcome. Please open an issue first to discuss what you'd like to change.

License

MIT

Available Tools

11 tools
company_employeesC

List employees at a company, filterable by seniority and function.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany domain (e.g., stripe.com)
seniorityNoFilter by seniority (e.g., VP, Director, C-Suite)
functionNoFilter by function (e.g., Engineering, Sales)
has_emailNoOnly return people with an email
pageNoPage number (default 1)
per_pageNoResults per page (max 100, default 25)

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 full burden but only states it's a listing/filtering operation. It doesn't disclose behavioral traits like pagination behavior (implied by 'page' and 'per_page' parameters but not explained), rate limits, authentication requirements, data freshness, or what happens when no results are found. The description adds minimal context beyond the basic 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?

Single sentence, front-loaded with the core purpose, zero waste. Every word earns its place by specifying the action, resource, and key filtering capabilities 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?

For a tool with 6 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain the return format (e.g., list of employee objects with what fields), pagination behavior, error conditions, or how filtering logic works (AND/OR). Given the complexity and lack of structured data, the description should provide more context to be complete.

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 6 parameters thoroughly. The description mentions 'filterable by seniority and function', which aligns with two parameters but doesn't add meaning beyond what the schema provides (e.g., explaining how filters combine or providing examples). With high schema coverage, baseline 3 is appropriate as the description doesn't significantly enhance parameter understanding.

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 action ('List employees') and resource ('at a company'), with specific filtering capabilities ('filterable by seniority and function'). It distinguishes from some siblings like 'company_headcount' or 'company_jobs' by focusing on individual employees rather than aggregate counts or job postings, though it doesn't explicitly differentiate from 'search_people' which might have overlapping functionality.

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 explicit guidance on when to use this tool versus alternatives like 'search_people', 'lookup_person', or 'enrich_person'. The description mentions filtering by seniority and function, but doesn't specify prerequisites (e.g., needing a company domain) or when other tools might be more appropriate for different use cases.

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

company_headcountC

Get headcount breakdown by department (15 departments) for a company.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany domain (e.g., stripe.com)

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 the full burden of behavioral disclosure. It mentions 'Get headcount breakdown', implying a read-only operation, but does not specify data sources, accuracy, rate limits, authentication needs, or potential errors. This leaves significant gaps in understanding how the tool behaves beyond its basic function.

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 purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly, and every part of the sentence contributes to understanding the tool's function.

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 lack of annotations and output schema, the description is incomplete. It does not explain what the output looks like (e.g., format, structure of the breakdown), potential limitations, or how it integrates with sibling tools. For a tool with no structured behavioral data, more detail is needed to fully guide the agent.

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, with the 'domain' parameter clearly documented. The description adds minimal value by implying the domain is for a company but does not provide additional context like format examples beyond the schema or explain how the domain maps to the headcount data. This meets the baseline 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 action ('Get headcount breakdown') and resource ('by department for a company'), specifying the scope of 15 departments. However, it does not explicitly differentiate from sibling tools like 'company_employees' or 'lookup_company', which might provide overlapping or related company data, leaving some ambiguity in tool selection.

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 such as 'company_employees' or 'lookup_company'. It lacks context on prerequisites, exclusions, or specific scenarios where this tool is preferred, leaving the agent to infer usage based on the purpose alone.

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

company_jobsB

Get open job counts by department — a hiring intent signal.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany domain (e.g., stripe.com)

TDQS

B3.1/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 the tool gets data but doesn't disclose behavioral traits like whether it's read-only, requires authentication, has rate limits, or what format the output returns. The phrase 'hiring intent signal' adds some context but lacks operational details needed for safe invocation.

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 extremely concise with two short phrases that directly convey purpose and context. Every word earns its place: 'Get open job counts by department' states the action, and '— a hiring intent signal' adds value without redundancy. It's front-loaded and wastes no space.

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?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on output format, error handling, or integration with sibling tools. Without annotations or output schema, more behavioral context would improve completeness for reliable 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?

Schema description coverage is 100%, with the single parameter 'domain' fully documented in the schema. The description doesn't add any parameter-specific information beyond what the schema provides, such as examples or constraints. Baseline 3 is appropriate since the schema handles parameter documentation adequately.

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: 'Get open job counts by department' specifies the verb (get) and resource (open job counts by department). It distinguishes from siblings like 'company_employees' or 'company_headcount' by focusing on job openings rather than employee data. However, it doesn't explicitly differentiate from 'find_intent_signals' which might overlap conceptually.

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 minimal usage guidance with '— a hiring intent signal' hinting at context, but it doesn't specify when to use this tool versus alternatives like 'company_headcount' for total employees or 'find_intent_signals' for broader intent analysis. No explicit when-not-to-use or prerequisite information is provided.

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

company_technographicsC

Get the full tech stack of a company across 16 categories — CRM, cloud, marketing automation, analytics, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany domain (e.g., stripe.com)

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 full burden for behavioral disclosure. It states what the tool does (retrieves tech stack) but provides no information about authentication requirements, rate limits, data freshness, error conditions, or response format. For a data retrieval tool with zero annotation coverage, this leaves significant behavioral gaps unaddressed.

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 appropriately concise - a single sentence that communicates the core functionality efficiently. It's front-loaded with the main purpose and includes helpful examples. No wasted words or redundant information, though it could potentially benefit from slightly more structure given the behavioral gaps.

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 data retrieval tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what the return format looks like, whether the response includes all 16 categories or just some, how comprehensive the 'full tech stack' claim is, or any limitations. Given the complexity of tech stack data and lack of structured output documentation, more context is needed.

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 information beyond what the schema already provides. With 100% schema description coverage (the domain parameter is well-documented in the schema), the baseline is 3. The description doesn't elaborate on domain format requirements, validation rules, or edge cases, so it doesn't add value beyond the structured schema.

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: 'Get the full tech stack of a company across 16 categories' with specific examples (CRM, cloud, marketing automation, analytics). It distinguishes from siblings like company_employees or company_headcount by focusing on technology rather than personnel. However, it doesn't explicitly differentiate from enrich_company which might also provide tech stack information.

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. With siblings like enrich_company, lookup_company, and search_companies that might provide overlapping or complementary information, there's no indication of when this specific tech stack retrieval tool is most appropriate. No prerequisites or exclusions are mentioned.

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

enrich_companyB

Get a full company profile with signals — industry, headcount, revenue, tech stack, funding, traffic, Google ad spend, employee growth rate.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoCompany domain (e.g., stripe.com)
linkedin_urlNoCompany LinkedIn URL
nameNoCompany name
locationNoCity/country to disambiguate name lookup

TDQS

B3.3/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 describes what data is retrieved but lacks details on permissions, rate limits, data freshness, or response format. For a tool with no annotation coverage, this is a significant gap in transparency about how the tool behaves.

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 lists key data points without unnecessary words. It's front-loaded with the core purpose and provides specific examples of signals, making it easy to scan and understand quickly.

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?

Given no annotations and no output schema, the description is adequate for a read-only tool but incomplete. It covers what data is retrieved but lacks details on response structure, error handling, or limitations. For a tool with 4 parameters and no structured output, more context would improve 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 already documents all four parameters. The description doesn't add any parameter-specific details beyond what the schema provides, such as usage examples or constraints. Baseline 3 is appropriate when the schema handles parameter documentation.

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 with a specific verb ('Get') and resource ('full company profile'), listing specific data points like industry, headcount, revenue, and tech stack. It distinguishes from siblings like company_employees or company_headcount by offering a comprehensive profile rather than specific data slices, though it doesn't explicitly name alternatives.

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 usage for obtaining a broad company profile with signals, but it doesn't explicitly state when to use this tool versus alternatives like lookup_company or search_companies. No guidance on prerequisites, exclusions, or specific contexts is provided, leaving usage somewhat open to interpretation.

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

enrich_personB

Get a full contact profile — name, email, phone, job title, seniority, LinkedIn, current employer.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoEmail address
linkedin_urlNoLinkedIn profile URL
first_nameNoFirst name (combine with domain)
last_nameNoLast name
domainNoCompany domain (use with first_name)

TDQS

B3.3/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 what data is returned but doesn't disclose behavioral traits like rate limits, authentication needs, data freshness, or error conditions. The description is purely functional without operational 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?

Single sentence efficiently lists the tool's purpose and output fields. No wasted words, front-loaded with the core action ('Get a full contact profile'). Every element earns its place by specifying the scope of enrichment.

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 enrichment tool with no annotations and no output schema, the description adequately covers what data is returned. However, it lacks context about data sources, accuracy, or limitations given the tool's complexity and the absence of structured behavioral hints.

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 5 parameters. The description adds no parameter-specific information beyond implying that email or LinkedIn URL might be used to fetch the profile, which is already clear from parameter names. Baseline 3 is appropriate when schema does the heavy lifting.

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 clearly states the verb 'Get' and the resource 'full contact profile', listing specific data fields (name, email, phone, job title, seniority, LinkedIn, current employer). It distinguishes from siblings like lookup_person or search_people by emphasizing comprehensive enrichment rather than basic lookup.

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 explicit guidance on when to use this tool versus alternatives like lookup_person or search_people. The description implies it provides richer data but doesn't specify prerequisites, constraints, or trade-offs compared to sibling tools.

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

find_intent_signalsA

Find companies showing buying intent — scored by web traffic, Google ad spend, hiring velocity, employee growth, and funding. Costs 5 credits per result.

ParametersJSON Schema
NameRequiredDescriptionDefault
min_monthly_trafficNoMin monthly web traffic
min_google_adspendNoMin monthly Google ad spend ($)
min_open_rolesNoMin total open roles across departments
min_employee_growth_rateNoMin employee growth rate (0.1 = 10%)
min_total_fundingNoMin total funding ($)
industriesNoFilter by industries
country_codesNoISO country codes
pageNoPage number (default 1)
per_pageNoResults per page (max 100, default 25)

TDQS

A3.7/5.0
Behavior4/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 effectively reveals key traits: the tool returns scored results based on multiple intent signals and has a cost implication ('5 credits per result'). However, it lacks details on rate limits, authentication needs, error handling, or what 'scored' means operationally (e.g., ranking methodology).

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 extremely concise and front-loaded: the first clause states the core purpose, followed by scoring criteria and cost information. Every sentence earns its place with no wasted words, making it easy for an agent to quickly grasp the tool's function and implications.

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?

Given the complexity (9 parameters, no output schema, no annotations), the description is minimally complete. It covers purpose, scoring dimensions, and cost, but lacks details on output format, error conditions, or how results are structured (e.g., pagination behavior implied by parameters but not described). For a tool with significant parameter complexity and no output schema, more contextual information would be beneficial.

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 9 parameters thoroughly. The description adds no parameter-specific semantics beyond implying that parameters filter or score intent signals (e.g., 'scored by web traffic' relates to 'min_monthly_traffic'). This meets the baseline for high schema coverage but doesn't enhance understanding beyond the schema.

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: 'Find companies showing buying intent' with specific scoring criteria (web traffic, Google ad spend, hiring velocity, employee growth, funding). It distinguishes itself from siblings like 'search_companies' by focusing on intent signals rather than general search, though it doesn't explicitly contrast with all 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 usage for finding companies with buying intent based on specific metrics, but provides no explicit guidance on when to use this tool versus alternatives like 'search_companies' or 'lookup_company'. The cost disclosure ('Costs 5 credits per result') offers some practical context but not comparative usage rules.

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

lookup_companyC

Find a specific company by domain, LinkedIn URL, or name.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoCompany domain (e.g., stripe.com)
linkedin_urlNoCompany LinkedIn URL
nameNoCompany name
locationNoCity/country to disambiguate name lookup

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 full burden but only states what the tool does, not how it behaves. It lacks information about response format, error handling, rate limits, authentication needs, or whether it's read-only or has side effects.

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 wasted words. It's appropriately sized for a simple lookup 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.

Completeness2/5

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

For a lookup tool with no annotations and no output schema, the description is insufficient. It doesn't explain what information is returned, how results are structured, or behavioral aspects like whether all parameters are required or how conflicts between them are resolved.

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 four parameters thoroughly. The description adds minimal value by listing three of the four parameters (domain, LinkedIn URL, name) but doesn't explain the 'location' parameter or provide additional context beyond the schema.

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 action ('Find') and resource ('a specific company'), specifying three lookup methods (domain, LinkedIn URL, or name). It distinguishes from siblings like 'search_companies' by focusing on specific lookup rather than broader search, though it doesn't explicitly mention this 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?

No guidance is provided about when to use this tool versus alternatives like 'search_companies' or 'enrich_company'. The description implies it's for finding specific companies but doesn't clarify use cases, prerequisites, or exclusions.

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

lookup_personA

Find a specific person by email, phone, LinkedIn URL, or name + company domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoEmail address
phoneNoPhone number
linkedin_urlNoLinkedIn profile URL
nameNoFull name (combine with domain)
domainNoCompany domain (use with name)

TDQS

A3.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 what the tool does but lacks behavioral details like whether it returns partial matches, error handling for invalid inputs, rate limits, or authentication needs. For a lookup tool with zero annotation coverage, this is a significant gap.

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 front-loads the purpose and clearly lists the search criteria, making it easy to parse.

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?

Given no annotations and no output schema, the description is minimal but covers the core purpose. However, for a lookup tool with 5 parameters, it lacks details on return values, error cases, and behavioral constraints, making it only adequate.

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 5 parameters. The description lists the parameters but doesn't add meaningful semantics beyond what the schema provides (e.g., format examples, precedence rules). Baseline 3 is appropriate when schema does the heavy lifting.

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 clearly states the verb 'Find' and the resource 'a specific person', specifying the search criteria (email, phone, LinkedIn URL, or name+domain). It distinguishes from siblings like 'search_people' (likely broader search) and 'enrich_person' (likely adds data).

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?

The description implies usage when you have specific identifiers (email, phone, etc.) to find a person, contrasting with siblings like 'search_people' (likely for broader queries). However, it doesn't explicitly state when NOT to use it or name alternatives, leaving some ambiguity.

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

search_companiesA

Search 60M+ companies by industry, location, size, tech stack, funding, traffic, growth, and more. Returns paginated results.

ParametersJSON Schema
NameRequiredDescriptionDefault
industriesNoIndustry names (e.g., Computer Software, Financial Services)
country_codesNoISO country codes (e.g., US, GB)
employee_rangesNoSize ranges (e.g., "11 to 50", "51 to 200")
crm_techNoCRM tools (e.g., Salesforce, HubSpot)
cloud_providerNoCloud providers (e.g., AWS, GCP)
min_monthly_trafficNoMin monthly web traffic
min_google_adspendNoMin monthly Google ad spend ($)
min_total_fundingNoMin total funding ($)
min_employee_growth_rateNoMin employee growth rate (0.1 = 10%)
pageNoPage number (default 1)
per_pageNoResults per page (max 100, default 25)

TDQS

A3.5/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. It discloses the paginated behavior and the database scale, but lacks critical details like rate limits, authentication requirements, cost implications, or error handling. For a search tool with 11 parameters and no annotations, 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 front-loads key information (scale, searchable fields, pagination) with zero wasted words. Every phrase ('60M+ companies', 'by industry...', 'Returns paginated results') directly contributes to understanding the tool's purpose and behavior.

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?

Given the 11-parameter complexity and no output schema, the description is minimally adequate. It covers the core functionality and pagination but lacks details on result format, error cases, or performance characteristics. With no annotations to supplement, it leaves the agent to infer many operational aspects from the schema alone.

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 11 parameters. The description adds value by summarizing the searchable fields (e.g., 'tech stack, funding, traffic') which helps contextualize the parameters, but doesn't provide additional syntax or format details beyond what the schema already specifies.

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 clearly states the specific action ('Search 60M+ companies') and resource ('companies'), distinguishing it from siblings like 'lookup_company' or 'enrich_company' by emphasizing broad filtering capabilities across multiple attributes. It explicitly mentions the scale ('60M+') and the paginated return format.

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 usage through the listed searchable fields (industry, location, etc.), suggesting it's for broad queries, but doesn't explicitly state when to use it versus alternatives like 'lookup_company' (likely for specific company lookups) or 'search_people'. No explicit when-not-to-use guidance or prerequisite context is provided.

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

search_peopleB

Search 300M+ contacts by title, seniority, function, company, location, and more. Returns paginated results.

ParametersJSON Schema
NameRequiredDescriptionDefault
titlesNoJob title keywords (e.g., VP Engineering, CTO)
senioritiesNoSeniority levels: C-Suite, VP, Director, Manager, Staff, Entry, Intern
functionsNoJob functions (e.g., Engineering, Sales)
company_domainsNoFilter by employer domain
company_nameNoCompany name (fuzzy match)
country_codesNoISO country codes (e.g., US, GB)
has_emailNoOnly return people with a verified email
has_phoneNoOnly return people with a phone number
is_currentNoOnly return people in their current role
pageNoPage number (default 1)
per_pageNoResults per page (max 100, default 25)

TDQS

B3.3/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 'Returns paginated results', which is useful, but doesn't cover other critical behaviors like rate limits, authentication requirements, data freshness, error conditions, or whether this is a read-only operation. For a search tool with 11 parameters, this leaves significant gaps in understanding how the tool behaves.

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 extremely concise with just two sentences that efficiently convey scope ('300M+ contacts'), searchable fields, and pagination behavior. Every word earns its place with zero redundancy or 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.

Completeness3/5

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

Given the tool's complexity (11 parameters, no annotations, no output schema), the description is incomplete. While it efficiently states purpose and pagination, it lacks crucial context about authentication, rate limits, result format, error handling, and differentiation from sibling tools. For a search tool of this scale, more behavioral and usage context would be 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?

The description lists example search fields (title, seniority, function, company, location) which aligns with the input schema parameters. Since schema description coverage is 100%, the schema already documents all parameters thoroughly. The description adds minimal value beyond what's in the schema, meeting the baseline score of 3 for high schema coverage.

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 clearly states the tool's purpose with specific verbs ('Search 300M+ contacts') and resources ('contacts'), and distinguishes it from siblings by specifying it searches by multiple attributes like title, seniority, function, company, and location. This is more comprehensive than sibling tools like 'lookup_person' or 'enrich_person' which likely focus on individual records.

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 'lookup_person', 'enrich_person', or 'company_employees'. It mentions what the tool does but doesn't specify use cases, prerequisites, or exclusions, leaving the agent to infer usage from the parameter list 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. 11 tool updatesv0.1.3
    • First observedcompany_employees
    • First observedcompany_headcount
    • First observedcompany_jobs
    • First observedcompany_technographics
    • First observedenrich_company
    • First observedenrich_person
    • First observedfind_intent_signals
    • First observedlookup_company
    • First observedlookup_person
    • First observedsearch_companies
    • First observedsearch_people

TDQS

A3.7/5.0

Scored across 11 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no significant overlap: company-focused tools (employees, headcount, jobs, technographics, enrich, lookup, search) and person-focused tools (enrich, lookup, search) are well-separated, and even within categories (e.g., company_employees vs. company_headcount vs. company_jobs) target different data aspects. The descriptions reinforce these distinctions, making misselection unlikely.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, using snake_case uniformly: company_employees, company_headcount, company_jobs, company_technographics, enrich_company, enrich_person, find_intent_signals, lookup_company, lookup_person, search_companies, search_people. This predictability aids agent navigation and understanding.

Tool Count5/5

With 11 tools, the count is well-scoped for a data layer server covering company and person enrichment, search, and intent signals. Each tool earns its place by addressing a specific need (e.g., detailed profiles, filtered searches, headcount breakdowns), avoiding bloat while providing comprehensive coverage for the domain.

Completeness5/5

The toolset offers complete CRUD-like coverage for the data domain: lookup and search for discovery, enrich for detailed profiles, and specialized tools for headcount, jobs, technographics, and intent signals. There are no obvious gaps; agents can perform end-to-end workflows from finding entities to analyzing their attributes and signals.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Enables AI tools to search and enrich B2B leads, including finding professional emails, company profiles, and filtering people and companies by various criteria.
    5
    343 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Argorant MCP Server — give your AI agent direct access to 614M verified B2B contacts. Query by industry, role, geography, and 100+ filters, then export emails verified by a live SMTP probe at request time (catch-alls flagged, invalids free). OAuth-secured. Works with Claude, ChatGPT, Cursor, and any MCP client. Endpoint: https://mcp.argorant.com/mcp
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides MCP clients with 60+ APIs for B2B data enrichment, lead generation, email verification, company intelligence, and agentic GTM workflows.
    -