Skip to Content
AI Agents (MCP)

AI Agents (MCP)

We speak the Model Context Protocol, so an AI assistant can work inside your workspace: list your connected accounts, check what a platform requires, publish a post, and read back its status.

These tools publish live posts. Anything an agent calls, your audience sees. Point it at a test account first, and keep your assistant configured to ask before it publishes.

Connect

POST https://api.multi-upload-tool.com/mcp

JSON-RPC 2.0 over plain HTTP POST — one request, one response, no session to keep alive. Authentication is the same API token as the rest of the API, in the x-api-key header; a team-scoped token sees exactly the accounts it would see on /api/v1.

claude mcp add --transport http multi-upload \ https://api.multi-upload-tool.com/mcp \ --header "X-API-Key: YOUR_API_TOKEN"

Any client that can call a remote MCP endpoint with a custom header works the same way. Rate limit: 60 calls per minute.

Tools

ToolWhat it does
list_accountsEvery connected account with its id, platform, name and status. Call it first — the ids feed every other tool.
get_platform_capabilitiesCharacter limits, daily caps, accepted media and the settings a platform requires, for one platform.
create_postPublishes or schedules to one or more accounts, mixing platforms in a single call.
get_post_statusWhere a post stands: queued, scheduled, published (with the platform’s own URL) or failed, with the error.
list_recent_postsRecent posts, filterable by account, platform or status — useful to avoid publishing the same thing twice.
suggest_hashtagsThe hashtags you actually use on a platform, plus the ones that would get the post rejected.

Each platform’s required settings are enforced, not guessed: TikTok needs a privacyLevel, YouTube a title, Pinterest a boardId. get_platform_capabilities returns the exact schema.

Media

create_post takes mediaUrls: up to 10 public http(s) URLs, which we download and attach. Each one must be under 200 MB and publicly reachable.

For anything larger — or for a file that has no public URL at all — presign it first:

  1. POST /api/v1/upload/presign with {"route": "video", "files": [{...}]}
  2. PUT the file to the signed URL it returns (straight to storage, no size ceiling on the way)
  3. create_post with the returned bucketUrl in mediaUrls

A URL you presigned yourself is recognised and passed through untouched: the bytes are already in place, so nothing is downloaded again and the 200 MB limit does not apply. See Large File Uploads for the full flow.

An agent with a shell (Claude Code, Codex, Cursor…) can do all three steps on its own — presign, curl -T, publish. Nothing to install beyond the MCP connection above.

Files on your own machine

A tool call carries JSON, never bytes — so a remote server cannot reach the video sitting on your laptop. For that, run the small bridge on your machine instead: it reads the file off disk, sends it straight to storage, and publishes. The assistant only ever handles a file path, never a storage URL.

{ "mcpServers": { "multi-upload": { "command": "npx", "args": ["-y", "multi-upload-tool-mcp"], "env": { "MULTI_UPLOAD_API_KEY": "YOUR_API_TOKEN" } } } }

That is the Claude Desktop / Cursor / Windsurf shape. Claude Code: claude mcp add multi-upload --env MULTI_UPLOAD_API_KEY=YOUR_API_TOKEN -- npx -y multi-upload-tool-mcp. Codex CLI: the same command and env under [mcp_servers.multi-upload] in ~/.codex/config.toml. Requires Node 20+; nothing else to install.

It adds two tools to list_accounts:

ToolWhat it does
publish_carouselUp to 35 local JPEG/PNG/WebP images (20 MB each) as a post or carousel.
publish_videoOne local MP4/MOV/WebM/M4V, up to 5 GB.

“Publie ~/videos/clip.mp4 sur ma chaîne YouTube, titre « Mon test », et sur TikTok en privé.”

Errors

A tool that fails returns a normal MCP result with isError: true and a readable message, rather than a protocol error — the assistant reads it and can correct itself. A partially successful create_post reports per account: check every entry in posts before deciding anything was retried safely.