Skip to content
DunSocial Docs

Posts and drafts

The DunSocial MCP tools for posts and drafts: schedule, publish now, post X/Twitter threads, and save drafts, all callable by an AI assistant.

Posts

Tool What it does
list_posts List posts (optional status, account, pagination). Includes mediaUrls (asset ids).
get_post Get one post by id
validate_post Dry-run schedule/publish checks (no writes). Call before schedule/publish; fix issues[].next when valid is false.
schedule_post Schedule for later (socialAccountIds, content, scheduledAt, optional media/metadata)
publish_now Publish immediately
schedule_thread / publish_thread_now X/Twitter threads (2–25 tweets)
schedule_reddit_post / publish_reddit_now Reddit self, link, image, or video
schedule_instagram_post / publish_instagram_now Feed image, carousel, or Reel
schedule_pinterest_post / publish_pinterest_now Image Pin to a board
schedule_discord_post / publish_discord_now Discord text and attachments to a channel
schedule_slack_post / publish_slack_now Slack text and files to a channel
reschedule_post Change time and content (content and scheduledAt are both required)
cancel_post Cancel a scheduled post
delete_post Delete a post
get_x_cap_usage X monthly posting cap

Needs scopes: read tools use workspace:read; schedule/cancel need posts:schedule; publish tools need posts:publish; delete needs content:delete.

Example ask

Schedule this LinkedIn post for tomorrow at 15 UTC on account ACCOUNT_ID: “We just shipped …”

The assistant should call schedule_post with ISO scheduledAt and the social account id.

Drafts

Tool What it does
list_drafts / get_draft Browse drafts
create_draft / update_draft Save ideas (optional platforms, accounts, media, Pinterest options)
delete_draft Remove a draft

Drafts need drafts:write (delete needs content:delete). A draft never publishes by itself.

Platform metadata on generic tools

schedule_post and publish_now can carry metadata.reddit, metadata.instagram, metadata.pinterest, metadata.discord, or metadata.slack plus mediaUrls. Discord requires metadata.discord.channelId from list_discord_channels (optional channelName). Slack requires metadata.slack.channelId from list_slack_channels (optional channelName). Facebook Pages need no metadata — pass the Page account id, text, and optional images. Prefer the dedicated tools when available.