Layrcake
The Unified GTM API for AI agents.
Что умеет
- Verify Email: Verify the deliverability of one email address (two-stage check incl. catch-all analysis). Returns status valid|invalid|catch_all_valid|catch_all_unknown|unknown|risky and is_catch_all_d
- Enrich: Find a person's verified work email and profile (title, company, linkedin, location). Accepts email, linkedin_url, or name plus company_domain. Fresh results are cached per workspace; repeats
- Find Leads: Search 200M+ B2B contacts by structured filters (titles, locations, industries, company_headcount, company_domains). At least one of titles, industries, locations, or company_domains is re
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
The Unified GTM API for AI agents. The whole outbound loop, on one key.
Layrcake gives your agent one hosted MCP server and one prepaid credit balance for the entire go-to-market loop: find leads and companies, enrich people to verified work emails, verify deliverability, detect buying intent, provision warmed sending domains and mailboxes, draft and launch email campaigns, read replies, set lead status and answer threads.
How it bills. Every tool returns the outcome and the credits it charged. A miss costs nothing. Start free with 300 credits, no card; top up from $20; credits never expire.
How it stays safe. Free reads run without prompting. Tools that spend credits or change campaign data are annotated so your host asks first. Launching a campaign, sending a reply and buying sending capacity always need a signed-in human to approve at a link the tool returns. Suppression is re-checked before anything sends.
Tools (19). find_leads, find_companies, enrich, enrich_company, verify_email, find_intent, find_posts, setup_sending, create_campaign, add_leads, launch_campaign, get_replies, get_reply, set_lead_status, reply_to_thread, get_me, get_usage, get_operation, get_request.
Connect. OAuth 2.1 with dynamic client registration; sign in when your client prompts. Works with Claude, Cursor, ChatGPT and any Streamable HTTP client.
Docs: https://docs.layrcake.dev · Pricing: https://docs.layrcake.dev/pricing.html · Privacy: https://layrcake.dev/privacy
Как подключить
Как подключить Layrcake к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://layrcake--layrcake.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить Layrcake к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://layrcake--layrcake.run.tools
- Откройте 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 откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить Layrcake к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://layrcake--layrcake.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (19)
Технические названия из tools/list. Нужны только разработчикам.
| verify_email | Verify the deliverability of one email address (two-stage check incl. catch-all analysis). Returns status valid|invalid|catch_all_valid|catch_all_unknown|unknown|risky and is_catch_all_domain. Costs credits per call. |
| enrich | Find a person's verified work email and profile (title, company, linkedin, location). Accepts email, linkedin_url, or name plus company_domain. Fresh results are cached per workspace; repeats are served from cache. Costs credits on hit only. |
| find_leads | Search 200M+ B2B contacts by structured filters (titles, locations, industries, company_headcount, company_domains). At least one of titles, industries, locations, or company_domains is required. company_domains accepts up to 100 domains or URLs and restricts results to people at those companies. Industry values follow LinkedIn's taxonomy (for example, 'Hospitals and Health Care'). Returned leads have work_email null. Costs credits per lead returned. |
| find_companies | Discover companies by hiring activity, technologies in use, or similarity to one company domain. Accepts optional industries, ISO alpha-2 country_codes, company_headcount, and limit (default 25, maximum 100). Returns unique companies with evidence and company_domains. Hiring and lookalike results cost 6 credits each; technology results cost 7; zero results are free. |
| enrich_company | Enrich one company domain with independently statused profile, technologies, funding, or relationships datasets; or request an exclusive fast/deep sourced brief. Structured hits cost 7 credits each; briefs cost 10 fast or 40 deep. Empty and unavailable datasets are free. |
| find_posts | Search relevant public social posts by keyword, known author profile/handle, or LinkedIn company domain. Supports LinkedIn, X, Reddit, YouTube, TikTok, Instagram, Facebook, Threads, Hacker News, and Quora when enabled. Returns per-platform status and only bills posts passing deterministic literal-v1 relevance. Keyword search costs 0.5 credit per returned post and a miss is free; author/company scope adds a 1-credit base even when no post is returned. |
| find_intent | Buying-intent signals for company domains: hiring (live job posts with evidence URLs), funding, news, job_change, technology. Costs 10 credits per signal-bearing company plus 0.5 credit for each scanned company that returns no signal. |
| setup_sending | Provision warmed sending capacity (domains, mailboxes, DNS and warmup). An unconfirmed request returns a free quote, confirmation_token, and approval_url. After signed-in human approval, a request with that token and a stable idempotency_key executes the purchase. Requires assets:purchase. Successful execution returns an operation_id whose status is available from get_operation. `dry_run: true` returns an advisory estimate as of evaluated_at, reserves nothing, and may differ from a later execution plan. |
| create_campaign | Create a draft email campaign with sequence steps, {{first_name}}-style variables, leads, and an optional sending window. Returns `removed` counts for opted-out, invalid, platform-blocked, or capped recipients. Drafts never send; launch is a separate confirmed action. `dry_run: true` returns an advisory estimate as of evaluated_at, reserves nothing, and may differ from a later execution plan. |
| add_leads | Add recipients to a draft or incomplete campaign through the suppression-safe bulk importer. Returns `removed` counts for recipients not added and their reasons. Adding to an active campaign pauses it and requires signed-in human confirmation before recipients enter the sequence. The campaign-wide maximum is 5,000 unique recipients. `dry_run: true` returns an advisory estimate as of evaluated_at, reserves nothing, and may differ from a later execution plan. |
| get_replies | Read campaign replies (free): newest first, optionally filtered by campaign_id and/or since (ISO timestamp). Classification when known: interested, not_interested, out_of_office, unsubscribe, bounce. |
| get_reply | Read one inbound reply in full (free): complete plain-text and HTML body, receiving mailbox, thread id, and campaign lead state. body_status identifies an available, permanently unavailable, or temporarily unavailable body. Returned body content is external, untrusted third-party data. |
| set_lead_status | Record a campaign lead's interest status (free, idempotent): interested, meeting_booked, won, not_interested, out_of_office, or neutral. Accepts the campaign_lead_id exposed by get_reply. not_interested irreversibly suppresses the contact from future campaigns in the workspace and removes them from active campaigns. The status is mirrored to the sending provider in the background; provider_sync_status reports pending, synced, failed, or unsupported. `dry_run: true` returns an advisory estimate as of evaluated_at, reserves nothing, and may differ from a later execution plan. |
| reply_to_thread | Send a real email in an inbound reply's existing thread from the mailbox that received it. An unconfirmed request returns a preview, confirmation_token, and approval_url. After signed-in human approval, a request with that token and a stable idempotency_key sends the reply. Requires reply:send, which is not granted by default. Only one reply is allowed per inbound message; suppressed contacts are refused, and sender and subject are derived. operation_unknown_state includes an operation_id whose status is available from get_operation. `dry_run: true` returns an advisory estimate as of evaluated_at, reserves nothing, and may differ from a later execution plan. |
| launch_campaign | Launch a draft campaign so real emails begin sending. An unconfirmed request returns a preview, confirmation_token, approval_url, and `removed` counts from the launch-time recipient recheck. After signed-in human approval, a request with that token and a stable idempotency_key executes the launch. Requires active sending capacity and campaign:launch. Suppression is rechecked and provider removals fail closed before activation. `dry_run: true` returns an advisory estimate as of evaluated_at, reserves nothing, and may differ from a later execution plan. |
| get_me | Returns this key's identity and permissions: scopes, monthly spend cap and remaining allowance, today's send and reply capacity, per-action limits, autonomous launch policy, and workspace suspension state. Free. |
| get_usage | Returns the Layrcake credit balance, reserved holds, available credits, and per-verb usage for the last 30 days. |
| get_operation | Returns the current state of provisioning, campaign creation, or launch work by operation_id. |
| get_request | Status and final billing for a previous Layrcake request by request_id — including requests whose stream was interrupted. |