DataMerge is an MCP server with 23 tools an agent can call, among them configure_datamerge, contact_enrich, contact_search. It answers at https://mcp.datamerge.ai over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 4 September 2026; the last check, on 17 October 2026, succeeded.
B2B data enrichment for 375M+ companies: legal entities, corporate hierarchies, and contacts.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
configure_datamerge | Configure DataMerge API authentication (required before using other tools if DATAMERGE_API_KEY is not set). Inputs: apiKey, baseUrl |
contact_enrich | POST /v1/contact/enrich. Enrich specific contacts by LinkedIn URL or name+domain. Returns a job_id (async, 202). Inputs: contacts, enrich_fields |
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 list Inputs: domains, company_list, max_results_per_company, job_titles, location, enrich_fields |
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. Inputs: domains, company_list, max_results_per_company, job_titles, location, webhook |
create_list | POST /v1/lists. Body: name, object_type (company or contact). Inputs: name, object_type |
delete_list | DELETE /v1/lists/{object_type}/{list_slug}. System lists cannot be deleted. Inputs: object_type, list_slug |
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 datame Inputs: datamerge_id, record_id, add_to_list |
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. Inputs: job_id |
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 (array Inputs: datamerge_id, include_names, include_branches, only_subsidiaries, max_level, country_code |
get_contact | GET /v1/contact/get?record_id={uuid}. Retrieve a specific contact by record UUID. Never charges credits. Inputs: record_id |
get_contact_enrich_status | GET /v1/contact/enrich/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids. Inputs: job_id |
get_contact_search_status | GET /v1/contact/search/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids. Inputs: job_id |
get_credits_balance | GET /v1/credits/balance. Returns credits_balance and balances (one_off, recurring, rollover, total). Inputs: _ |
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). Inputs: object_type, list_slug, page, page_size, sort_by, sort_order |
health_check | Check if the DataMerge API client is configured and can connect. Uses /auth/info. Inputs: _ |
list_lists | GET /v1/lists. Optional: object_type=company or object_type=contact. Inputs: object_type |
remove_list_item | DELETE /v1/lists/{object_type}/{list_slug}/{item_id}. Inputs: object_type, list_slug, item_id |
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 wil Inputs: continuation_token, domain, company_name, country_code, strict_match, global_ultimate |
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, elapsed_second Inputs: continuation_token, contacts, enrich_fields, refresh, return_any_domain, max_wait_seconds |
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} — Inputs: continuation_token, domains, company_list, max_results_per_company, job_titles, location |
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 include Inputs: domains, max_results_per_company, job_titles, location, list |
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. Inputs: domain, company_name, country_code, strict_match, global_ultimate, webhook_url |
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. Inputs: domain, company_name, country_code, strict_match, global_ultimate, webhook_url |
Every block below points at https://mcp.datamerge.ai. Pick your client and copy.
claude mcp add --transport http datamerge https://mcp.datamerge.ai
{
"mcpServers": {
"datamerge": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.datamerge.ai"]
}
}
}{
"mcpServers": {
"datamerge": {
"url": "https://mcp.datamerge.ai"
}
}
}{
"servers": {
"datamerge": {
"type": "http",
"url": "https://mcp.datamerge.ai"
}
}
}{
"context_servers": {
"datamerge": {
"url": "https://mcp.datamerge.ai"
}
}
}{
"mcpServers": {
"datamerge": {
"serverUrl": "https://mcp.datamerge.ai"
}
}
}{
"mcpServers": {
"datamerge": {
"url": "https://mcp.datamerge.ai"
}
}
}name: DataMerge
version: 0.0.1
schema: v1
mcpServers:
- name: DataMerge
type: streamable-http
url: https://mcp.datamerge.ai{
"mcpServers": {
"datamerge": {
"httpUrl": "https://mcp.datamerge.ai"
}
}
}{
"mcpServers": {
"datamerge": {
"type": "http",
"url": "https://mcp.datamerge.ai"
}
}
}{
"mcpServers": {
"datamerge": {
"url": "https://mcp.datamerge.ai"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.datamerge.ai&type=streamable_http&id=datamerge&name=DataMerge
It answered our last check on 17 October 2026 in 244 ms. Over 10 checks since 4 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by datamerge.ai and served from mcp.datamerge.ai, the vendor's own domain: https://mcp.datamerge.ai.
23, as returned by the server's own tools/list on 7 September 2026: configure_datamerge, contact_enrich, contact_search, contact_search_unenriched, create_list, delete_list, get_company, get_company_enrichment_result, and 15 more.
It answered our last check on 17 October 2026 in 244 ms. Over 10 checks since 4 September 2026 it answered 10.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.datamerge.ai. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: ai.datamerge. Endpoint host: mcp.datamerge.ai. ARD identifier: urn:air:ai.datamerge:mcp:mcp.
First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.