Skip to main content
Glama
eliottreich

Crawdar Business Research

Crawdar MCP

Crawdar gives AI agents evidence-backed public business research through a hosted MCP server. It separates verified fits, likely fits, and excluded candidates, keeps source URLs attached, and explains why candidates were rejected.

No package or local crawler is required.

Optional local stdio bridge

This repository also provides an MIT-licensed, runnable bridge for clients that require stdio. It uses pinned mcp-remote to forward MCP traffic to https://crawdar.com/api/mcp. The crawler backend remains hosted and is not included in this repository. This is not an offline or self-hosted crawler.

With Node.js 22 or newer, run npm ci --ignore-scripts, then configure your MCP client to launch node with the absolute path to node_modules/mcp-remote/dist/proxy.js, followed by https://crawdar.com/api/mcp --transport http-only as separate arguments. For a container, build with docker build -t crawdar-mcp . and launch with docker run --rm -i crawdar-mcp (no TTY).

The bridge exposes the hosted server's tools and sends tool inputs to Crawdar over HTTPS. Live research remains subject to Crawdar's quotas and service availability. Credentials are not embedded. The fictional sandbox and tool discovery require no key. For authenticated usage, use the direct HTTP configuration below or the bridge's --header-file option with a private local header file. Never commit credentials or include them in command arguments.

Related MCP server: librecrawl-technical-seo-audit-mcp

Bring a difficult search brief

We are recruiting five independent builders to test a real company-research workflow. Describe your brief and acceptance rules. We will confirm a small sample scope first, then review what matched, what failed and what remains unknown. No stars, referrals or positive reviews required.

GitHub issues are public. Keep confidential briefs and all credentials out of them; use hello@crawdar.com for private support. The general Crawdar web tool does not require a GitHub account.

Connect

Remote MCP endpoint:

https://crawdar.com/api/mcp

Claude Code:

claude mcp add --transport http crawdar https://crawdar.com/api/mcp

Codex configuration:

[mcp_servers.crawdar]
url = "https://crawdar.com/api/mcp"

Generic MCP configuration:

{
  "mcpServers": {
    "crawdar": {
      "type": "http",
      "url": "https://crawdar.com/api/mcp"
    }
  }
}

Tools

  • research_businesses: One-call research from a natural-language brief.

  • search_businesses: Structured target and geography search.

  • sandbox_businesses: Fictional integration test with no search-provider usage.

  • start_lead_search: Start a private resumable job.

  • get_lead_search: Poll status and page through compact or full results.

  • refine_lead_search: Create a revised job without changing the original.

  • retry_lead_search: Recover from a stopped job.

  • cancel_lead_search: Cancel a queued or running job.

  • explain_crawdar: Read result semantics, limits, and safe-use guidance.

Try a visual workflow in n8n

Download the n8n sandbox workflow, import it into your n8n instance, and click Execute Workflow. This demonstrates routing, not real prospect discovery. No Crawdar account, key, AI-model subscription, or CRM credentials are needed. You still need n8n itself.

It fetches three fictional businesses, keeps source evidence and sandbox labels attached, and sends two explicitly qualified examples down one branch and one uncertain example to review. No emails, CRM writes or scheduled scans. Changing the brief only changes fixture labels, not real research. A qualified status is not a guarantee of fit: review the underlying evidence before consequential use.

Verified September 6, 2026 by importing and executing the exact JSON in n8n 2.37.10 with Node 24.20.0. Assertions passed for the 2/1 branch split, retained evidence and sandbox markers, and zero search-provider requests. This is a founder-maintained example, not an n8n-approved gallery template or a live-search accuracy benchmark.

For real research, follow the agent guide and use authenticated durable searches with rate-limit handling. Do not simply change the sandbox URL and assume the workflow handles job polling, pagination or paid usage.

Free agent identity

Before creating a key, you can inspect the API with the Postman sandbox collection. Import the JSON into Postman, or run it locally with Node.js and Newman:

npx --yes newman@6.2.1 run https://raw.githubusercontent.com/eliottreich/crawdar-mcp/main/examples/crawdar-sandbox.postman_collection.json --timeout-request 20000 --timeout 60000 --bail

The command downloads the pinned Newman runner and public collection. No Crawdar or Postman account is needed for this CLI route. The collection only calls the fictional sandbox, makes three requests, and checks the response format, preserved uncertainty, source links and validation errors. It does not measure real lead quality or send messages. Verified September 6, 2026 with Newman 6.2.1: 13 assertions passed. Postman desktop import has not been separately tested.

Create an optional free API key:

curl -X POST https://crawdar.com/api/v1/keys \
  -H 'content-type: application/json' \
  -d '{"label":"My research agent"}'

Pass the returned key as x-api-key or Authorization: Bearer. The secret is shown once.

Contracts and documentation

Public information can be incomplete or outdated. Keep evidence URLs attached and verify records before outreach or another consequential action.

Available Tools

9 tools
explain_crawdarExplain Crawdar searchA
Read-onlyIdempotent

Get result semantics, limits, interface URLs, and safe operating guidance. This tool does not consume a search.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
guidanceYes
interfacesYes
resultLanesYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds a meaningful behavioral trait: 'does not consume a search.' This goes beyond the annotations by clarifying that the tool performs no search operation, which is important context. No contradiction with 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?

Two concise sentences with no redundancy. The first sentence front-loads the core purpose, and the second adds a clarifying limitation. Every word earns its place, making it efficient and easy to parse.

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?

Given zero parameters and an output schema, the description covers the essential information: what the tool returns (semantics, limits, URLs, guidance) and what it does not do (consume a search). An agent can confidently use this tool to obtain operational context for the search tools, and nothing critical is missing.

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?

The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics, and the schema confirms no parameters exist. The description appropriately focuses on the tool's function rather than parameters.

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 states a specific purpose: to retrieve result semantics, limits, interface URLs, and safety guidance. It explicitly distinguishes itself from search operations with 'This tool does not consume a search.' This clearly differentiates it from the sibling search tools and gives an agent a precise understanding of what it does.

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 by stating what it provides and clarifying it does not consume a search. This sets a clear boundary versus the sibling search tools, though it doesn't explicitly state 'use this when you need to understand the search tool' or provide alternative conditions. The context is clear enough for an agent to infer when to use it.

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

research_businessesResearch businesses from a briefA
Read-only

Use for a quick synchronous search when the user supplies one natural-language brief and can wait for results in the current tool call. For durable progress, retry, export, or large agent workflows, use start_lead_search instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
briefYesExample: Independent veterinary clinics in Berlin with an active first-party website. Exclude directories and chains.
limitNoMaximum businesses in this response page.
fieldsNoBusiness fields to retain. Website and source evidence remain available for verification.
offsetNoZero-based result offset for this response page.
outputNoCompact minimizes tokens. Full preserves every returned field.compact
geographyNoOptional explicit geography. Use when the brief does not make location clear.
includeDiagnosticsNoInclude source status and explained exclusions.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesMaximum prospects requested for this page.
offsetYesZero-based offset of this page.
hasMoreYesWhether another result page is available.
resultsYes
warningsYesLimitations the agent should retain with downstream data.
requestIdYesRequest identifier for support and diagnostics.
durationMsNo
nextOffsetNoOffset for the next synchronous result page, or null when complete.
diagnosticsNoSource status and explained candidate exclusions.
resultCountYesTotal accepted prospects before response pagination.
returnedCountYesProspects returned in this response page.
schemaVersionYesVersion of the result contract.
searchedSourcesYesDiscovery and first-party source types consulted.
remainingFreeSearchesNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the synchronous, quick nature and the contrast with the durable asynchronous sibling, which is valuable context beyond the annotations. It does not contradict annotations and provides the expected call-time behavior.

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 sentences with zero waste. The primary use case is front-loaded in the first sentence, and the alternative is clearly stated in the second. It is concise, structured, and every word contributes to the agent's decision.

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?

Given the tool's complexity (7 parameters, 1 required) and the presence of a detailed input schema and output schema, the description is sufficient. It explains the synchronous nature and the routing to the async sibling. It does not cover pagination or output details, but those are already in the schema, and the description provides the key decision guidance for an 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?

Schema coverage is 100% and all seven parameters have detailed descriptions (e.g., brief example, limit bounds, fields enum). The description does not add parameter-specific semantics but reinforces that the brief is a natural-language query. With full schema coverage, a baseline of 3 is appropriate; the description adds no extra 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 states a specific verb ('research') and resource ('businesses'), and immediately defines the scope: a quick synchronous search from a natural-language brief. It distinguishes itself from start_lead_search by naming the alternative, making it clear this tool is for immediate results in the current call. No ambiguity.

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?

The description explicitly says 'Use for a quick synchronous search when the user supplies one natural-language brief and can wait for results in the current tool call' and then explicitly routes other workflows ('durable progress, retry, export, or large agent workflows') to start_lead_search instead. This gives both when-to-use and when-not-to-use guidance with a named alternative.

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

sandbox_businessesTest the Crawdar contractA
Read-onlyIdempotent

Return deterministic fictional businesses without consuming provider capacity. Use this to test schemas, clients, and agent loops.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNoFictional business type echoed into deterministic test results.
geographyNoFictional location echoed into deterministic test results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesMaximum prospects requested for this page.
offsetYesZero-based offset of this page.
hasMoreYesWhether another result page is available.
resultsYes
warningsYesLimitations the agent should retain with downstream data.
requestIdYesRequest identifier for support and diagnostics.
durationMsNo
nextOffsetNoOffset for the next synchronous result page, or null when complete.
diagnosticsNoSource status and explained candidate exclusions.
resultCountYesTotal accepted prospects before response pagination.
returnedCountYesProspects returned in this response page.
schemaVersionYesVersion of the result contract.
searchedSourcesYesDiscovery and first-party source types consulted.
remainingFreeSearchesNo

TDQS

A5/5.0
Behavior5/5

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

The description clearly indicates the tool returns fictional deterministic data and has no provider-side consumption, aligning with the readOnlyHint annotation. It also implies idempotency through 'deterministic' and is consistent with the destructiveHint false annotation. No behavioral contradictions are present.

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 tightly written in two sentences with no redundant wording. It front-loads the primary purpose and immediately follows with concrete usage guidance.

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?

Given the annotations, input schema, output schema, and sibling tool context, the description covers all essential information an agent needs: purpose, behavior, parameters, and safe usage. There are no missing critical details.

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

Parameters5/5

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

Both parameters are described with their meaning and role in generating deterministic test results. The schema coverage is 100%, and the description adds that values are 'echoed' into results, clarifying how the parameters affect output.

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 uses a specific verb ('Return') and clearly identifies the resource as deterministic fictional businesses. It also distinguishes this tool from production data tools by noting it does not consume provider capacity and is intended for testing schemas, clients, and agent loops.

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?

The description explicitly states when to use the tool: 'Use this to test schemas, clients, and agent loops.' This provides clear guidance on the intended scenario and helps differentiate it from the sibling search/research tools.

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

search_businessesSearch businesses with structured criteriaA
Read-only

Use for a quick synchronous search when target, geography, and qualification fields are already structured. Use research_businesses for a plain-language brief, or start_lead_search for durable asynchronous work.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum businesses in this response page.
fieldsNoBusiness fields to retain. Website and source evidence remain available for verification.
offsetNoZero-based result offset for this response page.
outputNoCompact minimizes tokens. Full preserves every returned field.compact
targetYesBusiness type or concise target.
geographyYesCity, region, country, or Worldwide.
qualifierNoOptional required signals and exclusions that can be checked in public evidence.
includeDiagnosticsNoInclude source status and explained exclusions.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesMaximum prospects requested for this page.
offsetYesZero-based offset of this page.
hasMoreYesWhether another result page is available.
resultsYes
warningsYesLimitations the agent should retain with downstream data.
requestIdYesRequest identifier for support and diagnostics.
durationMsNo
nextOffsetNoOffset for the next synchronous result page, or null when complete.
diagnosticsNoSource status and explained candidate exclusions.
resultCountYesTotal accepted prospects before response pagination.
returnedCountYesProspects returned in this response page.
schemaVersionYesVersion of the result contract.
searchedSourcesYesDiscovery and first-party source types consulted.
remainingFreeSearchesNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds useful context by characterizing the call as quick and synchronous, and there is no contradiction with the 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 concise, front-loaded with the primary use case, and efficiently contrasts sibling tools without unnecessary detail.

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?

The description, combined with the parameter schema and annotations, provides enough context for invoking a synchronous search and interpreting paging-related outputs. It could mention return shape more explicitly, but the output enum and parameter descriptions cover the essentials.

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 descriptions cover 100% of parameters, so the baseline applies. The tool description does not add much beyond the schema, though it does reinforce that target, geography, and qualifier are the structured search fields.

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?

Description uses the specific verb 'search' and identifies the resource 'businesses.' It clearly distinguishes from siblings by noting the structured-criteria synchronous use case versus research_businesses for plain-language briefs and start_lead_search for durable async work.

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?

Explicitly states when to use the tool: quick synchronous search when target, geography, and qualification fields are already structured. It also names alternatives for different scenarios, leaving little ambiguity about selection.

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

Tool Schema Changelog

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

  1. 9 tool updatesv1.0.0
    • First observedcancel_lead_search
    • First observedexplain_crawdar
    • First observedget_lead_search
    • First observedrefine_lead_search
    • First observedresearch_businesses
    • First observedretry_lead_search
    • First observedsandbox_businesses
    • First observedsearch_businesses
    • First observedstart_lead_search

TDQS

A4.3/5.0
Disambiguation4/5

Most tools have clear, distinct purposes: synchronous vs asynchronous search, sandbox, and explain. The overlap between research_businesses and search_businesses is somewhat subtle but resolved by the explicit distinction between natural-language briefs and structured criteria.

Naming Consistency5/5

All tool names follow a consistent snake_case action_object pattern (research_businesses, start_lead_search, cancel_lead_search), making their behavior predictable. Even explain_crawdar fits the convention.

Tool Count5/5

Nine tools is well-scoped for a business-research service: it covers synchronous search, async job lifecycle, sandbox testing, and explanatory metadata without excess or redundancy.

Completeness5/5

The tool surface covers the full search workflow—immediate sync queries, durable async jobs, refinement, retry, cancellation, status/result reading, and safe testing—plus an explain tool for interface guidance. No obvious gaps remain.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Open-source technical SEO crawler MCP server built on LibreCrawl. Runs full audits inside Claude, Cursor, or Codex — 50+ checks (hreflang, schema.org, security headers, WAF detection on 200-OK pages), chunked-progressive engine for large sites, ephemeral by design (server forgets every audit after download).
    39
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    20-tool MCP server - production web-intelligence API gateway exposing 10 Website Intelligence + 7 Marketing APIs as 20 MCP tools over Streamable HTTP + stdio, with pay-per-call Solana USDC payments. 20 tools: URL-to-Markdown, metadata, technology detection, contact extraction, SEO audit, SSL, DNS, sitemaps, robots.txt, Google Maps reviews, AI company/website summaries, citation checking Cloud-host
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/eliottreich/crawdar-mcp'

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