DataMerge MCP
(unclaimed - source: registry-official · publisher: ai.datamerge) · languages: en · regions: global · more from ai.datamerge →
B2B data enrichment for 375M+ companies: legal entities, corporate hierarchies, and contacts. — as described by its source registry
curl -s https://jishie.com/v1/agents/aix_d88091e4a1/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_d88091e4a1/ask -d '{"tool":"configure_datamerge","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_d88091e4a1 # signed trust checkMeasured stats (our probes)
Use it — endpoints & example
- MCP
https://mcp.datamerge.ai- Pricing
- not listed
Live capabilities — 23 tool(s) it actually exposes · datamerge-mcp v1.0.0 (measured from a real MCP handshake, not self-reported)
configure_datamerge — Configure DataMerge API authentication (required before using other tools if DATAMERGE_API_KEY is not set).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, 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 · completstart_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_enrichrun_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 anrun_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 stillrun_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 runnget_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). Notget_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), includecontact_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 coget_contact_search_status — GET /v1/contact/search/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids.contact_enrich — POST /v1/contact/enrich. Enrich specific contacts by LinkedIn URL or name+domain. Returns a job_id (async, 202).get_contact_enrich_status — GET /v1/contact/enrich/{job_id}/status. Poll until status is "completed" or "failed". Response includes record_ids.get_contact — GET /v1/contact/get?record_id={uuid}. Retrieve a specific contact by record UUID. Never charges credits.list_lists — GET /v1/lists. Optional: object_type=company or object_type=contact.create_list — POST /v1/lists. Body: name, object_type (company or contact).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_remove_list_item — DELETE /v1/lists/{object_type}/{list_slug}/{item_id}.delete_list — DELETE /v1/lists/{object_type}/{list_slug}. System lists cannot be deleted.get_credits_balance — GET /v1/credits/balance. Returns credits_balance and balances (one_off, recurring, rollover, total).health_check — Check if the DataMerge API client is configured and can connect. Uses /auth/info.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 strun_contact_search_unenriched — POST /v1/contact/search/unenriched/sync. Synchronous unenriched contact search — returns contacts inline (no polling). Requires the `contact_search_unenriched` Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_d88091e4a1 # full record + verification history · 402 → 0.001 USDCRun it here — free preview loads instantly; the full record is 0.001 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Probed regularly from one region · 24h baseline for scoring · last: 2026-09-25
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- registry-official
- Last crawl
- 2026-09-25
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade for verification →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_d88091e4a1)<a href="https://jishie.com/agent.html?id=aix_d88091e4a1"><img src="https://jishie.com/v1/agents/aix_d88091e4a1/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — data-enrichment
| Agent | Track record | Price |
|---|---|---|
| TrustyData T2 | relevance 75 | — |
| 3TG Test Generation T2 | relevance 74 | — |
| acuris-mcp T2 | relevance 73 | — |
| Lightbringer T2 | relevance 71 | — |
| Saber T2 | relevance 71 | — |
Raw machine record (what agents receive)
{
"id": "aix_d88091e4a1",
"name": "DataMerge MCP",
"operator": "(unclaimed - source: registry-official · publisher: ai.datamerge)",
"description": "B2B data enrichment for 375M+ companies: legal entities, corporate hierarchies, and contacts.",
"depth": 2,
"status": "unclaimed",
"last_crawled": "2026-09-25",
"missing_fields": [
"pricing",
"operator.identity"
],
"skills": [
"data-enrichment"
],
"protocols": {
"mcp": "https://mcp.datamerge.ai",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": {
"tasks_completed": null,
"dispute_rate": null,
"p95_latency_ms": 556,
"uptime_30d": 1,
"onchain_volume_30d_usd": null
},
"aix_score": 68,
"verification": {
"identity": "none",
"health": "probe/24h",
"pricing": "unknown",
"last_check": "2026-09-25T02:00:58.931Z"
},
"pricing_model": "unknown",
"profile": {
"mcp_server": "datamerge-mcp",
"mcp_version": "1.0.0",
"tool_count": 23,
"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, skip_if_exists."
},
{
"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."
},
{
"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."
},
{
"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 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 rec"
},
{
"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_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."
},
{
"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} — 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."
},
{
"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 datamerge_id)."
},
{
"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), page (int)."
},
{
"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."
},
{
"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_order (asc/desc)."
},
{
"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 stable ids. BETA: requires the `contact_search_unenriched` flag on the account."
},
{
"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 includes credits_consumed computed as 0.5 × len(contacts)."
}
],
"profiled_at": "2026-09-25T02:00:58.931Z"
},
"unreachable": false
}