AdsDoneEasy
Create, optimize, and publish Google Ads Search campaigns.
Что умеет
- Ade.Account.Health: Check auth, plan, and Google Ads connection status.
- Ade.Account.Get: Return the AdsDoneEasy user profile (no Stripe IDs).
- Ade.Account.Billing: Plan caps, remaining sync/optimize runs, and Stripe billing portal URL.
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
Create, optimize, and publish Google Ads Search campaigns. Analyze websites, research keywords, and generate ads; review quality, sync metrics, and publish paused.
Как подключить
Как подключить AdsDoneEasy к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://adsdoneeasy.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить AdsDoneEasy к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://adsdoneeasy.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 откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить AdsDoneEasy к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://adsdoneeasy.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (42)
Технические названия из tools/list. Нужны только разработчикам.
| ade.account.health | Check auth, plan, and Google Ads connection status. |
| ade.account.get | Return the AdsDoneEasy user profile (no Stripe IDs). |
| ade.account.billing | Plan caps, remaining sync/optimize runs, and Stripe billing portal URL. |
| campaign.projects.list | List Search campaign projects owned by the authenticated user. |
| campaign.projects.get | Get one project with version pointers. |
| campaign.artifacts.get | Load a campaign artifact by exact type. Prefer version from projects.get pointers; omit version for the latest of that type. |
| campaign.runs.get | Poll a CampaignRun by id (required after async wizard tools). |
| campaign.metrics.list | List CampaignPerformance rows for a project. |
| google.ads.list_accounts | List the Google Ads advertiser accounts connected to AdsDoneEasy (maximum five). |
| google.ads.list_customers | List addable Google Ads customers across existing and pending OAuth connections. |
| google.ads.connect_url | Return the AdsDoneEasy UI URL to connect Google Ads (OAuth runs in the browser). |
| google.ads.select_customer | Add an accessible Google Ads customer to AdsDoneEasy. The operation is idempotent. |
| google.ads.disconnect | Preview or remove one Google Ads account. This never deletes local projects or Google campaigns. |
| campaign.projects.create | Create a Search campaign. Expert starts analysis; Autopilot continues server-side. Requires a live subscription. Async; poll campaign.runs.get. |
| wizard.update.brief | Update brief fields (website, geo, budget, Expert maxCpc). |
| wizard.start.analysis | Start website crawl/analysis. Async; poll campaign.runs.get. |
| wizard.save.profile | Save business profile artifact edits. |
| wizard.confirm.profile | Confirm the business profile stage gate. |
| wizard.start.keywords | Start keyword research. Async; poll campaign.runs.get. |
| wizard.save.keywords | Save keyword selection edits. |
| wizard.generate.angles | Generate commercial angles. Async; poll campaign.runs.get. |
| wizard.approve.angles | Approve selected commercial angles. |
| wizard.generate.campaign | Generate RSA Search campaign. Async; poll campaign.runs.get. |
| wizard.campaign.validate | Validate the generated campaign structure. |
| wizard.save.changes | Save campaign draft edits. |
| wizard.quality.review | Run quality review. Async; poll campaign.runs.get. |
| campaign.optimize.run | Create an executable optimization proposal from Google Ads metrics. Async; poll campaign.runs.get. |
| keywords.maintenance.set | Set keyword eligibility recovery: automatic or review. |
| wizard.campaign.approve | Approve campaign for export/publish. |
| wizard.campaign.export | Create campaign export artifact. |
| campaign.runs.cancel | Cancel an in-flight campaign run. Payload must include runId. |
| autopilot.mode.set | Switch Autopilot or Expert. Payload: { workflowMode } (alias: mode). |
| autopilot.question.answer | Answer a waiting Autopilot question (questionVersion + optionId). |
| autopilot.run.retry | Retry Autopilot after a failure (bumps automationRevision). |
| autopilot.run.continue | Continue Autopilot. Payload must include automationRevision from projects.get. Async; poll campaign.runs.get. |
| campaign.optimize.apply | Apply selected recommendations from an immutable optimization proposal to Google Ads. Requires explicit confirm: true; campaign status and bidding strategy remain unchanged. |
| optimize.module.set | Enable or disable one automatic campaign-care module. All modules are enabled by default; expectedRevision prevents overwriting newer settings. |
| campaign.optimize.dismiss | Dismiss selected recommendations from the current immutable optimization proposal. |
| keywords.maintenance.apply | Apply selected replacements from the current keyword maintenance plan in review mode. Requires explicit confirm: true. Google validates demand before changing keywords. |
| campaign.metrics.refresh | Manually refresh Google Ads metrics. Optionally scope the refresh to one project; the first refresh backfills up to 180 days. |
| campaign.metrics.sync | Enable or disable daily metrics sync (Growth/Enterprise). |
| campaign.google.publish | Validate and publish the approved campaign to Google Ads as PAUSED. Requires confirm=true and an explicit EU political-advertising declaration. Never enables live spend. |