{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_upqxd6pmajd6","handle":"datamerge-mcp","url":"https://wellknown.network/agents/datamerge-mcp","links":{"self":"https://wellknown.network/agents/datamerge-mcp/record.json","html":"https://wellknown.network/agents/datamerge-mcp","markdown":"https://wellknown.network/agents/datamerge-mcp/record.md","api":"https://wellknown.network/api/v1/agents/datamerge-mcp","status":"https://wellknown.network/api/v1/agents/datamerge-mcp/status","claim":"https://wellknown.network/agents/datamerge-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","badge":"https://wellknown.network/agents/datamerge-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:mcp.datamerge.ai:server:datamerge-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"DataMerge MCP","summary":"B2B data enrichment for 375M+ companies: legal entities, corporate hierarchies, and contacts.","description":"B2B data enrichment for 375M+ companies: legal entities, corporate hierarchies, and contacts.","publisher":{"name":"ai.datamerge","url":null},"homepage":null,"repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.datamerge.ai","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-02-27T11:50:11.005967Z","publishedAt":"2026-02-27T11:50:11.005967Z","registryName":"ai.datamerge/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"research.people-companies","name":"People & Company Research","confidence":0.99,"provenance":"derived"},{"slug":"knowledge.knowledge-graph","name":"Knowledge Graphs","confidence":0.938,"provenance":"derived"},{"slug":"data.apis","name":"API Access","confidence":0.554,"provenance":"derived"},{"slug":"automation.scheduling","name":"Scheduling & Cron","confidence":0.54,"provenance":"derived"},{"slug":"content.social","name":"Social Media","confidence":0.525,"provenance":"derived"}],"categories":["automation","content","data","knowledge","research","security"]},"observed":{"status":"live","statusReason":"Responded 20s ago.","lastOkAt":"2026-09-05T14:25:27.368Z","lastProbedAt":"2026-09-05T14:25:27.368Z","statusComputedAt":"2026-09-05T14:25:47.812Z","reliability30d":{"probes":1,"successRate":1,"p50Ms":17},"latestObservations":[{"at":"2026-09-05T14:25:27.368Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":17,"error":null,"detail":{"tools":[{"name":"configure_datamerge","description":"Configure DataMerge API authentication (required before using other tools if DATAMERGE_API_KEY is not set)."},{"name":"start_company_enrichment","description":"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, "},{"name":"get_company_enrichment_result","description":"GET /v1/company/enrich/{job_id}/status. Poll until status is \"completed\" or \"failed\". Response includes record_ids. Status values: queued · processing · complet"},{"name":"start_company_enrichment_and_wait","description":"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_enrich"},{"name":"run_company_enrichment","description":"Agent-friendly company enrichment. On the first call provide enrichment params (domain, domains, company_name, country_code, etc.); the server starts the job an"},{"name":"run_contact_enrich","description":"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"},{"name":"run_contact_search","description":"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 runn"},{"name":"get_company","description":"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"},{"name":"get_company_hierarchy","description":"Get all entities in the same global ultimate hierarchy. GET /v1/company/hierarchy?datamerge_id={id}. Parameters: include_names (bool, charges 1 credit), include"},{"name":"contact_search","description":"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 co"},{"name":"get_contact_search_status","description":"GET /v1/contact/search/{job_id}/status. Poll until status is \"completed\" or \"failed\". Response includes record_ids."},{"name":"contact_enrich","description":"POST /v1/contact/enrich. Enrich specific contacts by LinkedIn URL or name+domain. Returns a job_id (async, 202)."},{"name":"get_contact_enrich_status","description":"GET /v1/contact/enrich/{job_id}/status. Poll until status is \"completed\" or \"failed\". Response includes record_ids."},{"name":"get_contact","description":"GET /v1/contact/get?record_id={uuid}. Retrieve a specific contact by record UUID. Never charges credits."},{"name":"list_lists","description":"GET /v1/lists. Optional: object_type=company or object_type=contact."},{"name":"create_list","description":"POST /v1/lists. Body: name, object_type (company or contact)."},{"name":"get_list_items","description":"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_"},{"name":"remove_list_item","description":"DELETE /v1/lists/{object_type}/{list_slug}/{item_id}."},{"name":"delete_list","description":"DELETE /v1/lists/{object_type}/{list_slug}. System lists cannot be deleted."},{"name":"get_credits_balance","description":"GET /v1/credits/balance. Returns credits_balance and balances (one_off, recurring, rollover, total)."},{"name":"health_check","description":"Check if the DataMerge API client is configured and can connect. Uses /auth/info."},{"name":"contact_search_unenriched","description":"POST /v1/contact/search/unenriched. Find contacts without running email/phone enrichment. Returns a job_id; contacts are created in `unconfirmed` status with st"},{"name":"run_contact_search_unenriched","description":"POST /v1/contact/search/unenriched/sync. Synchronous unenriched contact search — returns contacts inline (no polling). Requires the `contact_search_unenriched` "}],"toolCount":23,"serverName":"datamerge-mcp","capabilities":["tools","prompts","completions"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"configure_datamerge","description":"Configure DataMerge API authentication (required before using other tools if DATAMERGE_API_KEY is not set)."},{"name":"start_company_enrichment","description":"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, "},{"name":"get_company_enrichment_result","description":"GET /v1/company/enrich/{job_id}/status. Poll until status is \"completed\" or \"failed\". Response includes record_ids. Status values: queued · processing · complet"},{"name":"start_company_enrichment_and_wait","description":"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_enrich"},{"name":"run_company_enrichment","description":"Agent-friendly company enrichment. On the first call provide enrichment params (domain, domains, company_name, country_code, etc.); the server starts the job an"},{"name":"run_contact_enrich","description":"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"},{"name":"run_contact_search","description":"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 runn"},{"name":"get_company","description":"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"},{"name":"get_company_hierarchy","description":"Get all entities in the same global ultimate hierarchy. GET /v1/company/hierarchy?datamerge_id={id}. Parameters: include_names (bool, charges 1 credit), include"},{"name":"contact_search","description":"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 co"},{"name":"get_contact_search_status","description":"GET /v1/contact/search/{job_id}/status. Poll until status is \"completed\" or \"failed\". Response includes record_ids."},{"name":"contact_enrich","description":"POST /v1/contact/enrich. Enrich specific contacts by LinkedIn URL or name+domain. Returns a job_id (async, 202)."},{"name":"get_contact_enrich_status","description":"GET /v1/contact/enrich/{job_id}/status. Poll until status is \"completed\" or \"failed\". Response includes record_ids."},{"name":"get_contact","description":"GET /v1/contact/get?record_id={uuid}. Retrieve a specific contact by record UUID. Never charges credits."},{"name":"list_lists","description":"GET /v1/lists. Optional: object_type=company or object_type=contact."},{"name":"create_list","description":"POST /v1/lists. Body: name, object_type (company or contact)."},{"name":"get_list_items","description":"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_"},{"name":"remove_list_item","description":"DELETE /v1/lists/{object_type}/{list_slug}/{item_id}."},{"name":"delete_list","description":"DELETE /v1/lists/{object_type}/{list_slug}. System lists cannot be deleted."},{"name":"get_credits_balance","description":"GET /v1/credits/balance. Returns credits_balance and balances (one_off, recurring, rollover, total)."},{"name":"health_check","description":"Check if the DataMerge API client is configured and can connect. Uses /auth/info."},{"name":"contact_search_unenriched","description":"POST /v1/contact/search/unenriched. Find contacts without running email/phone enrichment. Returns a job_id; contacts are created in `unconfirmed` status with st"},{"name":"run_contact_search_unenriched","description":"POST /v1/contact/search/unenriched/sync. Synchronous unenriched contact search — returns contacts inline (no polling). Requires the `contact_search_unenriched` "}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"ai.datamerge/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/ai.datamerge%2Fmcp","firstSeenAt":"2026-09-05T13:36:08.353Z","fetchedAt":"2026-09-05T13:36:08.353Z","normalizedAt":"2026-09-05T13:36:08.353Z"}]},"firstSeenAt":"2026-09-05T13:36:08.353Z","updatedAt":"2026-09-05T14:25:49.801Z"}