Plug your social into any AI agent
The entire API, exposed as a hosted MCP server (Streamable HTTP). Point Claude, OpenClaw, Hermes, Cursor, ChatGPT or Grok — any MCP-capable agent — at one URL with a workspace key, and it can list accounts, draft, schedule, publish and read analytics. No install, no SDK.
Connect in one line
Auth: send your key as the X-Api-Key header (Claude Desktop,
Cursor, Claude Code). Clients that only take a URL — Claude.ai's "Add custom
connector", ChatGPT, Grok — can't set headers, so append ?key=sk_live_xxx
to the URL and leave the OAuth fields blank.
Use a dedicated, scoped key for URL-based connectors. You can revoke it any time from the dashboard (Developer → API keys) and it stops working immediately — every request re-checks the key, so there's no cache or delay.
{
"mcpServers": {
"social-by-idm": {
"type": "streamable-http",
"url": "https://social-api.instantdm.com/mcp",
"headers": { "X-Api-Key": "sk_live_xxx" }
}
}
} claude mcp add --transport http social-by-idm https://social-api.instantdm.com/mcp \
--header "X-Api-Key: sk_live_xxx" https://social-api.instantdm.com/mcp?key=sk_live_xxx 16 tools — full API parity
Every tool hits the same publish pipeline the dashboard uses. Keys are
workspace-scoped; a tool whose scope the key lacks returns 403.
Accounts
list_accounts List the social accounts connected in your workspace, with platform and handle. accounts:read Posts
create_post Schedule or publish a post — text, image, carousel, video, reel, story, thread, article or document — to one or more accounts, with per-platform captions and times. posts:write update_post Edit a scheduled post or reschedule it, and activate a draft. posts:write get_post Fetch a post and its per-platform targets. posts:read get_post_status Check whether a post is still waiting or has published — per platform, with permalinks. posts:read list_posts List posts in the workspace (drafts, scheduled, published). posts:read delete_post Cancel or delete a post created through us. posts:write Native posts
list_platform_posts List native posts straight from a platform — including ones not created here. On Instagram, Facebook, X & Pinterest each post includes mediaUrl (the downloadable video/image file) for repurposing; TikTok/YouTube return null (no downloadable file). posts:read delete_platform_post Delete a native post off the platform by its platform post id (works for posts not created here). posts:write Media
upload_media_from_url Pull an image or video from a URL into your media library to attach to posts. media:write create_upload_url Get a presigned URL to upload a LOCAL file (no public URL needed). Returns media_id + upload_url; PUT the bytes to it, then call complete_upload. media:write complete_upload Mark a presigned upload complete after PUTting the bytes, returning the media_id to attach to a post. media:write list_media List media assets in the workspace. media:read delete_media Delete a media asset. media:write Analytics
get_analytics Workspace analytics — totals, status/type breakdown, plus live per-account and per-platform insights. analytics:read Proxy
platform_request Call a connected account’s native platform API directly — we inject the OAuth token. Give account_id, method and a relative path. Reach endpoints we don’t wrap. (X/Twitter disabled.) platform:proxy Hand your agent the keyboard
Mint a scoped key in the dashboard, paste the config, and your agent posts.