MCP-серверыMCP-серверыInstagram Graph APIСоцсети

Instagram через API и MCP: почему создание поста не под барьером записи, а публикация — под ним

Разбираем Instagram Graph API изнутри: профиль и статистика, лента и Stories, публикация по ссылке, комментарии и упоминания, хэштеги, публичные данные конкурентов, товарные метки — и почему создание контейнера публикации не трогает барьер записи, а сама публикация трогает всегда, доступно через MCP-сервер Mira без вебхуков и ревью приложения.

3 сентября 2026 г.3 мин чтения

Обзор

Instagram — витрина большинства проектов, но данные о ней обычно видны только человеку, который сам открыл приложение. Business/Creator-аккаунт отдаёт статистику, ленту, Stories, комментарии и упоминания через Instagram Graph API — токен для него можно выпустить самому, без заявок и ревью: администратор бизнеса создаёт в Meta Business Suite системного пользователя и получает долгоживущий токен доступа.

Mira подключает этот API — 36 действий в восьми разделах — и отдаёт его в Claude через MCP.

Что доступно

Раздел Действий Что даёт
Аккаунт 4 профиль, статистика, лимит публикаций, автоопределение аккаунта
Медиа 8 лента, метрики поста/Reels/Stories, публикация по ссылке, изменение и удаление
Stories 1 активные истории (живут 24 часа)
Упоминания 4 посты и комментарии, где отметили аккаунт, ответ на упоминание
Комментарии 7 список, ответ, скрытие, удаление
Хэштеги 4 поиск, топ и свежие посты, история поисков
Публичные данные 1 статистика ЧУЖОГО бизнес-аккаунта без его согласия (business discovery)
Товары 7 метки на посте, поиск и список каталогов, апелляция по отклонённому товару

Публикация — не то, что вы думаете

Публикация поста в Instagram Graph API устроена в два шага: сначала создаётся контейнер (POST /media с image_url или video_url), потом отдельным вызовом (POST /media_publish) он становится постом. Это интуитивно похоже на устройство Модульбанка, который мы разбирали раньше: там создание платёжного поручения не тратит денег, тратит только подписание. Здесь напрашивается та же логика для барьера записи — но она не работает буквально.

У Модульбанка черновик платежа виден человеку в личном кабинете, пока его не удалят, — это состояние, которое существует и меняется. У Instagram контейнер публикации не виден никому и нигде: он не появляется в интерфейсе приложения, не связан с профилем ни на секунду, и Meta удаляет его сама через 24 часа, если публикация не случилась. Внешнего следа не остаётся, даже если контейнер так и не станет постом. Поэтому в Mira под барьером записи стоит только сама публикация (media_publish) — а не создание контейнера. Разница не в осторожности, а в том, чем на самом деле являются эти два состояния.

Токен — не в URL

Документация Meta показывает примеры с токеном в query-строке: ?access_token=.... Graph API поддерживает и второй способ — заголовок Authorization: Bearer — и Mira использует именно его. Разница практическая: журналы, breadcrumbs мониторинга и логи прокси эхом печатают URL запроса гораздо чаще, чем заголовки, а токен Instagram живёт неделями (для системного пользователя — бессрочно). Заголовок закрывает этот класс утечки целиком, а не только форматирование текста ошибок.

Свой аккаунт находится сам

Почти каждое действие Graph API адресовано конкретному ID Instagram-аккаунта. Узнавать и вписывать его руками не обязательно: если поле оставить пустым, Mira сама находит аккаунт, привязанный к токену, через /me/accounts — и если он ровно один, использует его прозрачно, без дополнительного шага от человека.

Единый конверт отказа, но код лимита прячется под обычным статусом

Meta документирует ошибки одной формой на всё API: {"error": {"message", "code", "error_subcode", "error_user_msg"}}. Здесь есть тонкость: лимит запросов Graph API часто сигналит тем же HTTP 400, что и обычная ошибка параметров, — отличить их можно только по числовому error.code (4, 17, 32 или 613). Без этой проверки временный лимит пометил бы источник сломанным наравне с действительно неверным токеном — и он пропал бы из чата на час без причины.

Живая проверка

Живых ключей от боевого аккаунта нет — раздел появится, когда владелец бизнеса их даст. Разбор адреса, барьер записи, заголовок авторизации и разбор конверта отказа проверены против собственного HTTP-сервера в тестах (перехват на транспорте), а не против graph.facebook.com.

Новости в Telegram

Подпишитесь на каналы — новые статьи и обзоры каждый день.

Источники

Ещё по теме «MCP-серверы»

MCP-серверы

1С через OData: как достать данные учётной базы без единой строки кода на встроенном языке

Разбираем стандартный OData-интерфейс 1С:Предприятие: чем он отличается от API конкретного сервиса, как узнать, что вообще опубликовано на конкретной базе, как проводить и отменять проведение документов и как всё это работает через MCP-сервер Mira без единой строки кода на встроенном языке.

3 сентября 2026 г.
MCP-серверы

Boxberry через API и MCP: документация переехала в Яндекс, а API остался жив

Разбираем API Boxberry для интернет-магазинов: один эндпоинт на 34 действия, поле method вместо путей, отказ, который иногда приходит на HTTP 200, и документация, которая в 2026 году целиком переехала на хостинг Яндекс Доставки — а сам API остался работать. Как всё это доступно через MCP-сервер Mira без единой строки кода.

3 сентября 2026 г.
MCP-серверы

СДЭК через API и MCP: 46 методов, «принято» ≠ «выполнено» и две формы отказа

Разбираем CDEK API v2 изнутри: 46 методов на заказы, курьера, калькулятор и печатные формы, асинхронную обработку, при которой «202 Accepted» не значит «готово», и две разные формы отказа — и как всё это работает через MCP-сервер Mira без единой строки кода.

3 сентября 2026 г.