
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
- 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.
- 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.
- 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.
- 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 →
configure_datamergeConfigure DataMerge API authentication (required before using other tools if DATAMERGE_API_KEY is not set).
start_company_enrichmentPOST /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_resultGET /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_waitPOST /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_enrichmentAgent-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_enrichAgent-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_searchAgent-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_companyGet 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_hierarchyGet 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_searchPOST /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_statusGET /v1/contact/search/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids.
contact_enrichPOST /v1/contact/enrich. Enrich specific contacts by LinkedIn URL or name+domain. Returns a job_id (async, 202).
get_contact_enrich_statusGET /v1/contact/enrich/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids.
get_contactGET /v1/contact/get?record_id={uuid}. Retrieve a specific contact by record UUID. Never charges credits.
list_listsGET /v1/lists. Optional: object_type=company or object_type=contact.
create_listPOST /v1/lists. Body: name, object_type (company or contact).
get_list_itemsGET /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_itemDELETE /v1/lists/{object_type}/{list_slug}/{item_id}.
delete_listDELETE /v1/lists/{object_type}/{list_slug}. System lists cannot be deleted.
get_credits_balanceGET /v1/credits/balance. Returns credits_balance and balances (one_off, recurring, rollover, total).
health_checkCheck if the DataMerge API client is configured and can connect. Uses /auth/info.
contact_search_unenrichedPOST /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_unenrichedPOST /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.aiclaude.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.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.