Developers

Let agents and code post for you

Everything the dashboard does with posts, an AI agent or a script can do too: see connected accounts, publish now or schedule, check each platform’s result, change or cancel scheduled posts, delete posts that are already live, and upload media.

MCP server

A hosted Model Context Protocol server. Claude, ChatGPT, Cursor and other clients connect with the URL and sign in with your account over OAuth, so there is no key to paste. Clients without OAuth can send an API key as a Bearer token.

https://socialmediascheduler.cc/api/mcp

Claude (web and desktop)

  1. Open Customize → Connectors and click Add custom connector.
  2. Paste the URL above and click Add.
  3. Click Connect, sign in here and choose Allow.

Works on every Claude plan; Claude’s Free plan allows one custom connector. On Claude Team and Enterprise, an Owner adds it under Organization settings → Connectors → Add → Custom → Web, then each member clicks Connect under Customize → Connectors. Turn it on in a chat from + → Connectors.

ChatGPT

  1. Go to chatgpt.com/plugins, click + and choose Add custom MCP server.
  2. Enter a name, paste the URL above as the connection, and choose OAuth for authentication.
  3. Accept the warning and click Create as a plugin, then sign in here and choose Allow.

Whether custom MCP servers are available depends on your ChatGPT plan and workspace settings.

Claude Code

Install the plugin (MCP server plus a skill that teaches the posting workflow):

/plugin marketplace add k-li18/socialmediascheduler-agent
/plugin install social-media-scheduler@social-media-scheduler

Or add only the server, then run /mcp to sign in:

claude mcp add --transport http social-media-scheduler https://socialmediascheduler.cc/api/mcp

Cursor

Add this to ~/.cursor/mcp.json; Cursor opens the sign-in page the first time it connects:

{ "mcpServers": { "social-media-scheduler": { "url": "https://socialmediascheduler.cc/api/mcp" } } }

Other agents

Clients without OAuth send an API key from Agents & API keys as Authorization: Bearer sms_….

The 14 tools
  • list_social_accounts — List connected accounts
  • get_connect_link — Get a link to connect accounts
  • create_post — Publish or schedule a post
  • validate_post — Check a post without publishing
  • list_posts — List posts
  • get_post — Get a post and its results
  • update_post — Change a scheduled post
  • cancel_post — Cancel a scheduled post
  • unpublish_post — Delete a published post
  • upload_media — Upload an image or video
  • list_webhooks — List webhooks
  • create_webhook — Add a webhook
  • delete_webhook — Remove a webhook
  • test_webhook — Send a test event

REST API

The same operations over plain HTTPS with an API key. Send an Idempotency-Key and a retried request returns the first post instead of publishing twice. Add "dry_run": true to run every check (connected accounts, media each platform needs, caption length, time) without posting.

curl -X POST https://socialmediascheduler.cc/api/v1/posts \
  -H "Authorization: Bearer $SMS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: launch-2026-11-02" \
  -d '{"caption":"We just launched!",
       "platforms":["linkedin","x"],
       "scheduled_at":"2026-11-02T09:00:00-05:00"}'
  • 120 requests a minute per key.
  • Media from public links, or uploaded to POST /media (up to 100 MB).
  • Every post reports a status and public link per platform, so “7 published, 2 failed” is visible to your code.

Webhooks

Register a URL and get a POST when a post finishes, instead of polling: post.published, post.partial or post.failed, carrying the same post object the API returns. Requests are signed with HMAC-SHA256 in the Standard Webhooks format (webhook-id, webhook-timestamp, webhook-signature), so its libraries verify them. Failed deliveries are retried for about a day.

Agent skill

A skill teaches an agent the posting workflow: check connected accounts, confirm with you before publishing, each platform’s limits, scheduling and errors. Install it in Claude Code, Cursor, Codex and other agents that support skills:

npx skills add k-li18/socialmediascheduler-agent

Source: github.com/k-li18/socialmediascheduler-agent

CLI

Post from the terminal or a script, nothing to install. Every command takes --json for machine-readable output, so agents that run shell commands can use it too.

npx socialmediascheduler setup --key sms_…
npx socialmediascheduler post "Hello" --platforms linkedin,x --media ./photo.jpg

Package: npmjs.com/package/socialmediascheduler

What it does not do

The API publishes, schedules and deletes. It does not read engagement numbers, reply to comments or messages, or edit a post once it is live on a network. Deleting a live post works on Facebook, YouTube, X, LinkedIn and Threads; Instagram and TikTok do not let apps delete posts, so those have to be removed in their own apps. Accounts are connected by their owner on our site; an agent can create the link but never sees a social login.