B2B data enrichment for 375M+ companies: legal entities, corporate hierarchies, and contacts.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://mcp.datamerge.ai23 tools · 1946msconfigure_datamergeConfigure DataMerge API authentication (required before using other tools if DATAMERGE_API_KEY is not set).Configure DataMerge API authentication (required before using other tools if DATAMERGE_API_KEY is not set).
No input schema was published for this tool.
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.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.
No input schema was published for this tool.
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.GET /v1/company/enrich/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids. Status values: queued · processing · completed · failed.
No input schema was published for this tool.
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.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.
No input schema was published for this tool.
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 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.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.
No input schema was published for this tool.
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, 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.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.
No input schema was published for this tool.
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} — 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.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.
No input schema was published for this tool.
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 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).
No input schema was published for this tool.
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 (array), page (int).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).
No input schema was published for this tool.
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 list.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.
No input schema was published for this tool.
get_contact_search_statusGET /v1/contact/search/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids.GET /v1/contact/search/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids.
No input schema was published for this tool.
contact_enrichPOST /v1/contact/enrich. Enrich specific contacts by LinkedIn URL or name+domain. Returns a job_id (async, 202).POST /v1/contact/enrich. Enrich specific contacts by LinkedIn URL or name+domain. Returns a job_id (async, 202).
No input schema was published for this tool.
get_contact_enrich_statusGET /v1/contact/enrich/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids.GET /v1/contact/enrich/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids.
No input schema was published for this tool.
get_contactGET /v1/contact/get?record_id={uuid}. Retrieve a specific contact by record UUID. Never charges credits.GET /v1/contact/get?record_id={uuid}. Retrieve a specific contact by record UUID. Never charges credits.
No input schema was published for this tool.
list_listsGET /v1/lists. Optional: object_type=company or object_type=contact.GET /v1/lists. Optional: object_type=company or object_type=contact.
No input schema was published for this tool.
create_listPOST /v1/lists. Body: name, object_type (company or contact).POST /v1/lists. Body: name, object_type (company or contact).
No input schema was published for this tool.
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).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).
No input schema was published for this tool.
remove_list_itemprivilegedDELETE /v1/lists/{object_type}/{list_slug}/{item_id}.DELETE /v1/lists/{object_type}/{list_slug}/{item_id}.
No input schema was published for this tool.
delete_listprivilegedDELETE /v1/lists/{object_type}/{list_slug}. System lists cannot be deleted.DELETE /v1/lists/{object_type}/{list_slug}. System lists cannot be deleted.
No input schema was published for this tool.
get_credits_balanceGET /v1/credits/balance. Returns credits_balance and balances (one_off, recurring, rollover, total).GET /v1/credits/balance. Returns credits_balance and balances (one_off, recurring, rollover, total).
No input schema was published for this tool.
health_checkCheck if the DataMerge API client is configured and can connect. Uses /auth/info.Check if the DataMerge API client is configured and can connect. Uses /auth/info.
No input schema was published for this tool.
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.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.
No input schema was published for this tool.
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 includes credits_consumed computed as 0.5 × len(contacts).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).
No input schema was published for this tool.
23 of 23 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
B2B data enrichment for 375M+ companies: legal entities, corporate hierarchies, and contacts.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.