social-media-mcp

Upload-Post: публикация и аналитика для 13+ соцсетей из одного MCP

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаRU / СНГБесплатноМожет изменять данные

Что умеет

  • Публиковать видео, фото и текстовые посты на несколько платформ
  • Планировать и редактировать отложенные публикации
  • Смотреть аналитику показов и метрики по платформам
  • Управлять комментариями и прямыми сообщениями

Какие данные видит

Ассистент работает с подключёнными к аккаунту Upload-Post соцсетями через OAuth или локальный stdio-доступ.

Нужен ли аккаунт

Не нужен: сервер работает без входа

Upload-Post — MCP-сервер для кросспостинга в TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Reddit, Bluesky, Discord и Telegram. Около 45 инструментов закрывают загрузку видео и фото, планирование очередей публикаций, аналитику показов и управление комментариями и сообщениями.

Как подключить

Как подключить social-media-mcp к Claude

Адрес сервера, который нужно вставить в настройках Claude:

https://social-media-mcp--upload-post.run.tools

  1. Откройте Claude (сайт claude.ai или приложение для компьютера).
  2. Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
  3. Нажмите Добавить пользовательский коннектор (Add custom connector).
  4. Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
  5. В чате нажмите + → Коннекторы и включите новый коннектор.

Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.

Авторизация

После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.

Как подключить social-media-mcp к ChatGPT

Адрес сервера, который нужно вставить в настройках ChatGPT:

https://social-media-mcp--upload-post.run.tools

  1. Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
  2. Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
  3. Откройте Настройки → Коннекторы и нажмите Создать (Create).
  4. Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
  5. В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
  6. В новом чате откройте + → Приложения/Коннекторы и включите коннектор.

Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.

Авторизация

При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.

Как подключить social-media-mcp к Cursor

Адрес сервера, который нужно вставить в настройках Cursor:

https://social-media-mcp--upload-post.run.tools

Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.

Вручную:

  1. В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
  2. Вставьте JSON, скопированный ниже, в открывшийся файл ~/.cursor/mcp.json (для одного проекта: .cursor/mcp.json в корне проекта).
  3. Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.

Авторизация

Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.

Список инструментов сервера (45)

Технические названия из tools/list. Нужны только разработчикам.

upload_videoPublish a video to one or more platforms. Use `videoPathOrUrl` only for public/signed HTTPS URLs, or for absolute local paths when the MCP server runs on the same machine as the file. Hosted clients such as ChatGPT and claude.ai cannot publish attached files by passing `/mnt/data`, sandbox, or mounted local paths; for those files, ALWAYS call `open_upload_studio` first so the browser stages the video to Upload-Post/R2, then publishes it. `videoBase64` is only for clients that can provide raw bytes directly and is capped by UPLOAD_POST_MAX_INLINE_MB (default 100). Returns a `request_id` you can poll with `get_status`. Supports per-platform overrides (tiktokPrivacyLevel, youtubePrivacyStatus, youtubePlaylistId, facebookPageId, instagramMediaType, etc.).
upload_photosPublish one or more photos (single image or carousel). Each item in `photosPathsOrUrls` may be a public URL or a local path.
upload_textPublish a text-only post. Title is required for Reddit. `linkUrl` (or platform-specific *LinkUrl) attaches a link preview where supported.
upload_documentPublish a document (PDF / PPT / PPTX / DOC / DOCX) to LinkedIn. Title is required.
get_statusCheck the status of an async upload by `request_id`. Poll this until `status` is 'success' or 'failed'.
get_job_statusCheck the status of a scheduled or queued upload by `job_id`. Use this for posts created with `addToQueue` or `scheduledDate`.
get_historyPaginated history of uploads across all profiles.
get_mediaRetrieve recent media (videos, photos, text posts) pulled directly from a profile's connected social accounts. Supports instagram, tiktok, youtube, linkedin, facebook, x, threads, pinterest, bluesky, reddit. Useful for browsing what already exists on a platform before posting more.
list_scheduledList all currently scheduled (not-yet-published) posts.
cancel_scheduledCancel a scheduled post by its `job_id`.
edit_scheduledReschedule a post: change date and/or timezone.
get_analyticsAggregated analytics for a profile across selected platforms (followers, views, engagement).
get_total_impressionsSum of impressions for a profile from daily snapshots. Use `period` for presets, or `startDate`/`endDate` for custom ranges.
get_post_analyticsPer-platform metrics for a specific post identified by `request_id`.
get_platform_metricsReference: which metrics are available per platform (impressions, likes, …) and their human labels.
get_account_infoValidate the current API key and return account information. Useful as a first call to confirm credentials before doing real work.
list_usersList all Upload-Post profiles in the account, with their connected social accounts.
create_userCreate a new Upload-Post profile (logical container for connected socials).
delete_userPermanently delete a profile and disconnect its socials.
generate_jwtGenerate a JWT + connection URL so an end-user can connect socials inside an embedded Upload-Post flow (white-label integration).
validate_jwtVerify a JWT previously issued by `generate_jwt`.
get_facebook_pagesFacebook pages connected to a profile.
get_linkedin_pagesLinkedIn company pages connected to a profile.
get_pinterest_boardsPinterest boards available to a profile.
get_google_business_locationsGoogle Business Profile locations the profile can post to.
select_google_business_locationPick the active Google Business location for a profile. Subsequent posts to `google_business` will publish there.
get_reddit_detailed_postsRecent Reddit posts published from a profile, with the platform-side metadata (subreddit, flair, score, …).
get_post_commentsList comments on an Instagram post. Identify the post by either `postId` or `postUrl`.
reply_to_commentSend a private DM to the author of an Instagram comment (within Instagram's 7-day reply window).
public_reply_to_commentPost a public reply visible under the original Instagram comment.
send_dmSend an Instagram DM to a recipient from a connected Upload-Post profile. Use a recipient_id returned by Instagram comments or DM conversation tools.
list_dm_conversationsRecent DM conversations for a profile on a given platform.
manage_autodmsControl Instagram AutoDM monitors. For action='start', provide post_url, reply_message, and profile_username. For stop/pause/resume/delete/logs, provide monitor_id. For status, optionally set include_inactive=true.
submit_ffmpeg_jobSubmit a private FFmpeg processing job through Upload-Post. Provide `input_url` for one input, or `files` for multiple public URLs. Optionally provide `full_command` beginning with ffmpeg for explicit trim/transcode/watermark/thumbnail commands. Returns a `job_id` you can poll with `get_ffmpeg_job`.
get_ffmpeg_jobPoll the status of an FFmpeg job. When status is 'completed', call `download_ffmpeg_result` to obtain the file.
download_ffmpeg_resultReturns the download URL and metadata for a completed FFmpeg job without streaming the processed file through MCP.
get_ffmpeg_consumptionMonthly FFmpeg processing minutes used vs. plan allowance.
get_queue_settingsPosting queue configuration (slots per day, time windows, timezone).
update_queue_settingsUpdate posting queue configuration for a profile. Fields are flat, not nested: timezone, slots, days_of_week, and max_posts_per_slot.
preview_queuePreview the upcoming queue slots and what would land in them. Optionally `nextSlot=true` returns just the next available slot timestamp.
create_media_uploadInternal/app staging helper for clients that can directly PUT file bytes to the returned upload_url. Do NOT use this directly from the ChatGPT/claude.ai model for attached files: the model/server environment cannot read or upload ChatGPT attachment bytes. For ChatGPT attached video uploads, call open_upload_studio first; the Studio browser component will call this tool after the user selects the file. Use this directly only in MCP clients that truly hold the file bytes and can perform the HTTP PUT themselves. Staging media is deleted after 24 hours; scheduled posts are safe because upload_video copies the media into durable scheduler storage.
complete_media_uploadInternal/app staging helper. Validate a media upload only after the browser/client has successfully PUT the actual file bytes to upload_url. Do NOT call this immediately after create_media_upload from the model; without the intervening PUT, completion will fail or produce no publishable media. Returns a temporary media_url that can be passed to upload_video/upload_photos immediately.
get_media_uploadInternal/app staging helper. Get status for a short-lived MCP media upload. Optionally returns a fresh temporary media_url for an already-uploaded staging object.
delete_media_uploadInternal/app staging helper. Delete a short-lived MCP staging media upload from R2. This does not delete scheduler durable copies created later by upload_video.
open_upload_studioOpen the ChatGPT UI for local/attached video uploads. Use this FIRST when the user attaches a video in ChatGPT or claude.ai and does not provide a public HTTPS URL. Do not try upload_video with /mnt/data, sandbox, or mounted local paths first: hosted MCP servers cannot read those files. The Studio lets the user select the file in the browser, stages it in short-lived Upload-Post/R2 storage, and publishes it through Upload-Post.