Letting an AI agent post to social media with MCP, safely
The Model Context Protocol lets assistants like Claude and ChatGPT call real tools, including ones that publish to social media. How it works, how to connect a publishing server, and the guardrails to put in place before an agent can post for you.
The Reelspan teamThe people who build Reelspan
4 min read

AI assistants have become good at the parts of social media work that are mostly writing: captions, variations, which clip suits which platform. Until recently they stopped at the point of actually posting. The Model Context Protocol (MCP) removes that gap, which is useful and also a reason to be careful. This guide covers both.
What MCP is, in two paragraphs
MCP is an open standard for connecting AI applications to external systems. An MCP server exposes capabilities, mainly tools (functions the model can call), plus resources and prompts. An MCP client is the AI application that connects to it: Claude, ChatGPT, an IDE, or your own agent.
When you connect a server, the client asks it which tools it has. Each tool comes with a name, a description and a JSON schema for its inputs (tools spec). The model reads these and decides when to call which tool, with which arguments. The specification says there should always be a human in the loop who can deny a tool call, and clients typically ask for confirmation before running one.
Where social media fits
A publishing server turns "post this video to TikTok and YouTube tonight with captions that fit each" from a to-do item into a tool call. Reelspan's MCP server, for example, gives an agent the same operations as its REST API:
- Publishing:
upload_video,upload_photosandupload_textto the networks you choose, now or at a scheduled time. - Checking results:
upload_statusfor per-network outcomes,retry_failedto resend only the networks that failed, andupload_history. - The schedule:
list_scheduled,edit_scheduledandcancel_scheduled. - Captions:
generate_captionswatches a video and writes a caption for each network;rewrite_captionsfits existing text to each one. - Accounts:
list_profilesandget_connect_link, a link a client can use to connect their own accounts. - Numbers:
get_analyticsandget_post_analytics.
The agent never sees platform passwords or tokens. It calls the server, and the server posts with the connections you made in Reelspan, under your plan's limits.
Connecting a server
MCP defines two standard transports:
- stdio: the client starts the server as a local process and talks to it over standard input and output. Good for development.
- Streamable HTTP: the server runs at a URL and the client sends requests over HTTP. This is what hosted servers use.
For a hosted server with an API key, adding it to Claude Code looks like this:
claude mcp add --transport http reelspan https://app.reelspan.com/mcp \
--header "Authorization: Bearer $REELSPAN_KEY"
Other clients take the same URL and header in a JSON config. Some, like ChatGPT, sign in with OAuth instead of a pasted key. The MCP authorization spec builds on OAuth 2.1 for exactly this. Our MCP setup page has the exact steps for each client, and the ChatGPT guide covers the sign-in flow.
Guardrails before you let it post
An agent that can publish can also publish the wrong thing, to the wrong account, at 3 a.m. None of that is hypothetical. These are the guardrails worth setting up first:
- Give it the narrowest key. If the agent only reports on results, a read-only key is enough. Reelspan's API keys have scopes, and the MCP server enforces them: a key without the publishing scope can't publish, whatever the agent tries.
- Schedule, then review. Ask the agent to schedule posts rather than publish them. You get a queue you can read, edit or cancel before anything goes live, and
cancel_scheduledis one call away. - Keep tool approvals on. Most MCP clients ask before running a tool. Leave that on for anything that publishes, at least until you trust the setup.
- Name the profile every time. If you manage several brands or clients, have the agent call
list_profilesand confirm the profile before posting, not guess it. - Check every run. Have the agent finish by calling
upload_statusand reporting per-network results, so a failed TikTok post doesn't go unnoticed behind a successful YouTube one. - Watch the limits. Platform limits still apply: TikTok's daily per-creator limit, Instagram's 24-hour publishing cap and so on (see our cross-posting guide). An agent in a loop will hit them faster than a person.
A realistic workflow
Here is a workflow that suits an agent well:
- You drop a finished video and a few lines of notes into a chat.
- The agent calls
generate_captionsand shows you a caption per network. - You edit the two you don't like.
- The agent schedules the post for the evening on the profiles you named, and lists what it scheduled.
- The next morning, you ask how it did. The agent calls
upload_statusandget_post_analyticsand summarises.
The agent does the repetitive parts. You make every decision that matters.
Try it
Reelspan's MCP server works with Claude, ChatGPT, Cursor and other MCP clients, using the same API key, scopes and limits as the REST API. The MCP page has the setup for each, and the free plan includes it.
Questions people ask
What is an MCP server?
A program that exposes tools, data or prompts to AI applications over the Model Context Protocol, an open standard. An assistant that supports MCP can discover the server's tools and call them on the user's behalf.
Can Claude post to TikTok or Instagram?
Not on its own, but it can through an MCP server that publishes to those platforms. The server does the posting with its own connection to each network; Claude decides what to call and with which caption.
How do I stop an AI agent from posting something I didn't approve?
Give it a key with the narrowest permissions, have it schedule rather than publish so you can review the queue, keep approvals on in your AI client, and check results after each run.
Sources
- Model Context Protocol: introduction, Model Context Protocol. Checked 6 Nov 2026.
- MCP specification: transports, Model Context Protocol. Checked 6 Nov 2026.
- MCP specification: authorization, Model Context Protocol. Checked 6 Nov 2026.
- MCP specification: tools, Model Context Protocol. Checked 6 Nov 2026.


