Upload Post logo

Upload Post

Publish, schedule, manage, and analyze social posts across major networks through Upload-Post and MCP.

Install Upload Post

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "upload-post": {
      "command": "npx",
      "args": [
        "-y",
        "@upload-post/mcp"
      ],
      "env": {
        "UPLOAD_POST_API_KEY": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

Upload-Post MCP server connects MCP-compatible agents to Upload-Post, which publishes content across TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Pinterest, Threads, Bluesky, and other supported networks. Upload video, photos, text, or LinkedIn documents, then schedule posts, check asynchronous jobs, retrieve history, and manage pending schedules. Analytics tools cover account performance, impressions, post metrics, cached results, audience data, and platform metric definitions. Reach for it when an agent needs one API surface for multi-network publishing and social reporting.

Use cases

  • Publish one video to several social networks
  • Schedule and revise a campaign of posts
  • Review post performance and audience activity
  • Find TikTok music or locations for video posts
  • Browse connected profiles and recent media

Key features

  • Multi-network video, photo, text, and document publishing
  • Asynchronous upload and scheduled-job tracking
  • Schedule editing and cancellation
  • Profile, post, audience, and impression analytics
  • TikTok music and location search
  • Upload-Post profile and connection management

Tools57

What Upload Post lets your agent do. Expand a tool for its parameters.

Verified live~16.5k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

20/21 checks healthy over the last 91d

What it can do

From the 57 tools this server returned when we ran it; 57 declare their own safety hints.

Runs commands · 2Can delete or modify data · 13Handles credentials · 1Makes network requests · 24Read-only tools · 42
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age104 days
Maintainers2

Observed 2026-10-21 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 3d ago via OSV.dev · @upload-post/mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars16Stargazers on the source repository.
npm downloads1.1kPackage downloads in the last 30 days.
Last commit2d agoMost recent push to the default branch.
Tools exposed57Callable tools this server registers over MCP.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How Upload Post works

What Upload-Post MCP server does

Upload-Post MCP server gives an MCP client access to Upload-Post’s social publishing and analytics API. It can publish videos, photos, carousels, text posts, and LinkedIn documents to one or more connected profiles. Supported destinations include TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, and others exposed by the connected Upload-Post account.

The server also supports scheduled publishing, upload history, media browsing, account and profile administration, and social performance analysis. TikTok-specific helpers can find commercial music tracks or locations for use with video publishing. Facebook pages, LinkedIn pages, and Pinterest boards can be enumerated before selecting a destination.

How it works

Publishing calls return an asynchronous identifier rather than waiting for the platform operation to finish. Use get_status with the returned request_id until the operation succeeds or fails. Posts created with a schedule or queue use get_job_status and can be listed, edited, or cancelled through the scheduling tools.

Analytics can be requested at profile level, for total impressions, or for an individual post. get_cached_post_analytics reads metrics previously fetched live, which is useful when reviewing many posts without making another platform request. Audience data includes follower characteristics, activity by hour, account actions, and optional niche benchmarks. Suggestion queries return hashtag reach or search terms for a selected network.

A local stdio deployment runs the package through npx and passes an Upload-Post API key in the environment. A hosted deployment exposes the streamable HTTP endpoint and accepts each user’s key through an Authorization header. OAuth connection flows are also available in supported hosted clients and through JWT-based connection tools.

Setup and configuration

For local use, configure an MCP client with a command equivalent to:

config.json
{
  "command": "npx",
  "args": ["-y", "@upload-post/mcp"],
  "env": {
    "UPLOAD_POST_API_KEY": "YOUR_API_KEY"
  }
}

API keys are obtained from the Upload-Post application. Hosted deployments use the /mcp endpoint and can authenticate with either Authorization: ApiKey YOUR_KEY or, for clients that require it, Authorization: Bearer YOUR_KEY.

Video inputs must be public or signed HTTPS URLs, or absolute local paths readable by a local server. A hosted server cannot access files on the user’s computer or chat attachments. For local files with an HTTP-capable client, stage the bytes with the media-upload flow, complete the upload, and pass the resulting media URL to the publishing tool. Staged media is removed after 24 hours. Inline base64 video is limited by UPLOAD_POST_MAX_INLINE_MB, which defaults to 100 MB.

Tools and capabilities

  • Publish videos, photos, carousels, text posts, and LinkedIn documents.
  • Schedule, inspect, edit, and cancel pending posts.
  • Retrieve upload status, queued-job status, history, and connected-profile media.
  • Read profile analytics, impressions, post metrics, cached metrics, and audience information.
  • Manage Upload-Post profiles and generate or validate connection JWTs.
  • Discover Facebook pages, LinkedIn pages, Pinterest boards, TikTok music, and TikTok locations.

Limitations and notes

Reddit is currently unavailable as a publishing target and returns reddit_unavailable; do not select it when publishing. TikTok audience and suggestion features require the relevant profile_analytics capability, while keyword suggestions also require trend_search. TikTok music and location helpers depend on the corresponding capabilities of the connected account.

Analytics responses vary by platform. TikTok post metrics may include retention curves, impression sources, audience types, follower gains, reach, and watch-time fields in addition to common counters. Audience date windows are limited to 60 days and end before the current day. Cached post metrics exist only after the post has been queried live and are not refreshed in the background.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Upload Post

Upload-Post is an MCP server that connects AI clients to the Upload-Post social publishing API and connected networks such as TikTok, Instagram, YouTube, LinkedIn, and Facebook. Its main tools publish videos, photos, text, and documents, schedule posts, check job status, retrieve media, manage profiles, and analyze account or post performance.

Install it locally by configuring your MCP client to run `npx -y @upload-post/mcp` and supplying `UPLOAD_POST_API_KEY`. You can also connect to a hosted `/mcp` endpoint with an API key, or use the listed OAuth connection flows in supported clients.

Yes, when the local MCP process can read the file, pass an absolute local path. A hosted server cannot read files on your machine; stage the file through the media-upload flow with an HTTP-capable client, or provide a public or signed HTTPS URL instead.

Call `get_status` with the upload’s `request_id` and continue polling until the result is successful or failed. Scheduled or queued posts use `get_job_status` with their `job_id` instead.

No. Reddit publishing is currently unavailable and returns `reddit_unavailable`, so Reddit should not be included as a publish target.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewUpload Post AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/upload-post?style=directory)](https://allmcps.com/mcp/upload-post)
HTML Embed
<a href="https://allmcps.com/mcp/upload-post"><img src="https://allmcps.com/api/badge/upload-post?style=directory" alt="Upload Post on AllMCPs" /></a>