# C1 Marketing Tooling — Home Doc **Раздел карты:** C1 «Маркетинг и привлечение» **Версия:** 1.0 от 22.05.2026 **Кросс-ссылки:** [Tooling §4.49–58](../Tooling_v8_3.md) · [ADR-015](../adr/015-marketing-tooling.md) · [Spec](../superpowers/specs/2026-05-22-c1-marketing-tooling-design.md) · [Plan](../superpowers/plans/2026-05-22-c1-marketing-tooling.md) · [marketing-vet.md](../security/marketing-vet.md) --- ## Карта раздела — 10 узлов (#74–83) | # | Узел | Категория | Описание | |---|---|---|---| | 74 | **analytics-dashboard** (reuse #19 Superpowers + #10 Boost) | reuse | Анализ конверсий воронки и когорт прямо из кода/БД через Boost — без нового инструмента | | 75 | **seo-content** (reuse #66 laravel-backend-patterns + #60 context7) | reuse | SEO-метаданные в роутах Laravel, структурированные данные; context7 для актуальных стандартов | | 76 | **utm-tracking** (reuse #47 openapi-mcp-server) | reuse | UTM-параметры через OpenAPI-спеку портала — обогащение сделок источником трафика | | 77 | **ad-creative** (reuse #46 Design plugin + #45 Universal Icons MCP) | reuse | Генерация креативов и UX-копирайт для рекламных материалов | | 78 | **marketing-metrika** | analytics | Яндекс Метрика MCP — посещаемость, источники, конверсии (READ-ONLY) | | 79 | **marketing-wordstat** | research | Яндекс Wordstat MCP — ключевые слова, поисковый спрос РУ-рынка (Wordstat only) | | 80 | **marketing-telegram** | social | Telegram MCP — публикации, планирование и аналитика Telegram-каналов Лидерры | | 81 | **marketing-postiz** | social | Postiz MCP — кросс-постинг в соцсети (self-hosted AGPL; **DEFERRED до self-host**) | | 82 | **marketing-dataforseo** | research | DataForSEO API MCP — SERP/SEO аналитика (**DEFERRED**, платный, post-Б-1) | | 83 | **marketing-unisender** | email | Unisender Go MCP — email-рассылки (**DEFERRED**, обёртка не готова; SMTP уже в стеке) | --- ## Что ставим сейчас vs DEFERRED ### Установлено / проволочено в `.mcp.json` (Task 4) | # | Инструмент | npm-пакет | Статус в `.mcp.json` | |---|---|---|---| | 78 | Yandex Metrika MCP | `yandex-metrika-mcp` (MIT) | Активный entry `marketing-metrika` | | 79 | Yandex Wordstat MCP | `yandex-wordstat-mcp` (MIT) | Активный entry `marketing-wordstat` | | 80 | Telegram MCP | `github:chigwell/telegram-mcp` (Apache-2.0) | Активный entry `marketing-telegram` | | 81 | Postiz MCP | `postiz-mcp` (лицензия под ветом) | Закомментированный skeleton `_comment_postiz_skeleton` | **Что нужно от заказчика перед использованием #78/#79:** 1. Получить OAuth-токен на [oauth.yandex.ru](https://oauth.yandex.ru), приложение с доступом к Метрике/Директ (scope read-only). 2. Добавить в `.env.local` (gitignored): `YANDEX_OAUTH_TOKEN=y0_AgA...` **Что нужно для #80 (Telegram):** 1. Зарегистрировать выделенный Telegram-аккаунт для Лидерры (не личный). 2. Получить `TELEGRAM_API_ID` и `TELEGRAM_API_HASH` на [my.telegram.org/apps](https://my.telegram.org/apps). 3. Сгенерировать `TELEGRAM_SESSION_STRING` один раз через GramJS или Telethon. 4. Добавить все три значения в `.env.local`. ### DEFERRED | # | Причина отсрочки | |---|---| | 81 Postiz | Требует self-host `gitroomhq/postiz-app`; лицензия `antoniolg/postiz-mcp` не верифицирована (см. Open vet notes) | | 82 DataForSEO | Платный API; активировать post-Б-1 (регистрация ООО, реквизиты) | | 83 Unisender Go | SMTP уже настроен в стеке (фирменная почта liderra.ru); отдельная MCP-обёртка — отдельный ADR | --- ## Постура безопасности ### #78 Metrika — READ-ONLY analytics - OAuth-токен запрашивается с минимальными правами: `y.metrika.direct.read` (чтение Метрики). - **Никаких мутирующих вызовов** через MCP: цели, фильтры, настройки счётчиков — только через Яндекс UI. - Токен хранится в `.env.local` (gitignored), не в `.mcp.json`. ### #79 Wordstat — Wordstat only, без Direct-мутаций - IS9-постура: Wordstat-инструменты (keyword research, trends) разрешены. - **Direct-инструменты мутации** (создание кампаний, изменение ставок, управление объявлениями) — **запрещены** (MKT8: нет автоматических трат рекламного бюджета без явного подтверждения заказчика). - Один OAuth-токен на #78 и #79 — read-only scope достаточен для обоих. ### #80 Telegram — выделенный аккаунт (MKT8) - Session String — эквивалент полного доступа к аккаунту. Хранить только в `.env.local`. - **Обязателен выделенный аккаунт Лидерры**, не личный аккаунт Дмитрия: если SESSION_STRING утечёт — только бизнес-аккаунт под угрозой. - Публикации в Telegram-каналах через MCP — только после явного подтверждения содержания. ### #81 Postiz — internal-only, AGPL-3.0 - `gitroomhq/postiz-app` лицензирован AGPL-3.0: использование разрешено для внутренних нужд Лидерры без изменения кода. - **Запрещено**: модифицировать исходный код Postiz без публикации изменений (AGPL требование). - `antoniolg/postiz-mcp` лицензия — под ветом (см. ниже). --- ## Postiz self-host инструкция Когда будет готово (после Б-1 и верификации лицензии): ```bash # 1. Клонировать репозиторий git clone https://github.com/gitroomhq/postiz-app cd postiz-app # 2. Запустить через Docker Compose (рекомендуемый способ) cp .env.example .env # Отредактировать .env: DATABASE_URL, REDIS_URL, JWT_SECRET, BACKEND_INTERNAL_URL docker-compose up -d # 3. Открыть UI на http://localhost:5000, создать аккаунт # 4. Подключить соцсети (VK, Telegram, Instagram и др.) в разделе Integrations # 5. Получить API Key в настройках Postiz # 6. Добавить в .env.local: # POSTIZ_API_URL=http://localhost:5000 # POSTIZ_API_KEY=<ключ из Postiz UI> ``` Документация Postiz: [docs.postiz.com](https://docs.postiz.com) Для активации MCP-entry — раскомментировать `_comment_postiz_skeleton` в `.mcp.json` согласно инструкции внутри. > AGPL-3.0 обязательства: Лидерра использует Postiz в исходном виде для внутренних нужд (self-hosted). Никаких модификаций исходного кода без публикации изменений. Внешним пользователям SaaS не предоставляется. --- ## Open vet notes | Риск | Статус | Действие | |---|---|---| | `antoniolg/postiz-mcp` лицензия | **NOT VERIFIED** | Перед активацией: проверить `LICENSE` файл в репозитории [github.com/antoniolg/postiz-mcp](https://github.com/antoniolg/postiz-mcp); если MIT — активировать; если AGPL/GPL — консультация юриста | | `telegram-mcp` npm-пакет (0.1.20, Proprietary) | Не использован | Используем `github:chigwell/telegram-mcp` (Apache-2.0) напрямую, не npm-вариант | | Yandex OAuth широкий scope | Низкий | Scope `y.metrika.direct.read` — только чтение; Директ-мутации через MCP вне постуры | | SESSION_STRING утечка | Средний | Хранить только в `.env.local` (gitignored); ротировать при подозрении | --- ## Cross-refs - **Tooling Прил. Н §4.49–58** — полный реестр 10 узлов C1 с 9-атрибутными блоками - **ADR-015** — решения интеграции C1 (IS1–IS9 маркетинг-вет, MKT1–MKT8 ограничения) - **Spec** — `docs/superpowers/specs/2026-05-22-c1-marketing-tooling-design.md` - **Plan** — `docs/superpowers/plans/2026-05-22-c1-marketing-tooling.md` - **marketing-vet.md** — `docs/security/marketing-vet.md` — провенанс-вет каждого внешнего инструмента - **routing-off-phase.md** — задача «маркетинг-аналитика» → `marketing-metrika`; «ключевые слова» → `marketing-wordstat`; «Telegram-канал» → `marketing-telegram` - **PSR_v1 R10.1** — реестр off-phase инструментов (блок 1 C1-категория) - **Pravila §13.2** — off-phase marketing-tooling абзац