mcp server
DataMerge MCP
B2B data enrichment for 375M+ companies: legal entities, corporate hierarchies, and contacts.
Description as published by the maintainer. Source
- version 1.0.0
- slowing
slowing — Registry entry last updated 2026-02-27.
What this server can do
23 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
configure_datamerge(apiKey, baseUrl)- Configure DataMerge API authentication (required before using other tools if DATAMERGE_API_KEY is not set).
contact_enrich(contacts, enrich_fields)- POST /v1/contact/enrich. Enrich specific contacts by LinkedIn URL or name+domain. Returns a job_id (async, 202). Required: contacts, enrich_fields.
contact_search(domains, webhook, location, job_titles, company_list, enrich_fields, max_results_per_company)- 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. Required: enrich_fields.
contact_search_unenriched(domains, webhook, location, job_titles, company_list, max_results_per_company)- 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.
create_list(name, object_type)- POST /v1/lists. Body: name, object_type (company or contact). Required: name, object_type.
delete_list(list_slug, object_type)- DELETE /v1/lists/{object_type}/{list_slug}. System lists cannot be deleted. Required: object_type, list_slug.
get_company(record_id, add_to_list, datamerge_id)- 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 datamerge_id).
get_company_enrichment_result(job_id)- GET /v1/company/enrich/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids. Status values: queued · processing · completed · failed. Required: job_id.
get_company_hierarchy(page, max_level, country_code, datamerge_id, include_names, include_branches, only_subsidiaries)- 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), page (int). Required: datamerge_id.
get_contact(record_id)- GET /v1/contact/get?record_id={uuid}. Retrieve a specific contact by record UUID. Never charges credits. Required: record_id.
get_contact_enrich_status(job_id)- GET /v1/contact/enrich/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids. Required: job_id.
get_contact_search_status(job_id)- GET /v1/contact/search/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids. Required: job_id.
get_credits_balance(_)- GET /v1/credits/balance. Returns credits_balance and balances (one_off, recurring, rollover, total).
get_list_items(page, sort_by, list_slug, page_size, sort_order, object_type)- 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). Required: object_type, list_slug.
health_check(_)- Check if the DataMerge API client is configured and can connect. Uses /auth/info.
list_lists(object_type)- GET /v1/lists. Optional: object_type=company or object_type=contact.
remove_list_item(item_id, list_slug, object_type)- DELETE /v1/lists/{object_type}/{list_slug}/{item_id}. Required: object_type, list_slug, item_id.
run_company_enrichment(list, domain, domains, refresh, webhook_url, company_name, country_code, strict_match, skip_if_exists, global_ultimate, max_wait_seconds, continuation_token)- 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 will be {status:"pending", continuation_token, attempt, elapsed_seconds}. When you see status "pending" you MUST immediately call run_company_enrichment again with only continuation_token set — do not ask the user, do not call any other tool first. Typical jobs finish within 5 attempts (~125s). On completion the response contains record_ids and full company records.
run_contact_enrich(refresh, contacts, enrich_fields, max_wait_seconds, return_any_domain, continuation_token)- 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_seconds} — you MUST immediately call run_contact_enrich again with only continuation_token set. Do not ask the user. Typical jobs finish within 5 attempts. On completion the response contains record_ids and full contact records.
run_contact_search(list, domains, refresh, location, job_titles, company_list, enrich_fields, max_wait_seconds, continuation_token, max_results_per_company)- 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} — you MUST immediately call run_contact_search again with only continuation_token set. Do not ask the user. On completion the response contains record_ids, full contact records, and credits_consumed.
run_contact_search_unenriched(list, domains, location, job_titles, max_results_per_company)- 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 includes credits_consumed computed as 0.5 × len(contacts). Required: domains.
start_company_enrichment(list, domain, domains, webhook_url, company_name, country_code, strict_match, skip_if_exists, global_ultimate)- 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.
start_company_enrichment_and_wait(list, domain, domains, webhook_url, company_name, country_code, strict_match, skip_if_exists, global_ultimate, timeout_seconds, poll_interval_seconds)- 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.
Last successful function declaration observed on . Source: https://mcp.datamerge.ai. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://mcp.datamerge.ai.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Latest published version | 1.0.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-02-27 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-02-27 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 23 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | mcp.datamerge.ai | |
| mcp endpoint status | ok | The server listed 23 functions when asked. | as of probe | mcp.datamerge.ai |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json