Groundbase CRM

Groundbase CRM — CRM за $9 в месяц с рассылкой SMS и email прямо из ассистента

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

Что умеет

  • Искать, создавать и обновлять контакты
  • Отправлять SMS сразу или по расписанию
  • Управлять компаниями и сделками в воронке
  • Двигать сделки по стадиям и назначать задачи
  • Просматривать историю переписки по контакту

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

Ассистент действует от имени владельца аккаунта Groundbase и отправляет сообщения через его собственные подключённые Twilio и Resend.

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

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

Groundbase — CRM с фиксированной ценой 9 долларов в месяц, рассчитанная на одного технического основателя. В отличие от большинства CRM-коннекторов, которые только читают записи, Groundbase умеет реально отправлять SMS и письма, ставить контакты в цепочки и запускать сценарии — через собственные аккаунты Twilio и Resend пользователя без наценки. Поддерживает OAuth 2.1 и вход по API-ключу.

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

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

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

https://groundbase--adam-jsdb.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 не видит.

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

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

https://groundbase--adam-jsdb.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 откроет окно входа в сервис. Войдите и подтвердите доступ.

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

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

https://groundbase--adam-jsdb.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 появится кнопка авторизации.

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

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

contacts_listList the user's contacts with optional search/pagination. Use this to find a contact before calling get/update/delete, or to summarize who's in the CRM. Defaults to 50 results; pass `limit` up to 200 for more.
contacts_getFetch a single contact by id, including tags, addresses, custom fields, and recent activity.
contacts_createCreate a new contact. At minimum, provide first_name or last_name or email — at least one of those is required. Phone numbers should be E.164 (+1...) when known; the API will normalize.
contacts_updatePatch an existing contact. Only include fields you want to change — omitted fields are left as-is. Pass an empty string to clear a field (vs. omitting it which keeps the current value).
contacts_deleteSoft-delete a contact (the row is hidden from lists but kept for audit/restore). DESTRUCTIVE — confirm with the user before calling unless they explicitly asked to delete.
sms_send_nowSend an SMS message to a phone number immediately. The recipient phone must be in E.164 format (+1...). Cost is billed at $0.025/segment (160 GSM chars per segment, 70 unicode). Pass contactId when available so the message attaches to that contact's thread.
sms_send_scheduledSchedule an SMS message for future delivery. `scheduledAt` must be an ISO 8601 timestamp in the future (UTC or with offset). The per-minute cron dispatches scheduled messages as their time arrives. Same billing as send_now — final balance debit happens at fire time, so a top-up between scheduling and sending works.
sms_list_scheduledList the user's pending scheduled SMS messages (status='scheduled', not yet sent). Useful for showing the user what's queued up or finding a message id to cancel.
sms_cancel_scheduledCancel a scheduled SMS that hasn't been sent yet. Only works while status='scheduled' — already-delivered messages can't be unsent. Returns 404 if the id is unknown or already fired.
sms_list_threadList recent SMS messages in a thread with a specific phone number — useful for showing the last few exchanges before drafting a reply.
companies_listList the user's companies. Use this to find a company before linking a contact to it, or to summarize accounts in the CRM. Note: like contacts.list, the current API caps the response server-side; pagination params are advisory until the cap is lifted.
companies_getFetch a single company by id (includes employees, deals, addresses, custom fields).
companies_createCreate a new company. Name is required. Website should include the protocol (https://...). Tags are created on the fly if missing.
companies_updatePatch a company. Only include fields you want to change.
companies_deleteSoft-delete a company. Contacts and deals previously linked to this company become unlinked but are NOT deleted themselves. DESTRUCTIVE — confirm with the user first.
deals_listList deals. Returns all open + closed deals with their stage, value, contact, and company. Use this to summarize pipeline, find a deal to update, or filter by stage / value.
deals_getFetch a single deal by id, including notes, tasks, and the contact/company linked.
deals_createCreate a deal. title + stageId required. valueCents is in CENTS (so $1,500 = 150000). Link to a contact via contactId or a company via companyId (you can also pass both).
deals_updatePatch a deal. Only include fields to change.
deals_move_stageMove a deal to a different pipeline stage. Common stage names are "Lead", "Qualified", "Proposal", "Won", "Lost", but the actual stages and their UUIDs are per-user — call deal_stages.list first if you don't know the destination stage id.
deals_deleteSoft-delete a deal. DESTRUCTIVE — confirm first.
deal_stages_listList the user's pipeline stages in order. Call this BEFORE creating a deal or moving one between stages so you have the correct stage UUIDs. Returns name, color, position, and id.
tasks_listList tasks/events/meetings for the user. Filter by `kind`, `status`, `contactId`, or date range. Defaults to showing open (status=open) items of all kinds.
tasks_getFetch a single task/event/meeting by id.
tasks_createCreate a task, event, or meeting. • `task` — has dueAt + optional recurrence. • `event` — has startAt + endAt. • `meeting` — has startAt + endAt + location. Title is required. Link to a contact (contactId), company (companyId), or deal (dealId).
tasks_updatePatch a task. Only include fields to change.
tasks_completeMark a task done. For recurring tasks, the server automatically spawns the next occurrence so the series keeps going — you don't need to create it manually.
tasks_deleteSoft-delete a task. DESTRUCTIVE — confirm first.
notes_listList notes attached to a contact, company, or deal. Use this to show recent context before drafting a follow-up. Pass exactly one of contactId / companyId / dealId.
notes_createAdd a note to a contact, company, or deal. Notes are plain text and appear on the entity's timeline alongside calls, texts, and emails. Provide EXACTLY ONE of contactId / companyId / dealId.
notes_updateEdit an existing note's text.
notes_deleteSoft-delete a note. DESTRUCTIVE — confirm first.
tags_listList all tags the user has defined. Useful before applying a tag to find its UUID, or to see what tags already exist before creating new ones.
tags_createCreate a new tag. Name is required. Color is a hex string like "#B91C1C".
tags_updateRename a tag or change its color.
tags_deleteDelete a tag. Contacts previously tagged with it lose the tag but are NOT deleted. DESTRUCTIVE — confirm first.
tags_applyApply a tag to one or more contacts in bulk. Idempotent — contacts already tagged are skipped without error. Returns count of contacts the tag was newly applied to.
tags_removeRemove a tag from one or more contacts in bulk. Idempotent.
sms_templates_listList the user's SMS templates. Each template has a name, body, and (for email) subject. Use this to find an existing template before drafting a new one.
sms_templates_getFetch a single SMS template by id.
sms_templates_createCreate a new SMS template. Use {{first_name}} / {{last_name}} / {{full_name}} / {{company}} placeholders — they're substituted at send time. Returns the new template id.
sms_templates_updateEdit an existing SMS template.
sms_templates_deleteSoft-delete a SMS template. DESTRUCTIVE — confirm first.
email_templates_listList the user's EMAIL templates. Each template has a name, body, and (for email) subject. Use this to find an existing template before drafting a new one.
email_templates_getFetch a single EMAIL template by id.
email_templates_createCreate a new EMAIL template. Use {{first_name}} / {{last_name}} / {{full_name}} / {{company}} placeholders — they're substituted at send time. Subject is required for email templates. Returns the new template id.
email_templates_updateEdit an existing EMAIL template.
email_templates_deleteSoft-delete a EMAIL template. DESTRUCTIVE — confirm first.
email_sendSend an email from the user's connected email account. `to` can be a single address or a comma-separated list. Provide `bodyHtml` (preferred), `bodyText` (plain), or both — at least one is required. Pass `contactId` when sending to a Groundbase contact so merge tags like {{first_name}} and {{cf.<field_key>}} resolve and the message threads against that contact. The user's saved signature is appended automatically.
dashboard_summaryGet top-of-app KPI summary: total contacts, open deals + their total value, won deals + their total value, messages sent/received this period. Plus a 30-day series for charting.
activity_listRecent activity feed: SMS sent/received, calls, emails, notes added, deal stage changes, task completions. Returns most recent first. Use this to summarize "what happened with X" or build a weekly digest of CRM activity.
workflows_listList the user's workflows with their trigger summary, step count, active/paused state, and last-run timestamp. Use this to see what automations exist before creating new ones or before modifying an existing one.
workflows_getFetch one workflow by id, including the full step tree and condition. Use this after workflows_list to inspect details before editing.
workflows_createCreate a workflow. `trigger_type` is one of "entity_event" (fires on contact.created etc.), "scheduled" (cron/one-time), "inbound_webhook" (when a Groundbase inbound webhook receives a POST), or "manual" (only fired by workflows_run_now). For entity_event, set trigger_event to e.g. "contact.created", "deal.stage_changed", "task.completed". For scheduled, pass trigger_config like { recurrence: "one_time"|"daily"|"weekly"|"hourly", run_at?, time_of_day?, days_of_week?, minute_of_hour?, timezone? }. For inbound_webhook, trigger_event is the inbound webhook id from inbound_webhooks_list. Steps run sequentially. Step shapes: `send_sms` { to?, body }; `send_email` { to, subject, body_html?, body_text?, contact_id? }; `apply_tag` { tag_name, entity_id?, entity_type? }; `remove_tag` { tag_name, entity_id?, entity_type? }; `create_note` { body, entity_type?, entity_id? }; `create_task` { title, description?, due_at?, due_in_days?, kind?, location?, contact_id? }; `fire_webhook` { url, method?, headers?, body? }; `update_field` { entity_type?, entity_id?, field, value } — restricted to a safe allow-list of native columns (first_name, last_name, email, phone, position, city, source, notes, primary_phone, company_id); `set_custom_field` { entity_type?, entity_id?, field_key, value } — writes to a custom field defined in Settings → Custom fields. field_key accepts "loan_amount" or "cf.loan_amount" (the cf. prefix is optional); `delay` { delay_seconds }; `branch` { condition: { all|any: [{ field, op, value }] }, then: [Step], else: [Step] }. Templates supported in string fields: {{first_name}}, {{trigger.event}}, {{steps.<id>.output.<key>}}. Step ids auto-generated as s_<8hex> if omitted; pass an explicit "id" to make {{steps.X.output.Y}} references stable across edits.
workflows_updatePatch a workflow. Only include fields you want to change. Useful for tweaking step config, updating the trigger event, switching trigger types (e.g. from manual to entity_event), or rewording the name. To toggle active/paused state, prefer workflows_pause / workflows_resume. NOTE: changing triggerType to entity_event or inbound_webhook usually means you also want to pass triggerEvent in the same call — otherwise the workflow may end up in an inconsistent state where the type is set but no matching event is configured.
workflows_pausePause a workflow so it stops firing on its trigger. Existing runs continue but no new ones start. Reversible via workflows_resume.
workflows_resumeResume a paused workflow so it starts firing on its trigger again.
workflows_deleteSoft-delete a workflow. DESTRUCTIVE — confirm with the user before calling unless they explicitly asked to delete.
workflows_run_nowManually fire a workflow on a specific entity, bypassing its trigger. Useful for testing a workflow you just authored, or for one-off automations the user invokes by name (e.g. "run my onboarding workflow on John Doe"). The entity must already exist; the workflow's trigger context is synthesized as { entity_type, entity_id, payload }.
inbound_webhooks_manageManage inbound webhooks (URLs the world POSTs to so Groundbase creates contacts/deals/tasks/etc.). Dispatched by `action`: - "list": list all of the user's inbound webhooks (URL token NOT returned). No other args. - "get": fetch one by id (URL token NOT returned). Requires `id`. - "create": author a new webhook. Returns the FULL URL with token ONCE — flag this to the user; it cannot be retrieved later. Most senders use mappingMode="native"; use "mapped" only when the sender has a fixed payload shape that needs translating. signingSecret is OPTIONAL. Requires `name`. - "update": patch fields. Requires `id`. Only pass the fields you want to change. - "delete": DESTRUCTIVE. The URL stops accepting POSTs immediately. Confirm with the user first.