ConnectMachine MCP

ConnectMachine MCP server: manage contacts, events, networks, and digital business cards

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноТолько чтение

Что умеет

  • List Contacts: List contacts with pagination, search, and filtering. Args: page: Page number (1-indexed). limit: Results per page (max 100). search: Free-text search across name, company, job title, e
  • Get Contact: Get full details for a single contact. Args: contact_id: The contact UUID. Returns: Contact object with infos, tags, notes, location, and meeting details.
  • Create Contact: Create a new contact. Args: first_name: Contact first name (required). last_name: Contact last name. company: Company name. job_title: Job title / designation. network_id: Network/labe

Какие данные видит

Нужен ли аккаунт

Не нужен: сервер работает без входа

ConnectMachine MCP server: manage contacts, events, networks, and digital business cards

Как подключить

Как подключить ConnectMachine MCP к Claude

Адрес сервера, который нужно вставить в настройках Claude:

https://cm-mcp--connectmachine.run.tools

  1. Откройте Claude (сайт claude.ai или приложение для компьютера).
  2. Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
  3. Нажмите Добавить пользовательский коннектор (Add custom connector).
  4. Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
  5. В чате нажмите + → Коннекторы и включите новый коннектор.

Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.

Авторизация

После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.

Как подключить ConnectMachine MCP к ChatGPT

Адрес сервера, который нужно вставить в настройках ChatGPT:

https://cm-mcp--connectmachine.run.tools

  1. Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
  2. Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
  3. Откройте Настройки → Коннекторы и нажмите Создать (Create).
  4. Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
  5. В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
  6. В новом чате откройте + → Приложения/Коннекторы и включите коннектор.

Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.

Авторизация

При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.

Как подключить ConnectMachine MCP к Cursor

Адрес сервера, который нужно вставить в настройках Cursor:

https://cm-mcp--connectmachine.run.tools

Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.

Вручную:

  1. В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
  2. Вставьте JSON, скопированный ниже, в открывшийся файл ~/.cursor/mcp.json (для одного проекта: .cursor/mcp.json в корне проекта).
  3. Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.

Авторизация

Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.

Список инструментов сервера (40)

Технические названия из tools/list. Нужны только разработчикам.

list_contactsList contacts with pagination, search, and filtering. Args: page: Page number (1-indexed). limit: Results per page (max 100). search: Free-text search across name, company, job title, email, phone, notes, location, meeting location, and event names. E.g. "founder" matches job titles, "WebSummit" matches events. network_id: Filter by network/label ID. network_name: Filter by network/label name (Consumer API). status: Filter by contact status (e.g. active). industry_ids: Filter by industry IDs (see list_industries). country: Filter by country name(s), comma-separated. state: Filter by state name(s), comma-separated. city: Filter by city name(s), comma-separated. sort: Sort field — created_at, first_name, last_name, company. order: Sort direction — asc or desc. Returns: Paginated list of contacts with total count.
get_contactGet full details for a single contact. Args: contact_id: The contact UUID. Returns: Contact object with infos, tags, notes, location, and meeting details.
create_contactCreate a new contact. Args: first_name: Contact first name (required). last_name: Contact last name. company: Company name. job_title: Job title / designation. network_id: Network/label ID to assign the contact to (default network when omitted). notes: Free-text notes about the contact. bio: Short bio / description of the contact. industry_id: Industry ID to assign (see list_industries). emails: List of email objects, e.g. [{"value": "j@co.com", "label": "Work"}]. phones: List of phone objects, e.g. [{"value": "+1555123", "label": "Mobile"}]. events: List of event names where you met the contact (created if missing). Returns: The created contact object.
update_contactUpdate an existing contact's fields, contact info, and events. Only provided (non-empty) fields are changed. `emails`/`phones` REPLACE the contact's existing emails/phones respectively; other contact info types (websites, socials) are preserved. If you only have the contact's name (not their ID), call find_contact first. If it returns multiple matches, ask the user which one before calling this tool — never guess when contacts share a name. Args: contact_id: The contact UUID (required — from find_contact or a prior list/search call). first_name: New first name. last_name: New last name. company: New company. job_title: New job title. notes: New notes (replaces existing). bio: New bio (replaces existing). network_id: Move contact to this network/label. industry_id: Set the contact's industry (see list_industries). emails: Full new list of email objects, e.g. [{"value": "j@co.com", "label": "Work"}]. phones: Full new list of phone objects, e.g. [{"value": "+1555123", "label": "Mobile"}]. add_events: Event names to attach, e.g. where you met (created if missing). remove_events: Event names to detach from the contact. Returns: The updated contact object.
delete_contactsDelete one or more contacts. This is irreversible. If you only have a contact's name, call find_contact first. If it returns multiple matches, ask the user which one before deleting — never guess when contacts share a name. Args: contact_ids: List of contact UUIDs to delete (from find_contact or a prior list/search call). Returns: Confirmation with count of deleted contacts.
search_contactsSearch contacts by name, company, job title, email, phone, notes, location, meeting location, or event name. Examples: "founder" (job title), "Acme" (company), "WebSummit" (event where you met), "Berlin" (location / meeting location). This is a convenience wrapper around list_contacts with search; use list_contacts for industry or country/state/city filters. Args: query: Search text. limit: Max results to return (default 10). Returns: Matching contacts.
find_contactResolve a contact's name to a contact_id before calling update_contact, delete_contacts, or any tag/network tool that takes a contact_id. ALWAYS call this before acting on a contact by name. If two or more contacts share that name, this returns status="ambiguous" with every match — STOP and ask the user which one they mean before doing anything else. Never guess based on which one looks more "recent" or "complete"; a wrong guess edits/deletes/tags the wrong person's data. Args: name: Full name to look up, e.g. "Meraj Ansari". company: Optional company to narrow an ambiguous result. Returns: status="found" with a single `contact`, status="ambiguous" with a `matches` list (ask the user to pick one, then call this tool again with company set, or use the chosen contact_id directly), or status="not_found".
list_industriesList all industries (predefined + user-created) with their IDs. Use the IDs with list_contacts(industry_ids=...) to filter contacts by industry, or with create_contact/update_contact to set a contact's industry. Returns: Array of industry objects: id, name.
get_contact_countsGet how many contacts you have and where they came from. Returns the all-time total plus a breakdown by source, e.g. "ai" (added through an AI tool like this one), "manual", "qr", "import", "link", "nfc", "share_back". Returns: total, onboarded, and by_source counts. When the network is larger than the scan limit, `by_source` covers the most recent contacts and `breakdown_note` says how many were scanned.
get_duplicate_contactsFind duplicate contact groups. Returns: List of duplicate groups, each containing the matching contacts.
merge_contactsMerge duplicate contacts into one. Runs the required merge-preview step first (the backend builds the merge plan from it), then executes the merge with the previewed contact, optionally overridden by `fields`. Args: group_id: The numeric duplicate group ID from get_duplicate_contacts. contact_ids: The contact UUIDs in the group to merge (min 2). fields: Optional overrides for the merged contact, e.g. {"first_name": "Jane", "company": "Acme"}. Returns: The merged contact object.
assign_contacts_to_networkMove one or more contacts to a different network/label. Args: contact_ids: List of contact UUIDs to move. network_id: Target network UUID. Returns: Confirmation of the update.
list_networksList all networks (labels / contact groups) with contact counts. Returns: Array of network objects: id, name, description, contactsCount, isDefault.
create_networkCreate a new network (label / contact group). Args: name: Network display name (required). description: Optional description. Returns: The created network object.
update_networkUpdate a network's name or description. Args: network_id: The network UUID (required). name: New name (if non-empty). description: New description (if non-empty). Returns: The updated network object.
delete_networkDelete a network. Contacts in this network are moved to the default network. Args: network_id: The network UUID. Returns: Confirmation.
reorder_networksSet the display order of networks. Args: network_ids: Ordered list of network UUIDs (first = top). Returns: Confirmation.
list_eventsList the user's events, e.g. conferences and meetups where contacts were met. To see who you met at an event, search contacts by the event name. Returns: Array of event objects: id, name, type, created_at, updated_at.
add_events_to_contactAttach one or more events to a contact — e.g. where you met them. Event names are resolved to existing events or created if missing. If you only have the contact's name, resolve it with find_contact first — ask the user which contact if it's ambiguous. Args: contact_id: The contact UUID. event_names: Event names to attach, e.g. ["Web Summit 2026"]. Returns: Confirmation.
remove_events_from_contactDetach events from a contact by name. Args: contact_id: The contact UUID. event_names: Event names to remove from the contact. Returns: Confirmation, or a no-op note if none of the names matched.
create_import_sessionStart a new contact import session. The session tracks import progress and can be used for batch imports. Args: label: Human-readable label for this import batch (e.g. "Salesforce Q1 2026"). source: Import source identifier — "csv", "phonebook", or "crm". Returns: Import session object with id and status.
import_contacts_batchImport a batch of contacts into an existing import session. Each contact should have: first_name, last_name, company, job_title, and an infos array with {type, value, label} entries. Max 500 contacts per batch. Call multiple times for larger imports. Args: import_id: The import session UUID from create_import_session. contacts: Array of contact objects to import. Example: [{"first_name": "Jane", "last_name": "Doe", "company": "Acme", "infos": [{"type": "email", "value": "jane@acme.com", "label": "Work"}]}] Returns: Import progress with records_imported and records_skipped counts.
get_import_statusCheck the status of an import session. Args: import_id: The import session UUID. Returns: Session object with status (pending/in_progress/completed), records_imported, records_skipped, started_at, finished_at.
list_import_sessionsList all import sessions for the authenticated user. Returns: Array of import session objects.
abort_importCancel an in-progress import session. Args: import_id: The import session UUID. Returns: Confirmation.
export_contacts_csvExport contacts as CSV. Requires ConnectMachine Premium — free accounts get a clear upgrade message instead of the export. Args: network_id: Optional — export only contacts from this network/label. Omit to export all contacts from every network. Returns: Export result with download_url and expires_at.
list_cardsList the authenticated user's business cards. Args: include_archived: True returns every card, archived ones included. False (default) returns only active, non-archived cards. Returns: Array of card objects with id, label, first_name, last_name, company, job_title, social_links, profile_pic_url.
get_cardGet full details for a single business card. Args: card_id: The card UUID. Returns: Card object with all fields, infos, social links, and share settings.
create_cardCreate a new business card. Args: label: Card display label (required). first_name: First name on the card (required). last_name: Last name on the card. company: Company name. job_title: Job title / designation. emails: Email entries, e.g. [{"value": "j@co.com", "label": "Work"}]. phones: Phone entries, e.g. [{"value": "+1555123", "label": "Mobile"}]. websites: Website entries, e.g. [{"value": "example.com", "label": "Website"}]. A missing scheme is normalized to https://. social_links: Social profile entries, e.g. [{"value": "https://linkedin.com/in/jane", "label": "LinkedIn"}]. `label` should be the platform name (LinkedIn, Twitter/X, Instagram, GitHub, YouTube, TikTok, WhatsApp, etc.) — the web/App Clip card picks the icon from it. `value` may be a full URL or a bare handle; for a known platform a handle is expanded to the full profile URL. Returns: The created card object.
update_cardUpdate a business card's fields. Only non-empty fields are updated. Args: card_id: The card UUID (required). label: New card label. first_name: New first name. last_name: New last name. company: New company. job_title: New job title. emails: Full new list of email objects, e.g. [{"value": "j@co.com", "label": "Work"}]. Replaces existing emails; other info types are preserved. phones: Full new list of phone objects, e.g. [{"value": "+1555123", "label": "Mobile"}]. Replaces existing phones; other info types are preserved. websites: Full new list of website objects, e.g. [{"value": "example.com", "label": "Website"}]. A missing scheme is normalized to https://. Replaces existing websites; other info types are preserved. social_links: Full new list of social profile objects, e.g. [{"value": "https://linkedin.com/in/jane", "label": "LinkedIn"}]. `label` should be the platform name (drives the web/App Clip icon); `value` may be a full URL or a bare handle (expanded for known platforms). Replaces existing social links; other info types are preserved. Returns: The updated card object.
delete_cardDelete a business card permanently. Args: card_id: The card UUID. Returns: Confirmation.
get_shared_cardFetch a business card's public details via its share link ID. This does not require authentication — used when a CRM receives a ConnectMachine share link. Args: share_id: The short share ID from a mycm.ai link. Returns: Public card details: name, company, title, contact info, social links.
read_card_imageExtract contact information from a business card image using AI/OCR. Provide either image_base64 (the card photo) or ocr_text (pre-extracted text), or both for best accuracy. Args: image_base64: Base64-encoded card image (JPEG/PNG). ocr_text: Pre-extracted OCR text from the card. latitude: Optional — current latitude for location enrichment. longitude: Optional — current longitude for location enrichment. Returns: Extracted contact fields: first_name, last_name, company, job_title, infos (emails, phones, websites), and location.
list_notificationsList notifications for the authenticated user. Args: notification_type: Filter by type — system, card_share, connection_request, netsend. is_unread: Only return unread notifications. limit: Results per page (max 100). offset: Offset for pagination. Returns: Paginated list of notifications.
get_unread_countGet the count of unread notifications. Returns: Object with unread_count field.
mark_notification_readMark a single notification as read. Args: notification_id: The notification UUID. Returns: Confirmation.
mark_all_notifications_readMark all notifications as read, optionally filtered by source. Args: source: Optional — only mark notifications from this source as read. Returns: Confirmation with count of notifications marked.
get_profileGet the authenticated user's profile. Returns: User object: id, first_name, last_name, email, phone, company, designation, bio, subscription status, profile_pic_url.
get_subscription_statusGet the user's current subscription status and available plans. Lists the monthly and yearly subscriptions only. One-off purchases and trial details are left out, so an assistant does not offer them as if they were plans. Returns: Subscription details: whether the account is paid, the active and previous subscriptions, and the monthly/yearly plans with prices.
get_enrichment_dataGet auto-enrichment data for the authenticated user. Uses public data to suggest profile completions: name, company, designation, social profiles. Returns: Enrichment suggestions with confidence scores.
ConnectMachine MCP: подключить к Claude, ChatGPT, Cursor · Connectors.fun