Postiz → Claude CLI: гайд подключения

walkthrough · три пути · май 2026 · domain social-posting

Как подключить Postiz к Claude Code (CLI claude), чтобы агент постил твой контент в соцсети. Есть три пути — все без написания прикладного кода. Факты сверены по официальной docs.postiz.com.

Если коротко — один из этих:
# Путь A — официальный skill (рекомендуется)
npm i -g postiz && postiz auth:login && npx skills add gitroomhq/postiz-agent

# Путь B — MCP-сервер
claude mcp add postiz --transport http https://api.postiz.com/mcp/ТВОЙ_API_KEY
  1. Предпосылки
  2. Какой путь выбрать
  3. Путь A — Claude Code skill
  4. Путь B — MCP-сервер
  5. Путь C — Postiz CLI напрямую
  6. 8 MCP-tools и рабочий цикл
  7. Формат контента (HTML)
  8. Подводные камни

1. Предпосылки

2. Какой путь выбрать

A · Skill рекомендуется

Официальный Claude Code skill + Postiz CLI под капотом. Агент знает паттерны, есть аналитика.

Когда: основной рабочий способ, скриптуемость, не хочешь ключ в URL.

B · MCP remote

Remote MCP-сервер по Streamable HTTP. Управление «голосом» из чата, 8 tools.

Когда: хочешь чисто разговорный интерфейс без локального CLI.

C · CLI напрямую

Claude шеллит postiz … через Bash. Тот же CLI, что в A, но без skill-обёртки.

Когда: точечные команды/скрипты, паттерны skill'а не нужны.

Рекомендация для твоего случая (постинг своего контента, ты backend-разработчик): Путь A — даёт аналитику (analytics:*), скриптуется, OAuth вместо ключа в URL. MCP (B) добавь сверху, если захочешь командовать из чата. A и B не взаимоисключающие.

3. Путь A — Claude Code skill (рекомендуется)

Официальный способ Postiz «подружить агента с собой»: skill — это SKILL.md из репо gitroomhq/postiz-agent, который учит Claude паттернам работы через Postiz CLI.

  1. Поставить Postiz CLI
    npm install -g postiz
    postiz --help          # проверка
  2. Авторизоваться (OAuth2 device flow — код в терминале + браузер)
    postiz auth:login      # креды → ~/.postiz/credentials.json
    postiz auth:status     # проверить, что токен жив

    Альтернатива: export POSTIZ_API_KEY=… в ~/.zshrc. OAuth приоритетнее ключа, если заданы оба.

  3. Установить skill в Claude Code
    npx skills add gitroomhq/postiz-agent
  4. Проверить — в сессии claude скажи: «покажи мои подключённые каналы». Агент вызовет integrations:list и вернёт список.

После этого агент умеет: список каналов, правила площадки, постинг с медиа, управление постами (draft/schedule/delete) и аналитика (analytics:platform, analytics:post). Все команды CLI отдают JSON — удобно агенту.

4. Путь B — MCP-сервер

Claude Code MCP-клиент Postiz MCP-сервер · 8 tools соцсети постит сам /mcp/<key> Streamable HTTP
  1. Добавить сервер (ключ в URL = авторизация)
    claude mcp add postiz --transport http https://api.postiz.com/mcp/ТВОЙ_API_KEY

    Self-host: замени api.postiz.com на свой NEXT_PUBLIC_BACKEND_URL.

  2. Или — ключ в заголовке (не светится в конфиге так явно; эндпоинт /mcp без ключа)
    claude mcp add postiz --transport http https://api.postiz.com/mcp \
      --header "Authorization: Bearer ТВОЙ_API_KEY"
  3. Выбрать scope (по умолчанию local — этот проект, только ты). Для постинга удобнее глобально:
    claude mcp add postiz --scope user --transport http https://api.postiz.com/mcp/ТВОЙ_API_KEY

    --scope project пишет в .mcp.json в корне репо (попадёт в git — ключ утечёт, не используй для секрета).

  4. Проверить
    claude mcp list           # postiz в списке
    claude mcp get postiz     # детали (URL, transport)
    В сессии claude — команда /mcp: статус подключения, число tools, OAuth-кнопка если нужна. Тест-фраза: «List my connected social media accounts» → вызовет integrationList.
Расхождение в синтаксисе. Doc mcp/setup показывает форму с флагом --url: claude mcp add postiz --transport http --url https://…. Каноническая форма Claude Code (и лендинг postiz.com/mcp) — URL позиционным аргументом, как выше. Если вариант с --url выдаст ошибку — просто убери флаг.

Транспорт: --transport http = Streamable HTTP (это и нужно Postiz). --transport sse устарел — не использовать.

5. Путь C — Postiz CLI напрямую

Это Путь A без skill-обёртки: ставишь CLI, авторизуешься, а Claude вызывает команды через Bash. Рабочий вариант для точечных операций, но без SKILL.md агент не знает паттернов.

npm i -g postiz && postiz auth:login

# дальше Claude (или ты) шеллит:
postiz integrations:list
postiz posts:create -c "<p>Привет из Postiz CLI</p>" -s "2026-05-29T10:00:00Z" -i "ID_КАНАЛА"
postiz posts:list
postiz analytics:post --id "ID_ПОСТА"

Команды: auth:*, integrations:list/settings/trigger, posts:create/list/delete/missing/connect, analytics:platform/post, upload. Вывод — JSON.

6. Восемь MCP-tools и рабочий цикл

MCP отдаёт агенту ровно 8 tools. Типичный цикл постинга: integrationListintegrationSchema(platform)schedulePostTool.

integrationListсписок подключённых каналов + их id
integrationSchemaправила/лимиты площадки — звать до постинга
triggerToolплатформенные хелперы (каналы Discord, сабреддиты, страницы LinkedIn)
schedulePostToolглавный: создать draft/schedule/now
generateImageToolAI-картинка → в attachments
generateVideoOptionsсписок типов видео-генераторов
videoFunctionToolхелперы видео (напр. список голосов)
generateVideoToolсгенерировать видео → в attachments
Границы MCP: read-only по интеграциям, write-only по постам/медиа. Чтение и ответы на комментарии через MCP недоступны (только в UI). Аналитика — только в Postiz CLI (Пути A/C), в MCP её нет.

7. Формат контента

Поле contentHTML со строгим белым списком тегов. Каждая строка обёрнута в <p>.

ТегНазначение
<p>каждая строка текста (обязательно)
<h1> <h2> <h3>заголовки
<strong>жирный
<u>подчёркнутый (нельзя совмещать с <strong> в одном элементе)
<ul> <li>списки

Параметры schedulePostTool (на пост): integrationId, isPremium, date (UTC), shortLink, type (draft/schedule/now), postsAndComments, settings. На thread-площадках (X/Threads/Bluesky) каждый элемент postsAndComments — пост в треде; на comment-площадках (LinkedIn/Facebook) первый — пост, остальные — комментарии.

{
  "socialPost": [{
    "integrationId": "<id из integrationList>",
    "isPremium": false,
    "date": "2026-05-29T10:00:00.000Z",
    "shortLink": false,
    "type": "schedule",
    "postsAndComments": [
      { "content": "<p>Текст поста</p>", "attachments": [] }
    ],
    "settings": []
  }]
}

Это видно «под капотом» — сам ты JSON не пишешь, агент формирует его из твоей фразы на русском.

8. Подводные камни

ЧтоДеталь
Путь эндпоинта/mcp/<key> или /mcp+Bearer — не /api/mcp/. REST API при этом на /public/v1.
Ротация ключарегенерация ключа в Settings ломает все клиенты со старым ключом → обнови конфиг (claude mcp remove postiz + добавить заново).
OpenAI-ключдля MCP/CLI не нужен (модель даёт Claude). OPENAI_API_KEY нужен Postiz только для его собственных AI-фич.
OAuth-токеныначинаются с pos_, работают как API-ключ (в URL или Bearer).
Self-host proxyreverse-proxy должен форвардить /mcp, /mcp/:apiKey, /mcp-oauth и поддерживать streaming (Transfer-Encoding: chunked).
Лимитысоздание постов через API ~100/час (Cloud); тариф Standard — 400 постов/мес, 5 каналов.
Postiz не парситэто постинг-платформа; мониторинг чужих каналов — отдельный инструмент (TGStat/Popsters).
VK/Telegram — проверь до того, как закладываться. Официальные MCP-доки называют «28+ платформ» и в tool-примерах показывают X/LinkedIn/Discord/Reddit/Facebook — VK и Telegram там прямо не названы. Поддержка VK+TG зафиксирована в нашем ресерче по списку каналов репо postiz-app, но официальные доки её не подтверждают. Сделай postiz integrations:list (или спроси агента «покажи каналы») на живом аккаунте и убедись, что VK/Telegram доступны.
Итог: для постинга своего контента в соцсети через Claude CLI — Путь A (skill + Postiz CLI) как основной, MCP сверху для разговорного управления. Прикладного кода не пишешь ни в одном пути; вся разница Cloud↔self-host для агента — одна строка URL.