Skip to main content
Glama

Server Details

Publish and schedule videos to TikTok, YouTube Shorts, Instagram, Facebook, LinkedIn, Pinterest, Bluesky, Threads and X from Claude, Cursor or any MCP client. Upload once, post everywhere, track views in unified analytics, and retry failed posts. Official platform APIs only, free plan available. Docs: https://docs.multi-upload-tool.com/mcp

Ownership verified
Status
Healthy
Uptime
15.8% over 21 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

Score is being calculated.

Available Tools

12 tools
check_media_upload
Read-only
Inspect

Status of an upload link from create_media_upload: waiting (the user has not finished), ready (with mediaUrls to pass to create_post), or expired (create a new link). Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
dropIdYesdropId from create_media_upload
fetch
Read-only
Inspect

Read one search result in full, by the id search returned (post: or account:): a post's caption, status, schedule or publication time and platform URL, or an account's details. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAn id returned by search.
get_analytics
Read-only
Inspect

Read published-post performance: views, likes, comments, shares, plus growth over the last 30 days. summary compares the last 30 days with the 30 before (views gained, follower change, posts published; null = not measured, never 0) and followerHistory gives one follower total per day. Call with no argument for every account at once, with accountId for one account, or with postId for a single post. Numbers come from a nightly sync, so they lag the platform by up to a day — lastRefreshedAt says when they were last measured, and a metric a platform does not report comes back as 0. Account and global calls also return bestTimes: the weekday and hours whose posts averaged the most views, to feed scheduledAt in create_post. This is read-only; it never publishes.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many top posts to return (default 10). Ignored with postId.
postIdNopostId of one post (from create_post or list_recent_posts). Returns that post's metrics only.
sourceNoWhich posts topPosts ranks: all (default), mut (published through Multi Upload Tool) or external (posted directly on the platform). Totals and summary always cover every post.
timezoneNoIANA timezone the bestTimes weekday/hour buckets are read in, e.g. Europe/Paris. Defaults to UTC — always pass the user's own zone, because an hour-of-day ranking read in the wrong zone is silently off by the whole offset.
accountIdNoConnected account id (from list_accounts). Omit for all accounts combined.
get_hashtag_history
Read-only
Inspect

Return the hashtags this user has used most often in their recent posts on the given platform, plus platform-specific guidance and (for Instagram) the list of hashtags that would cause the post to be rejected. Does NOT generate new hashtags — use your own creative ability for that; this tool gives you the user's historical preferences which you cannot see otherwise.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many hashtags to return (default 20)
platformYes
get_platform_capabilities
Read-only
Inspect

Return the character limits, daily post cap, supported media types, and required platformSettings schema for a given platform. Call this before create_post to ensure inputs are valid.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformYes
get_post_status
Read-only
Inspect

Get the current status of one post. Returns status (pending | processing | completed | scheduled | failed), the full caption, the platform's videoUrl once published, and on failure errorMessage plus failure: { code, retryable, nextAction } (see retry_post).

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYespostId returned by create_post or list_recent_posts
get_upload_limits
Read-only
Inspect

How many more posts an account can publish today before hitting the platform's daily cap, and when the count resets. For an X account it also returns xCredits (balance, cost per post: 1, or 15 with a link, and the packs): an X post fails without enough credits. Check it before a batch of create_post calls. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesConnected account id from list_accounts.
list_accounts
Read-only
Inspect

List the social media accounts connected to the authenticated user (or current team workspace). Returns id, platform, accountName, status, tags and lastUsedAt. Call this first to discover which accountIds can be used in create_post. Workspaces can hold many accounts: narrow with platform, tag or search instead of reading the whole list. Only accounts with status 'active' can publish.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoOnly accounts carrying this tag (exact match, case-insensitive). Users tag accounts to group them, e.g. by client.
searchNoCase-insensitive substring of the account name, e.g. part of a handle
platformNoOnly accounts on this platform
list_pools
Read-only
Inspect

List the upload pools: queues of videos drip-fed to accounts on recurring weekly slots (time, days, accounts), with how many items are queued. Requires a plan with upload pools. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

list_recent_posts
Read-only
Inspect

List recent posts published, scheduled, or failed by the authenticated user. Useful to avoid duplicates, reference past content, or audit failures. Captions are cut to 200 characters — call get_post_status for the full text. hasMore: true means older posts exist beyond this page; narrow with accountId, platform or status rather than raising limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many posts to return (default 10)
statusNo
platformNoFilter by platform
accountIdNoFilter by connected account id
validate_post
Read-only
Inspect

Dry run of create_post: takes the same arguments and runs the same checks (account status, plan, daily caps, monthly quota, queue room, caption and title limits, required platformSettings, scheduling window) without publishing anything. Call it before create_post on any batch, or whenever unsure — a post rejected here would otherwise fail later, sometimes hours later for scheduled posts. mediaUrls are not downloaded: file format, size and duration are only checked when the post is actually published.

Returns: { valid, errors: [{ accountId, platform, error }], targets: [{ accountId, platform, scheduledFor }] }. An error with accountId null applies to the whole batch.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoPost text / caption
statusNoCreate the post without publishing it: 'draft' (you or the user keeps editing) or 'pending_approval' (a human approves it in the app or through create_review_link). In a team that requires approval, a member's posts are always 'pending_approval'.
mediaUrlsNoPublic http(s) URLs of images or videos to attach
overridesNoPer-network or per-account variants: keys are a platform name ("bluesky") or an accountId, values { text?, title? }. An accountId key wins over its platform, which wins over the shared text. Use it when one caption cannot fit every network (Bluesky 300 chars vs YouTube 5000).
accountIdsYesConnected account ids from list_accounts
scheduledAtNoISO 8601 — omit for immediate publish
idempotencyKeyNoUnique key for this post (e.g. a UUID). Reusing it within 24h returns the first result instead of publishing again.
platformSettingsNoPer-platform required settings. See tool description and get_platform_capabilities.

Tool Schema Changelog

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

  1. 12 tool updates
    • First observedcheck_media_upload
    • First observedfetch
    • First observedget_analytics
    • First observedget_hashtag_history
    • First observedget_platform_capabilities
    • First observedget_post_status
    • First observedget_upload_limits
    • First observedlist_accounts
    • First observedlist_pools
    • First observedlist_recent_posts
    • First observedsearch
    • First observedvalidate_post

Publisher details

Operator
Multi Upload Tool · Publisher source
Vendor relationship
First-party
Trust center
Not available
Restrictions
Requires a free Multi Upload Tool account (OAuth sign-in). Free plan available; paid plans priced per connected social account add more accounts and uploads. · Publisher source

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Upload-Post is the all-in-one social media MCP server the Model Context Protocol server for social media publishing, scheduling and analytics. Connect any MCP-compatible AI agent (Claude, Cursor, ChatGPT, Claude Desktop, n8n, and more) and publish, schedule and analyze content across 13+ social networks from one API: TikTok, Instagram, YouTube, YouTube Shorts, Instagram Reels, LinkedIn, Facebook
    57
    107 npm
    9
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Schedule and manage social media posts across 10 platforms (Instagram, Facebook, TikTok, X, LinkedIn, YouTube, Threads, Pinterest, Bluesky, Telegram) from any MCP-compatible AI assistant. Supports batch posting, media uploads, analytics, and platform-specific features like Reels, Shorts, and carousels.
    11
    1,381 npm
    6
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Enables posting, scheduling, and analyzing social media content across 16+ platforms through MCP clients like Claude Desktop, Claude Code, and Cursor.
    51
    28 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Schedule and analyze social media posts from Claude, ChatGPT, or Cursor. Remote OAuth server, 17 tools across 9 platforms, free on every plan. Server URL: https://socialrobot.io/api/mcp
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources