Skip to main content
Glama

Server Details

Schedule and publish social media posts to 10 platforms from your AI agent

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
post-bridge-hq/agent-mode
GitHub Stars
14
ChatGPT
–
Claude
post bridge - social media scheduler

TDQS

A3.9/5.0

Scored across 17 tools

Disambiguation4/5

Most tools target a clearly distinct resource+action (create/update/delete/get/list posts, media, analytics, accounts). The main friction points are upload_media vs request_upload_link, which both handle local files, and list_analytics vs get_analytics_daily vs sync_analytics — though the descriptions explicitly explain when to use each, so an agent can recover.

Naming Consistency5/5

Every tool follows a strict verb_noun snake_case pattern: create_post, update_post, delete_post, list_posts, list_media, upload_media, search_instagram_audio, request_connect_link, etc. No mixed conventions or vague standalone verbs anywhere in the set.

Tool Count4/5

17 tools is slightly above the ideal 3-15 band, but the domain (10+ platforms, media management, analytics, account connections) genuinely justifies each addition. No obvious redundant or filler tools that could be removed without losing capability.

Completeness4/5

Full post lifecycle (create/get/update/delete/list), media lifecycle (upload/list/preview/delete), analytics (list, per-day detail, sync), and account discovery/connection are all covered. Minor gaps exist — no way to disconnect or modify a connected account, and no single-post result retry — but agents can work around these.

Available Tools

17 tools
create_postCreate PostA
Destructive
Inspect

Publish or schedule a social media post to Instagram, TikTok, YouTube, X (Twitter), LinkedIn, Facebook, Pinterest, Threads, Bluesky, and Google Business Profile. One call can cross-post the same text, image, or video to multiple accounts and platforms at once. Use list_social_accounts first to get account IDs. Omit scheduled_at to post immediately. Pass public media URLs via media_urls (the API downloads them). IMPORTANT for X/Twitter: links are automatically removed from the text before posting to X — this includes full URLs (http://, https://, www.) AND bare domains like foo.com or foo.io/path. X charges far more for posts that contain links. Other platforms keep their links. To share a link on X, put it in platform_configurations.twitter.first_comment (a reply) or the account bio. To post a multi-tweet thread on X, or a multi-post thread on Threads, put the follow-up posts in platform_configurations.twitter.thread / platform_configurations.threads.thread (an array of strings, chained in order under the main post). To make a Threads post a native quote of another Threads post, set platform_configurations.threads.quote_post_id (a post id or the post's threads.com URL); a Threads link pasted in the caption only shows as a plain link. To publish a Threads post as a reply under an existing post, set platform_configurations.threads.reply_to_id. Note: is_draft saves the post in Post Bridge only — it does not create a draft on any platform. All platforms will publish immediately when the draft is later sent. TikTok's platform_configurations.tiktok.draft is a separate option that creates an actual draft on TikTok. TikTok photo carousels: pass several images (media or media_urls) to a TikTok account and it publishes as a photo carousel. Caption limits: Bluesky 300, Threads 500, Pinterest 800, Google Business 1,500, Instagram 2,200, TikTok 2,200 for videos and 4,000 for photo posts, LinkedIn 3,000 characters. When the shared caption is longer than a platform allows, write a shorter platform-specific caption in platform_configurations..caption in the same call, without being asked. X allows 280 characters, or up to 25,000 when the account has X Premium: check has_x_premium on that account from list_social_accounts, keep the full caption if it is true, and write a shorter X caption if it is false.

Inputs: caption (required), social_accounts (required), media, is_draft, +5 more.

delete_mediaA
Destructive
Inspect

Delete an uploaded media file. Only deletes media not currently used by any post.

Inputs: id (required).

delete_postA
Destructive
Inspect

Delete a scheduled or draft post. Published posts cannot be deleted via the API.

Inputs: id (required).

get_analytics_dailyA
Read-only
Inspect

Get per-day analytics snapshots and deltas for a single post. Returns cumulative snapshots and per-day gains (views/likes/comments/shares). Use the analytics record ID from list_analytics.

Inputs: id (required).

get_postA
Read-only
Inspect

Get details of a single post by ID, including its status, caption, media, and platform results.

Inputs: id (required).

list_analyticsA
Read-only
Inspect

Get social media post performance analytics — views, likes, comments, and shares for posts published through Post Bridge (TikTok, YouTube, Instagram, Facebook). Can filter by platform, timeframe, or media type (video vs TikTok slideshow).

Inputs: limit, offset, platform, timeframe, +1 more.

list_mediaA
Read-only
Inspect

List your uploaded media files. Returns media IDs, URLs, and types. Use media IDs when creating posts with previously uploaded content.

Inputs: limit, offset.

list_post_resultsA
Read-only
Inspect

Check posting results per platform. Shows whether each platform post succeeded or failed, with error details if applicable.

Inputs: limit, offset, post_id.

list_postsA
Read-only
Inspect

List your posts with optional filters. Returns post ID, caption, status (scheduled, processing, posted), is_draft flag, scheduled time, and associated accounts. Drafts have status 'scheduled' with is_draft: true and scheduled_at: null.

Inputs: limit, offset, status, platform.

list_social_accountsA
Read-only
Inspect

List the user's connected social media accounts across Instagram, TikTok, YouTube, X (Twitter), LinkedIn, Facebook, Pinterest, Threads, Bluesky, and Google Business Profile. Returns account IDs, platforms, usernames, needs_reconnect, and has_x_premium (X accounts only: true means posts can be up to 25,000 characters instead of 280). When needs_reconnect is true, repeated dead-token failures have paused posting to that account: posts to it are skipped until the user reconnects it in the dashboard (reconnecting clears it automatically). Do not post or retry against accounts in that state; tell the user to reconnect instead. Each account also carries workspace_id and workspace_name, the dashboard workspace it sits in (workspace_id null = the default "Main" workspace). Users often keep one workspace per brand or client: when they name a workspace, brand or client, post only to the accounts in that workspace, never to every account on the platform. Pass workspace_id (or "main") to list just one workspace.

Inputs: workspace_id.

preview_mediaA
Read-only
Inspect

See an uploaded image: returns a small preview of the picture itself so you can tell photos apart (which one is the pink hat). Images only; videos and PDFs return a text note. Use list_media first to get ids.

Inputs: id (required).

search_instagram_audioSearch Instagram MusicA
Read-only
Inspect

Search the music (or original sounds) Meta lets apps attach to an Instagram reel. Pass a returned audio_id as platform_configurations.instagram.audio_id in create_post or update_post (optionally audio_volume and video_volume, 0-100). Omit query for trending audio. ONLY works for Instagram accounts connected through Facebook login (supports_instagram_music: true in list_social_accounts). Accounts connected with Instagram login return an error: tell the user music needs the account connected via Connections > Instagram > "Login with Facebook" in the dashboard (a Business or Creator account linked to a Facebook Page), or to add the audio to the video before uploading. The catalogue is what Meta clears for third-party apps, so it can differ from the in-app library.

Inputs: social_account_id (required), type, query.

sync_analyticsAInspect

Trigger a refresh of analytics data from all connected platforms. Use this if analytics seem stale.

Inputs: platform.

update_postB
Destructive
Inspect

Update a scheduled or draft post. You can change the caption, schedule time, accounts, or media.

Inputs: id (required), media, caption, is_draft, +5 more.

upload_mediaUpload MediaAInspect

Upload media and get back a reusable media_id. Four modes: (1) pass url to upload from a publicly accessible URL, (2) pass data (base64-encoded file bytes) plus mime_type for small files (3MB cap), (3) for a file on the user's machine when you can run shell commands (Claude Code, Cowork, Codex, Cursor), pass size_bytes plus mime_type and name with no url or data: you get a media_id and a presigned upload_url, then PUT the raw file to it yourself (curl command included in the result, valid 2 hours, up to 500MB, no 3MB cap). Use mode 3 for any local video. (4) In ChatGPT, pass a file from the conversation (one the user attached, or an image you generated) as file: ChatGPT supplies its download link and the file goes straight into the media library, no size cap beyond 500MB and no manual upload. Supports images (PNG/JPEG), videos (MP4/MOV), and PDFs (application/pdf). A PDF returns a document-kind media_id — pass it to create_post on a LinkedIn account to publish a native LinkedIn document post (PDF carousel); set platform_configurations.linkedin.document_title to control the title. Use the returned media_id with the media param on create_post/update_post. A media_id stays available until the last post that uses it has published, then the file is deleted: reusing it across posts that are all scheduled is fine, but for a post created after those have gone out, upload the file again. HEIC/HEIF images are not supported — convert to JPEG or PNG first. Direct data uploads are capped at 3MB raw because of serverless request-body limits — for larger local files use mode 3 if you can run commands, otherwise request_upload_link.

Inputs: url, data, file, name, +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Social media scheduling and publishing for AI agents. 17 validation-first tools to post to X, LinkedIn, Instagram, TikTok, YouTube, Reddit, Discord, Telegram, and more through one connected workspace.
      164 npm
      110
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Official MCP server for PostEverywhere (posteverywhere.ai/social-media-scheduler). Let Claude, ChatGPT, Cursor or any MCP client schedule and publish posts to 13 platforms: Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Telegram, Discord, WordPress and Google Business Profile. 40 tools: best-time scheduling, threads, cross-posting, campaigns, analytics.
      33
      289 npm
      7
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Gives AI agents the ability to schedule and publish social media posts to Instagram, TikTok, YouTube, X, LinkedIn, Facebook, Pinterest, Threads, and Bluesky. Create, schedule, and bulk-plan posts with per-platform captions, then check per-platform results and retry failures.
      12
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.