Multi Upload Tool
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
- 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 toolscheck_media_uploadRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dropId | Yes | dropId from create_media_upload |
fetchRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | An id returned by search. |
get_analyticsRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many top posts to return (default 10). Ignored with postId. | |
| postId | No | postId of one post (from create_post or list_recent_posts). Returns that post's metrics only. | |
| source | No | Which 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. | |
| timezone | No | IANA 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. | |
| accountId | No | Connected account id (from list_accounts). Omit for all accounts combined. |
get_hashtag_historyRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many hashtags to return (default 20) | |
| platform | Yes |
get_platform_capabilitiesRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes |
get_post_statusRead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | postId returned by create_post or list_recent_posts |
get_upload_limitsRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | Connected account id from list_accounts. |
list_accountsRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Only accounts carrying this tag (exact match, case-insensitive). Users tag accounts to group them, e.g. by client. | |
| search | No | Case-insensitive substring of the account name, e.g. part of a handle | |
| platform | No | Only accounts on this platform |
list_poolsRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
list_recent_postsRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many posts to return (default 10) | |
| status | No | ||
| platform | No | Filter by platform | |
| accountId | No | Filter by connected account id |
searchRead-onlyInspect
Search your posts (caption and title) and connected accounts by keyword. Returns { results: [{ id, title, url }] }; pass an id to fetch for the full record. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Words to look for, e.g. a product name or a hashtag. |
validate_postRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Post text / caption | |
| status | No | Create 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'. | |
| mediaUrls | No | Public http(s) URLs of images or videos to attach | |
| overrides | No | Per-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). | |
| accountIds | Yes | Connected account ids from list_accounts | |
| scheduledAt | No | ISO 8601 — omit for immediate publish | |
| idempotencyKey | No | Unique key for this post (e.g. a UUID). Reusing it within 24h returns the first result instead of publishing again. | |
| platformSettings | No | Per-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.
12 tool updates
- First observed
check_media_upload - First observed
fetch - First observed
get_analytics - First observed
get_hashtag_history - First observed
get_platform_capabilities - First observed
get_post_status - First observed
get_upload_limits - First observed
list_accounts - First observed
list_pools - First observed
list_recent_posts - First observed
search - First observed
validate_post
Publisher details
- Operator
- Multi Upload Tool · Publisher source
- Operator website
- https://multi-upload-tool.com
- Vendor relationship
- First-party
- Documentation
- https://docs.multi-upload-tool.com/mcp
- 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
Schedule and publish social posts across 9 platforms (Instagram, LinkedIn, X, TikTok, Facebook, Threads, Pinterest, Bluesky, Mastodon) straight from Claude, ChatGPT, Cursor, or any MCP client. Create, edit, and reschedule posts, upload media, and pull account and post analytics, follower demographics, and best-time windows. 20 tools, free on every plan.
Post and schedule to TikTok, Instagram, YouTube, Facebook, LinkedIn, X, Threads and Bluesky from your AI agent. Video included, you approve every post, and MCP is on the free plan.
Social media MCP: publish, schedule & analyze posts on TikTok, Instagram, YouTube, LinkedIn & X
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
Related MCP Servers
AlicenseBqualityAmaintenanceUpload-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, Facebook57107 npm9MIT- AlicenseAqualityBmaintenanceSchedule 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.111,381 npm6MIT
- AlicenseBqualityCmaintenanceEnables posting, scheduling, and analyzing social media content across 16+ platforms through MCP clients like Claude Desktop, Claude Code, and Cursor.5128 npmMIT
- AlicenseNot gradedqualityAmaintenanceSchedule 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/mcpMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.