How to post to social media with an AI agent

An assistant that can only write captions still leaves you the copying, the ten tabs and the ten sets of rules. Connecting it to a publishing tool over MCP closes that loop: you describe the post, it checks the limits, and you approve it going out. Here is the actual mechanism, and the four things that genuinely go wrong.

  1. 1You

    Describe the post in a sentence.

  2. 2Your assistant

    Drafts it and checks the caption against every network you picked — before anything uploads.

  3. 3You approve

    Publishing is marked destructive in the protocol, so your client asks first. This is the last point at which the post is still yours.

  4. 4Eurekuh publishes

    Natively, through each network's own API, now or at the time you asked for.

Out to any of ten:TikTokInstagramYouTubeLinkedInThreadsFacebookBlueskyGoogle BusinessPinterestX
The approval step is a protocol hint, not a lock — a client is allowed to auto-approve. It is a strong default, not a guarantee.

How it works

  1. 1

    Connect your accounts in a browser first

    This is the one step no agent can do for you, on any tool, by design. Connecting TikTok or Instagram means an OAuth consent screen, and a key that could drive one would be a way into your account rather than a way to use it. So: sign in, connect your networks, then hand the agent something narrower.

  2. 2

    Create an API key

    One key, shown once, stored only as a hash. It lets an agent draft, schedule and publish on your behalf — and deliberately nothing else: it cannot connect a new network, change your billing or sign in as you. Revoking it takes one click and takes effect on the very next call.

  3. 3

    Add the server to your assistant

    In Claude: Settings, Connectors, Add custom connector, with https://eurekuh.com/api/mcp as the URL. Choose “No sign-in” for authentication, then add a request header named Authorization whose value is the word Bearer, a space, and your key. Cursor and Claude Code take the same URL and the same header in their own config. One-click OAuth install is coming; until it does, this is thirty seconds of typing.

  4. 4

    Ask for a draft before you ask for a post

    “Draft a post about X for LinkedIn and Bluesky” gets you something to read. The agent can check the caption against every selected network before anything uploads — which matters, because it has no idea on its own that Bluesky counts graphemes rather than characters, or that Pinterest takes one image where Instagram takes ten. Getting that wrong is a queue full of failures at 9am.

  5. 5

    Approve the publish

    Publishing tools are marked destructive in the protocol, which tells your client to ask a human before running them. In Claude that is an approval dialog with the caption and the networks in it. Read it — that dialog is the last point at which a post is still yours.

What actually goes wrong

  • An agent that browses the web can be told what to post

    This is the real risk and most pages about this topic skip it. A model that reads a web page, an email or a PDF is reading text that can contain instructions, and it cannot reliably tell those apart from yours. Give one publishing rights and a poisoned page becomes a post on your account. The approval prompt is the defence, and the protocol calls it a hint rather than a guarantee — clients are allowed to auto-approve. So: keep approvals on, keep the key revocable, and be wary of agents running unattended with both browsing and publishing.

  • “Post it now” cannot be taken back

    Scheduling is reversible until the moment it publishes; publishing is not. Nothing can unpublish a post from outside the network it went to — you delete it there, by hand, and on some networks people have already seen it. Ask for a scheduled post twenty minutes out and you keep a window to change your mind.

  • On X, every post is a bill

    X charges per post through its API, and a post containing a link costs more than a plain one. It is the one network where an agent in a loop spends real money rather than just embarrassing you, which is why publishing to X immediately is refused by default here and has to be scheduled instead.

  • The agent does not know your media

    It cannot see your camera roll. Media has to be somewhere the server can fetch it — a public URL — or uploaded in the browser first. An assistant confidently describing a video it has never seen is describing nothing; check that a real file made it in before you approve anything.

  • It will guess at accounts you do not have

    Ask for “post everywhere” and a model will happily name networks you never connected. Have it list your connected accounts first. It is one call, and it is the difference between a post going out and five minutes of confident nonsense.

The networks this applies to

Questions

Which assistants can do this?+

Anything that speaks MCP: Claude on the web and desktop, Claude Code, Cursor, and ChatGPT on the plans where custom connectors are available. Gemini's app has no custom-connector screen yet, though the Gemini CLI and most agent frameworks reach a standard MCP endpoint fine.

Does it cost extra?+

Not here — the MCP server works on every plan including the free one, because connecting an assistant is how you find out whether the product is worth paying for. The REST API, for scripts and cron jobs rather than assistants, is the paid part. Most competitors charge for both and have no free tier at all.

Can I use it in a script instead of a chat?+

Yes, and for a release pipeline or an n8n flow you should — MCP is built for a conversation with a human in it. The REST API is the same operations over plain HTTP, described by an OpenAPI document so you can generate a client rather than write one.

What happens if my key leaks?+

Revoke it on your profile; the next call with it fails. The key is stored only as a hash, so nobody — including us — can read it back out, and the record of when it was last used survives revocation so you can see whether it was used at all.

Related

Ready to start publishing?

Connect your accounts, upload a video, and publish. Takes less than a minute. Free to start — see plans.

or