AI agents & MCP

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 people who build Reelspan

4 min read

Cover illustration: the title 'Letting an AI agent post to social media with MCP' on a dark card with Reelspan's crop-frame mark

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_photos and upload_text to the networks you choose, now or at a scheduled time.
  • Checking results: upload_status for per-network outcomes, retry_failed to resend only the networks that failed, and upload_history.
  • The schedule: list_scheduled, edit_scheduled and cancel_scheduled.
  • Captions: generate_captions watches a video and writes a caption for each network; rewrite_captions fits existing text to each one.
  • Accounts: list_profiles and get_connect_link, a link a client can use to connect their own accounts.
  • Numbers: get_analytics and get_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:

  1. 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.
  2. 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_scheduled is one call away.
  3. 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.
  4. Name the profile every time. If you manage several brands or clients, have the agent call list_profiles and confirm the profile before posting, not guess it.
  5. Check every run. Have the agent finish by calling upload_status and reporting per-network results, so a failed TikTok post doesn't go unnoticed behind a successful YouTube one.
  6. 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:

  1. You drop a finished video and a few lines of notes into a chat.
  2. The agent calls generate_captions and shows you a caption per network.
  3. You edit the two you don't like.
  4. The agent schedules the post for the evening on the profiles you named, and lists what it scheduled.
  5. The next morning, you ask how it did. The agent calls upload_status and get_post_analytics and 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

  1. Model Context Protocol: introduction, Model Context Protocol. Checked 6 Nov 2026.
  2. MCP specification: transports, Model Context Protocol. Checked 6 Nov 2026.
  3. MCP specification: authorization, Model Context Protocol. Checked 6 Nov 2026.
  4. MCP specification: tools, Model Context Protocol. Checked 6 Nov 2026.
Cover illustration: the title 'How to post one video to every social platform' on a dark card with Reelspan's crop-frame mark

Cross-posting

How to post one video to every social platform (and what changes on each)

Cross-posting one video to TikTok, YouTube, Instagram, Facebook, X, LinkedIn, Threads, Pinterest and Bluesky is mostly the same job nine times, except for the parts that aren't. A field guide to what changes per platform: shape, length, captions, privacy, scheduling and AI labels.

5 min read

Cover illustration: the title 'Auto-post videos from n8n to TikTok, Instagram, YouTube and more' on a dark card with Reelspan's crop-frame mark

Automation

Auto-post videos from n8n to TikTok, Instagram, YouTube and more

Most n8n templates for posting video wire up each platform's API on its own, with its own app review, tokens and limits. A simpler workflow sends the video once to a publishing API and lets it reach every platform. Step by step, with the HTTP Request node.

8 min read

Cover illustration: the title 'How to schedule Instagram Reels, TikToks and YouTube Shorts' on a dark card with Reelspan's crop-frame mark

Automation

How to schedule Instagram Reels, TikToks and YouTube Shorts (2026 guide)

Instagram, TikTok and YouTube each have a built-in scheduler, with different rules on who can use it, how far ahead you can schedule and what doesn't work. Step by step for all three, from their own help pages, plus when a cross-platform scheduler makes more sense.

6 min read