Как подключить 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
claude --version.Settings → Developers → Public API. Там же лежит готовый MCP-URL.Add Channel); токены хранятся в Postiz, агент с ними не работает напрямую.Официальный Claude Code skill + Postiz CLI под капотом. Агент знает паттерны, есть аналитика.
Когда: основной рабочий способ, скриптуемость, не хочешь ключ в URL.
Remote MCP-сервер по Streamable HTTP. Управление «голосом» из чата, 8 tools.
Когда: хочешь чисто разговорный интерфейс без локального CLI.
Claude шеллит postiz … через Bash. Тот же CLI, что в A, но без skill-обёртки.
Когда: точечные команды/скрипты, паттерны skill'а не нужны.
analytics:*), скриптуется, OAuth вместо ключа в URL. MCP (B) добавь сверху, если захочешь командовать из чата. A и B не взаимоисключающие.Официальный способ Postiz «подружить агента с собой»: skill — это SKILL.md из репо gitroomhq/postiz-agent, который учит Claude паттернам работы через Postiz CLI.
npm install -g postiz
postiz --help # проверка
postiz auth:login # креды → ~/.postiz/credentials.json
postiz auth:status # проверить, что токен жив
Альтернатива: export POSTIZ_API_KEY=… в ~/.zshrc. OAuth приоритетнее ключа, если заданы оба.
npx skills add gitroomhq/postiz-agent
claude скажи: «покажи мои подключённые каналы». Агент вызовет integrations:list и вернёт список.После этого агент умеет: список каналов, правила площадки, постинг с медиа, управление постами (draft/schedule/delete) и аналитика (analytics:platform, analytics:post). Все команды CLI отдают JSON — удобно агенту.
claude mcp add postiz --transport http https://api.postiz.com/mcp/ТВОЙ_API_KEY
Self-host: замени api.postiz.com на свой NEXT_PUBLIC_BACKEND_URL.
/mcp без ключа)
claude mcp add postiz --transport http https://api.postiz.com/mcp \
--header "Authorization: Bearer ТВОЙ_API_KEY"
local — этот проект, только ты). Для постинга удобнее глобально:
claude mcp add postiz --scope user --transport http https://api.postiz.com/mcp/ТВОЙ_API_KEY
--scope project пишет в .mcp.json в корне репо (попадёт в git — ключ утечёт, не используй для секрета).
claude mcp list # postiz в списке
claude mcp get postiz # детали (URL, transport)
В сессии claude — команда /mcp: статус подключения, число tools, OAuth-кнопка если нужна. Тест-фраза: «List my connected social media accounts» → вызовет integrationList.
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 устарел — не использовать.
Это Путь 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.
MCP отдаёт агенту ровно 8 tools. Типичный цикл постинга: integrationList → integrationSchema(platform) → schedulePostTool.
integrationListсписок подключённых каналов + их idintegrationSchemaправила/лимиты площадки — звать до постингаtriggerToolплатформенные хелперы (каналы Discord, сабреддиты, страницы LinkedIn)schedulePostToolглавный: создать draft/schedule/nowgenerateImageToolAI-картинка → в attachmentsgenerateVideoOptionsсписок типов видео-генераторовvideoFunctionToolхелперы видео (напр. список голосов)generateVideoToolсгенерировать видео → в attachmentsПоле content — HTML со строгим белым списком тегов. Каждая строка обёрнута в <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 не пишешь, агент формирует его из твоей фразы на русском.
| Что | Деталь |
|---|---|
| Путь эндпоинта | /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 proxy | reverse-proxy должен форвардить /mcp, /mcp/:apiKey, /mcp-oauth и поддерживать streaming (Transfer-Encoding: chunked). |
| Лимиты | создание постов через API ~100/час (Cloud); тариф Standard — 400 постов/мес, 5 каналов. |
| Postiz не парсит | это постинг-платформа; мониторинг чужих каналов — отдельный инструмент (TGStat/Popsters). |
postiz integrations:list (или спроси агента «покажи каналы») на живом аккаунте и убедись, что VK/Telegram доступны.