Skip to content
DataMerge logo

DataMerge MCP server

Which servers in the official MCP registry are DataMerge's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-21

← Back to DataMerge

Whose server it is
  • Registry nameai.datamerge/mcpverified in the MCP registry

The registry name sits under datamerge.ai. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-21
  • Stateanswerschecked 2026-10-21
  • Tools23
  • Server calls itselfdatamerge-mcp
  • Server version1.0.0
  • Protocol version2025-06-18

On 2026-10-21 the server answered initialize and tools/list without a sign-in. First answer in 561 ms.

Should an agent connect itSkip it
  • Its tools do none of the product's use cases we checked: Run credit checks against the correct legal entity; Screen counterparties against sanctions lists by entity.
  • Checked on 2 of the 7 days it takes to judge reliability.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 2, the first on 2026-10-21
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 2 so far
  • What an agent can do with it0 of 2 use cases
  • Answeredmeasuring2 of the 7 daily checks it takes to print a share
  • Median first answer550 ms
  • Space in an agent's context≈ 5,323 tokensthe definitions of all its tools (23), which an agent carries on every turn
  • Tool definitionsA · 99 of 100
  • Typed results0 of 23 toolsdeclared outputSchema: results come typed, read once
  • Parameters without a description: in 2 of 23

What an agent can do with it

  • not sure · Look up contacts through parent-company hierarchies
  • cannot · Run credit checks against the correct legal entity
  • cannot · Screen counterparties against sanctions lists by entity

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

None of the five warning signs in these definitions.

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (30%), doing the product's job (25%), definitions (20%), context (10%) and use (15%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers23 tools · read 2026-10-21
  • configure_datamerge

    Configure DataMerge API authentication (required before using other tools if DATAMERGE_API_KEY is not set).

  • start_company_enrichment

    POST /v1/company/enrich. Enrich one or more companies by domain. Returns a job_id (async). Single: domain. Batch: domains, country_code, global_ultimate, list, skip_if_exists.

  • get_company_enrichment_result

    GET /v1/company/enrich/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids. Status values: queued · processing · completed · failed.

  • start_company_enrichment_and_wait

    POST /v1/company/enrich then poll GET /v1/company/enrich/{job_id}/status until status is "completed" or "failed" or timeout. Same params as start_company_enrichment plus poll_interval_seconds and timeout_seconds.

  • run_company_enrichment

    Agent-friendly company enrichment. On the first call provide enrichment params (domain, domains, company_name, country_code, etc.); the server starts the job and polls internally for up to ~25s. If the job is still running, the response…

  • run_contact_enrich

    Agent-friendly contact enrichment. On the first call provide contacts and enrich_fields; the server starts the job and polls internally for up to ~25s. If still running, returns {status:"pending", continuation_token, attempt…

  • run_contact_search

    Agent-friendly contact search. On the first call provide domains and enrich_fields; the server starts the job and polls internally for up to ~25s. If still running, returns {status:"pending", continuation_token, attempt, elapsed_seconds}…

  • get_company

    Get a single company record. GET /v1/company/get?datamerge_id={id} or ?record_id={uuid}. Provide either datamerge_id (charges 1 credit) or record_id (free). Not both. Optional: add_to_list — list slug to add the company to (only with…

  • get_company_hierarchy

    Get all entities in the same global ultimate hierarchy. GET /v1/company/hierarchy?datamerge_id={id}. Parameters: include_names (bool, charges 1 credit), include_branches (bool), only_subsidiaries (bool), max_level (int), country_code…

  • contact_search

    POST /v1/contact/search. Search for contacts at specified companies. Returns a job_id (async, 202). enrich_fields required (at least one of contact.emails or contact.phones). Use company_list (slug) instead of domains to search a saved…

  • get_contact_search_status

    GET /v1/contact/search/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids.

  • contact_enrich

    POST /v1/contact/enrich. Enrich specific contacts by LinkedIn URL or name+domain. Returns a job_id (async, 202).

  • get_contact_enrich_status

    GET /v1/contact/enrich/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids.

  • get_contact

    GET /v1/contact/get?record_id={uuid}. Retrieve a specific contact by record UUID. Never charges credits.

  • list_lists

    GET /v1/lists. Optional: object_type=company or object_type=contact.

  • create_list

    POST /v1/lists. Body: name, object_type (company or contact).

  • get_list_items

    GET /v1/lists/{object_type}/{list_slug}. object_type: company or contact. list_slug: e.g. target-accounts. Parameters: page, page_size (max 100), sort_by, sort_order (asc/desc).

  • remove_list_item

    DELETE /v1/lists/{object_type}/{list_slug}/{item_id}.

  • delete_list

    DELETE /v1/lists/{object_type}/{list_slug}. System lists cannot be deleted.

  • get_credits_balance

    GET /v1/credits/balance. Returns credits_balance and balances (one_off, recurring, rollover, total).

  • health_check

    Check if the DataMerge API client is configured and can connect. Uses /auth/info.

  • contact_search_unenriched

    POST /v1/contact/search/unenriched. Find contacts without running email/phone enrichment. Returns a job_id; contacts are created in `unconfirmed` status with stable ids. BETA: requires the `contact_search_unenriched` flag on the account.

  • run_contact_search_unenriched

    POST /v1/contact/search/unenriched/sync. Synchronous unenriched contact search — returns contacts inline (no polling). Requires the `contact_search_unenriched` beta flag. Limits: 10 domains and max_results_per_company ≤ 10. Response…

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "datamerge": {
      "type": "http",
      "url": "https://mcp.datamerge.ai"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http datamerge https://mcp.datamerge.ai

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://mcp.datamerge.ai as a custom connector in the settings.

OpenAPI spec

20 paths, read 2026-10-21. Open the spec ↗

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.