{
  "id": "01-datamerge-mcp",
  "slug": "datamerge-mcp",
  "normalized_name": "datamerge mcp",
  "name": "DataMerge MCP",
  "vendor_url": "mcp.datamerge.ai",
  "category": "data-enrichment",
  "what_it_does": "B2B data enrichment for 375M+ companies: legal entities, corporate hierarchies, and contacts.",
  "ai_features": "Not evidenced from fetched pages this pass; no AI feature claims recorded without a source URL.",
  "mcp_status": "community",
  "mcp_url": "https://mcp.datamerge.ai",
  "mcp_auth": null,
  "api_gate": "unknown",
  "revops_role": "Upstream contact/company data or enrichment utility feeding CRM and outbound tooling",
  "tier": "RESEARCHED",
  "last_checked": "2026-09-12",
  "sources": "https://mcp.datamerge.ai",
  "notes": "Homepage fetch failed (HTTPError 400); what_it_does used staging desc. mcp_status=community from official-mcp-registry listing; not an invented official vendor MCP. mcp_url is the registry/listing or product MCP URL from staging. api_gate unknown with dated probe 2026-09-12; free/paid not inferred from HTTP status alone. Promote wave Q 2026-09-12.",
  "mcp_status_bucket": "community",
  "api_gate_bucket": "unknown",
  "mcp_urls": [
    "https://mcp.datamerge.ai"
  ],
  "source_urls": [
    "https://mcp.datamerge.ai"
  ],
  "source_annotations": [],
  "vendor_domain": "mcp.datamerge.ai",
  "display_name": "DataMerge MCP",
  "docs_url": null,
  "jobs": [],
  "jobs_tagged_by": null,
  "jobs_tagged_on": null,
  "github_url": null,
  "github_stars": null,
  "github_last_commit": null,
  "github_archived": null,
  "github_fetched_on": null,
  "github_candidates": [],
  "docs_digest": null,
  "docs_last_crawled": null,
  "submission": null,
  "mcp_tools": [
    {
      "name": "configure_datamerge",
      "description": "Configure DataMerge API authentication (required before using other tools if DATAMERGE_API_KEY is not set).",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "contact_enrich",
      "description": "POST /v1/contact/enrich. Enrich specific contacts by LinkedIn URL or name+domain. Returns a job_id (async, 202).",
      "required_params": [
        "contacts",
        "enrich_fields"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "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 contact.phones). Use company_list (slug) instead of domains to search a saved list",
      "required_params": [
        "enrich_fields"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "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 stable ids. BETA: requires the `contact_search_unenriched` flag on the account.",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "create_list",
      "description": "POST /v1/lists. Body: name, object_type (company or contact).",
      "required_params": [
        "name",
        "object_type"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "delete_list",
      "description": "DELETE /v1/lists/{object_type}/{list_slug}. System lists cannot be deleted.",
      "required_params": [
        "object_type",
        "list_slug"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "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 both. Optional: add_to_list — list slug to add the company to (only with datame",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "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 · completed · failed.",
      "required_params": [
        "job_id"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "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_branches (bool), only_subsidiaries (bool), max_level (int), country_code (array",
      "required_params": [
        "datamerge_id"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "get_contact",
      "description": "GET /v1/contact/get?record_id={uuid}. Retrieve a specific contact by record UUID. Never charges credits.",
      "required_params": [
        "record_id"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "get_contact_enrich_status",
      "description": "GET /v1/contact/enrich/{job_id}/status. Poll until status is \"completed\" or \"failed\". Response includes record_ids.",
      "required_params": [
        "job_id"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "get_contact_search_status",
      "description": "GET /v1/contact/search/{job_id}/status. Poll until status is \"completed\" or \"failed\". Response includes record_ids.",
      "required_params": [
        "job_id"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "get_credits_balance",
      "description": "GET /v1/credits/balance. Returns credits_balance and balances (one_off, recurring, rollover, total).",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "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_order (asc/desc).",
      "required_params": [
        "object_type",
        "list_slug"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "health_check",
      "description": "Check if the DataMerge API client is configured and can connect. Uses /auth/info.",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "list_lists",
      "description": "GET /v1/lists. Optional: object_type=company or object_type=contact.",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "remove_list_item",
      "description": "DELETE /v1/lists/{object_type}/{list_slug}/{item_id}.",
      "required_params": [
        "object_type",
        "list_slug",
        "item_id"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "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 and polls internally for up to ~25s. If the job is still running, the response wil",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "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 running, returns {status:\"pending\", continuation_token, attempt, elapsed_second",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "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 running, returns {status:\"pending\", continuation_token, attempt, elapsed_seconds} — ",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "read"
    },
    {
      "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` beta flag. Limits: 10 domains and max_results_per_company ≤ 10. Response include",
      "required_params": [
        "domains"
      ],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "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, skip_if_exists.",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    },
    {
      "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_enrichment plus poll_interval_seconds and timeout_seconds.",
      "required_params": [],
      "evidence": "live-list",
      "repo_party": null,
      "source_party": null,
      "risk": "write"
    }
  ],
  "mcp_tool_count": 23,
  "mcp_tools_evidence": "live-list",
  "mcp_tools_repo": null,
  "mcp_tools_repo_party": null,
  "mcp_catalog_shape": "fixed",
  "mcp_catalog_note": null,
  "mcp_tools_fetched_on": "2026-09-27",
  "cli_status": "none-found",
  "cli_party": null,
  "cli_binary": null,
  "cli_install": [],
  "cli_login": null,
  "cli_commands_seen": [],
  "cli_docs_url": null,
  "cli_repo": null,
  "cli_packages": [],
  "cli_evidence": null,
  "cli_checked_on": "2026-09-27",
  "github_org": null,
  "github_org_status": "unresolved",
  "github_org_url": null,
  "github_org_evidence": {
    "rule": null,
    "reason": "not checked: gh CLI missing or not logged in",
    "candidates_rejected": []
  },
  "github_org_repos": 0,
  "github_org_repos_mcp": 0,
  "github_org_repos_cli": 0,
  "github_org_latest_activity": null,
  "github_org_recent_repos": [],
  "github_org_checked_on": "2026-09-15",
  "mcp_endpoint": null,
  "mcp_docs_url": null,
  "endpoint_status": "not-probed",
  "endpoint_http_status": null,
  "endpoint_last_probed": null,
  "endpoint_wall_note": null,
  "canonical": true,
  "canonical_id": "01-datamerge-mcp",
  "also_listed_in": [],
  "source_file": "01-data-enrichment.md",
  "source_line": 4237,
  "file_index": 202,
  "category_num": "01",
  "category_slug": "data-enrichment",
  "category_label": "Data & Enrichment",
  "heading": "DataMerge MCP",
  "missing_schema_fields": [],
  "extra_fields": {},
  "display_rank": 336
}
