Distribution tools (scope: mcp:distribute, credits: ~1-3)
Publish or schedule a post to connected social platforms.
Publish or schedule a post to connected social platforms. Check list_connected_accounts first to verify active OAuth for each target platform. For Instagram carousels: use media_type=CAROUSEL_ALBUM with 2-10 media_urls. For YouTube: title is required. schedule_at uses ISO 8601 (e.g. 2026-03-20T14:00:00Z) — omit to post immediately. Costs ~1-3 credits.
Request Body
platformsstring · enum · requiredTarget platforms (array). Each must have active OAuth — check list_connected_accounts first. Values: youtube, tiktok, instagram, twitter, linkedin, facebook, threads, bluesky.
Enum values:youtubetiktokinstagramtwitterlinkedinfacebookthreadsbluesky
media_urlstringOptional URL of the media file (video or image) to post. This should be a ' + 'publicly accessible URL or a Cloudflare R2 signed URL from a previous generation. ' + 'Required for platforms that enforce media uploads. Not needed if media_urls is provided.
media_urlsstringArray of 2-10 image URLs for Instagram carousel posts. Each URL must be publicly accessible or a Cloudflare R2 signed URL. Use with media_type=CAROUSEL_ALBUM.
media_typestring · enumMedia type. Set to CAROUSEL_ALBUM with media_urls for Instagram carousels. ' + 'Default: auto-detected from media_url.
Enum values:IMAGEVIDEOCAROUSEL_ALBUMcaptionstringPost caption/description text.
titlestringPost title (used by YouTube and some other platforms).
hashtagsstringHashtags to append to caption. Include or omit the "#" prefix — both work. Example: ["ai", "contentcreator"] or ["#ai", "#contentcreator"].
schedule_atstringISO 8601 UTC datetime for scheduled posting (e.g. "2026-03-20T14:00:00Z"). Omit to post immediately. Must be in the future.
project_idstringSocial Neuron project ID to associate this post with.
response_formatstring · enumOptional response format. Defaults to text.
Enum values:textjsonattributionbooleanIf true, appends "Created with Social Neuron" to the caption. Default: false.
Responses
contentobject[]
Check which social platforms have active OAuth connections for posting.
Check which social platforms have active OAuth connections for posting. Call this before schedule_post to verify credentials. If a platform is missing or expired, the user needs to reconnect at socialneuron.com/settings/connections. Costs ~1-3 credits.
Request Body
response_formatstring · enumOptional response format. Defaults to text.
Enum values:textjson
Responses
contentobject[]
List recent published and scheduled posts with status, platform, title, and timestamps.
List recent published and scheduled posts with status, platform, title, and timestamps. Use to check what has been posted before planning new content, or to find post IDs for fetch_analytics. Filter by platform or status to narrow results. Costs ~1-3 credits.
Request Body
platformstring · enumFilter to a specific platform.
Enum values:youtubetiktokinstagramtwitterlinkedinfacebookthreadsblueskystatusstring · enumFilter by post status.
Enum values:draftscheduledpublishedfaileddaysnumberNumber of days to look back. Defaults to 7. Max 90.
limitnumberMaximum number of posts to return. Defaults to 20.
response_formatstring · enumOptional response format. Defaults to text.
Enum values:textjson
Responses
contentobject[]
Find optimal posting time slots based on best posting times and existing schedule.
Find optimal posting time slots based on best posting times and existing schedule. Returns non-conflicting slots sorted by engagement score. Costs ~1-3 credits.
Request Body
platformsstring · enum · requiredEnum values:youtubetiktokinstagramtwitterlinkedinfacebookthreadsblueskycountnumber · requiredNumber of slots to find
min_gap_hoursnumber · requiredMinimum gap between posts on same platform
response_formatstring · enum · requiredEnum values:textjson
start_afterstringISO datetime, defaults to now
Responses
contentobject[]
Schedule all posts in a content plan.
Schedule all posts in a content plan. Optionally auto-assigns time slots and runs quality checks before scheduling. Supports dry-run mode. Costs ~1-3 credits.
Request Body
auto_slotboolean · requiredAuto-assign time slots for posts without schedule_at
dry_runboolean · requiredPreview without actually scheduling
response_formatstring · enum · requiredEnum values:textjsonenforce_qualityboolean · requiredWhen true, block scheduling for posts that fail quality checks.
batch_sizenumber · requiredConcurrent schedule calls per platform batch.
planstringplan_idstring · uuidPersisted content plan ID from content_plans table
quality_thresholdnumberOptional quality threshold override. Defaults to project setting or 26.
idempotency_seedstringOptional stable seed used when building idempotency keys.
Responses
contentobject[]