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/mcpClaude (web and desktop)
- Open Customize → Connectors and click Add custom connector.
- Paste the URL above and click Add.
- 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
- Go to chatgpt.com/plugins, click + and choose Add custom MCP server.
- Enter a name, paste the URL above as the connection, and choose OAuth for authentication.
- 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-schedulerOr add only the server, then run /mcp to sign in:
claude mcp add --transport http social-media-scheduler https://socialmediascheduler.cc/api/mcpCursor
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 accountsget_connect_link— Get a link to connect accountscreate_post— Publish or schedule a postvalidate_post— Check a post without publishinglist_posts— List postsget_post— Get a post and its resultsupdate_post— Change a scheduled postcancel_post— Cancel a scheduled postunpublish_post— Delete a published postupload_media— Upload an image or videolist_webhooks— List webhookscreate_webhook— Add a webhookdelete_webhook— Remove a webhooktest_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-agentCLI
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.jpgWhat 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.