Information
Analytics
    Get post performance metrics — views, likes, comments, shares, and engagement rate.postQueue analytics refresh jobs for all posts from the last 7 days across connected platforms.post
Autopilot
    List autopilot configurations showing schedules, credit budgets, last run times, and active/inactive status.postUpdate an existing autopilot configuration.postGet autopilot system overview: active config count, recent execution results, credits consumed, and next scheduled run time.postCreate a new autopilot configuration for automated content pipeline execution.post
Brand
    Analyze a website URL and extract brand identity data including brand name, colors, voice/tone, target audience, and logo.postLoad the active persisted brand profile for a project from brand_profiles.postPersist a brand profile as the active profile for a project.postUpdate platform-specific voice overrides (samples, tone/style, CTA/hashtag strategy).post
brandRuntime
    Get the full brand runtime for a project.postExplains what brand data is available vs missing for a project.postCheck if content text is consistent with the brand voice, vocabulary, messaging, and factual claims.postAudit content colors against the brand palette using perceptual color distance (Delta E 2000).postExport brand palette and typography as design tokens.post
carousel
    End-to-end carousel creation: generates slide text + kicks off image generation for each slide in parallel.post
Comments
    List YouTube comments — pass video_id (11-char string, e.postReply to a YouTube comment.postPost a new top-level comment on a YouTube video.postModerate a YouTube comment by setting its status to published or rejected.postDelete a YouTube comment.post
Content
    Start an async AI video generation job — returns a job_id immediately.postStart an async AI image generation job — returns a job_id immediately.postPoll an async job started by generate_video or generate_image.postPlan a multi-scene video storyboard with AI-generated prompts, durations, captions, and voiceover text per frame.postGenerate a voiceover audio file for video narration.postGenerate carousel slide content (headlines, body text, emphasis words per slide).post
Credits
    Check remaining credits, monthly limit, spending cap, and plan tier.postCheck how much of the per-session budget has been consumed.post
digest
    Generate a performance summary for a time period.postDetect significant performance changes: spikes, drops, viral content, trend shifts.post
discovery
    Search available tools by name, description, module, or scope.post
Distribution
    Publish or schedule a post to connected social platforms.postCheck which social platforms have active OAuth connections for posting.postList recent published and scheduled posts with status, platform, title, and timestamps.postFind optimal posting time slots based on best posting times and existing schedule.postSchedule all posts in a content plan.post
Extraction
    Extract text content from any URL — YouTube video transcripts, article text, or product page features/benefits/USP.post
Ideation Context
    Get synthesized ideation context from performance insights.post
Ideation
    Create a script, caption, hook, or blog post tailored to a specific platform.postGet current trending topics for content inspiration.postRewrite existing content for a different platform — adjusts character limits, hashtag style, tone, and CTA format automatically.post
Insights
    Query performance insights derived from post analytics.postAnalyze post analytics data to find the best times to post for maximum engagement.post
Loop Summary
    Get a one-call dashboard summary of the feedback loop state (brand profile, recent content, and current insights).post
media
    Upload a local file or external URL to persistent R2 storage.postGet a fresh signed URL for an R2 media key.post
pipeline
    Pre-flight check before run_content_pipeline.postRun the full content pipeline: research trends → generate plan → quality check → auto-approve → schedule posts.postCheck status of a pipeline run, including stages completed, pending approvals, and scheduled posts.postBatch auto-approve posts in a content plan that meet quality thresholds.post
Plan Approvals
    Create pending approval rows for each post in a content plan.postList MCP-native approval items for a specific content plan.postApprove, reject, or edit a pending plan approval item.post
Planning
    Generate a full content plan with platform-specific drafts, hooks, angles, and optimal schedule times.postSave a content plan to the database for team review, approval workflows, and scheduled publishing.postRetrieve a persisted content plan by ID.postUpdate individual posts in a persisted content plan.postCreate pending approval items for each post in a plan and mark plan status as in_review.post
Quality
    Score post quality across 7 categories: Hook Strength, Message Clarity, Platform Fit, Brand Alignment, Novelty, CTA Strength, and Safety/Claims.postBatch quality check all posts in a content plan.post
recipes
    List available recipe templates.postGet full details of a recipe template including all steps, input schema, and estimated costs.postExecute a recipe template with the provided inputs.postCheck the status of a running recipe execution.post
Remotion
    List all available Remotion video compositions defined in Social Neuron.postRender a Remotion composition to an MP4 or GIF file locally.postRender a Remotion template video in the cloud.post
Screenshots
    Navigate to a Social Neuron app page and take a full-page screenshot.postTake a screenshot of any URL.post
suggest
    Suggest next content topics based on performance insights, past content, and competitor patterns.post
Usage
    Get your MCP API usage breakdown for the current billing month.post
YouTube Analytics
    Fetch YouTube channel analytics.post
powered by Zudoku
Social Neuron MCP Tools API
Social Neuron MCP Tools API

media

media tools (scope: mcp:read, credits: ~0)


Upload a local file or external URL to persistent R2 storage.

POST
https://api.socialneuron.com
/v1/tools/upload_media

Upload a local file or external URL to persistent R2 storage. Returns a durable r2_key that can be passed to schedule_post. Use for images, videos, or any media that needs to be posted to social platforms. Accepts local file paths (in MCP stdio mode) or public URLs. Max 10MB for base64 upload — larger files return an error with guidance.

Upload a local file or external URL to persistent R2 storage. › Request Body

source
​string · required

Local file path (e.g. "/Users/me/image.png") or public URL (e.g. "https://example.com/photo.jpg"). ' + 'Local files are read and uploaded as base64. URLs are fetched by the server.

content_type
​string

MIME type (e.g. "image/png", "video/mp4"). Auto-detected from file extension if omitted.

project_id
​string

Project ID for R2 path organization.

response_format
​string · enum

Response format. Default: text.

Enum values:
text
json

Upload a local file or external URL to persistent R2 storage. › Responses

Successful tool execution.

​object[]
POST/v1/tools/upload_media
curl --request POST \ --url https://api.socialneuron.com/v1/tools/upload_media \ --header 'Content-Type: application/json' \ --data ' { "source": "source", "content_type": "content_type", "project_id": "project_id", "response_format": "text" } '
shell
Example Request Body
{ "source": "source", "content_type": "content_type", "project_id": "project_id", "response_format": "text" }
json
Example Responses
{ "content": [ { "type": "text", "text": "text" } ] }
json
application/json

Get a fresh signed URL for an R2 media key.

POST
https://api.socialneuron.com
/v1/tools/get_media_url

Get a fresh signed URL for an R2 media key. Use when a previously returned signed URL has expired (they last 1 hour). Pass the r2_key from upload_media or check_status.

Get a fresh signed URL for an R2 media key. › Request Body

r2_key
​string · required

The R2 object key (e.g. "org_x/user_y/images/2026-04-03/abc.png").

response_format
​string · enum

Response format. Default: text.

Enum values:
text
json

Get a fresh signed URL for an R2 media key. › Responses

Successful tool execution.

​object[]
POST/v1/tools/get_media_url
curl --request POST \ --url https://api.socialneuron.com/v1/tools/get_media_url \ --header 'Content-Type: application/json' \ --data ' { "r2_key": "r2_key", "response_format": "text" } '
shell
Example Request Body
{ "r2_key": "r2_key", "response_format": "text" }
json
Example Responses
{ "content": [ { "type": "text", "text": "text" } ] }
json
application/json

Loop Summarypipeline