DataMerge MCP
DataMerge MCP: обогащение B2B-данных по 375 млн компаний — структура, иерархии, контакты
Что умеет
- Искать и обогащать данные о компаниях
- Строить корпоративную иерархию организации
- Искать и обогащать контакты по критериям
- Вести списки компаний и контактов
- Проверять баланс кредитов аккаунта
Какие данные видит
Ассистент обращается к базе DataMerge по API-ключу — данным о компаниях, иерархиях и контактах.
Нужен ли аккаунт
Нужен API-ключ из настроек сервиса
DataMerge MCP — сервер для обогащения данных о компаниях и контактах. Через ассистента можно искать юридические лица, строить корпоративные иерархии, находить и обогащать контакты, а также вести списки для дальнейшей работы.
Как подключить
Как подключить DataMerge MCP к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://mcp.datamerge.ai
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить DataMerge MCP к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://mcp.datamerge.ai
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить DataMerge MCP к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://mcp.datamerge.ai
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (23)
Технические названия из tools/list. Нужны только разработчикам.
| 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, skip_if_exists. |
| 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 · completed · failed. |
| start_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_enrichment plus poll_interval_seconds and timeout_seconds. |
| run_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 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 | 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 | 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. |
| get_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). Not both. Optional: add_to_list — list slug to add the company to (only with datamerge_id). |
| get_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), include_branches (bool), only_subsidiaries (bool), max_level (int), country_code (array), page (int). |
| contact_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 contact.phones). Use company_list (slug) instead of domains to search a saved list. |
| get_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_order (asc/desc). |
| 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 stable ids. BETA: requires the `contact_search_unenriched` flag on the account. |
| run_contact_search_unenriched | 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). |