{"version":"1.0","protocolVersion":"2025-06-18","serverInfo":{"name":"storyshort","title":"StoryShort","version":"1.0.0"},"description":"Create AI faceless short videos: draft, approve the price, render, publish, run series on autopilot.","iconUrl":"https://storyshort.app/android-chrome-512x512.png","documentationUrl":"https://storyshort.app/en/developers","privacyPolicyUrl":"https://storyshort.app/en/privacy-policy","termsOfServiceUrl":"https://storyshort.app/en/terms","openapiUrl":"https://storyshort.app/openapi.json","pricingUrl":"https://storyshort.app/pricing.json","serverCardUrl":"https://storyshort.app/api/mcp/server-card","transport":{"type":"streamable-http","endpoint":"https://storyshort.app/api/mcp"},"capabilities":{"tools":{"listChanged":false}},"authentication":{"required":true,"requiredFor":"tools/call","publicMethods":["initialize","ping","tools/list"],"schemes":["oauth2","bearer"],"oauth2":{"protectedResourceMetadata":"https://storyshort.app/.well-known/oauth-protected-resource/api/mcp","authorizationServerMetadata":"https://storyshort.app/.well-known/oauth-authorization-server","flow":"authorization_code with PKCE (S256) and dynamic client registration","scopes":["mcp"]},"bearer":{"header":"Authorization: Bearer sk_live_...","description":"A StoryShort API key. Create one in the dashboard.","createKeyUrl":"https://storyshort.app/en/dashboard/api-keys"}},"tools":[{"name":"create_video","description":"Create (enqueue) a new AI faceless video from a topic.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"title":"Create a video"}},{"name":"get_video","description":"Get the status and details of one video the caller owns, by id.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Get a video"}},{"name":"list_videos","description":"List the caller's videos, newest first, with pagination.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"List videos"}},{"name":"list_niches","description":"List the available content niches, art styles, video qualities and durations that create_video accepts.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"List niches and art styles"}},{"name":"get_credit_balance","description":"Get the caller's current credit balance, monthly allocation and plan.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Get credit balance"}},{"name":"list_social_accounts","description":"List the connected publishing accounts (YouTube, TikTok) with username, whether they need reconnecting, the publish mode, the AI-disclosure handling and today's platform limits.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"List connected publishing accounts"}},{"name":"get_connection_status","description":"Is this platform connected?","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Check a platform connection"}},{"name":"publish_video","description":"Publish one of the user's COMPLETED videos.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"title":"Publish a video"}},{"name":"list_series","description":"List the user's series (autopilot channels), newest first, with schedule, auto-post flags, active/paused state, credits per video and an estimate per month.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"List series"}},{"name":"create_series","description":"Create a series: StoryShort makes a video on this niche every scheduleIntervalDays, and can auto-post it to YouTube.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"title":"Create a series"}},{"name":"update_series","description":"Change a series: how often it runs, YouTube auto-post, the madeForKids answer or the language.","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true,"title":"Update a series"}},{"name":"pause_series","description":"Pause a series: the scheduler stops making (and charging for) its videos until resume_series.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Pause a series"}},{"name":"resume_series","description":"Resume a paused series.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"title":"Resume a series"}},{"name":"get_series_performance","description":"How YOUR OWN posted YouTube Shorts performed, per series: videos posted/measured, total/median/mean views, top 3 and bottom 3 videos (with outlierScore = views / series median), and views gained in the last 7 days vs the 7 days before.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Get series performance"}},{"name":"draft_video","description":"Write a video's script and scenes WITHOUT rendering or charging, so the user can read and change it first.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"title":"Draft a video script"}},{"name":"get_draft","description":"Read a draft: its scenes (narration, visual prompt, length), whether the narration is long enough for the target duration, and the exact render price against the current balance.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Get a draft"}},{"name":"update_draft","description":"Change a draft: its title and/or REPLACE all its scenes (1-12, each with scriptText and optional visualPrompt / durationSeconds).","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true,"title":"Update a draft"}},{"name":"revise_scene","description":"Change ONE scene of a draft in place: its narration (scriptText), its visualPrompt and/or its durationSeconds.","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true,"title":"Revise one scene of a draft"}},{"name":"render_draft","description":"Render an approved draft into the video.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"title":"Render a draft"}},{"name":"cancel_video","description":"Cancel a video that has NOT started rendering: a draft, a video still queued (PENDING), or one whose failed render is waiting for an automatic retry.","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false,"title":"Cancel a video"}},{"name":"quote_video","description":"The exact credit price of a video with AI motion clips BEFORE it is made, and whether this account may make it.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Quote a video with motion clips"}},{"name":"get_character_sheet","description":"Read the character sheets of one of your series: each sheet is a set of AI images of one fictional character, its images (id, view, url), which sheet and which image are chosen, how many sheets the series may still make (3 in total), and t…","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Get a character sheet"}},{"name":"create_character_sheet","description":"Make a character sheet for one of your series: 4-6 AI images (default 5: front portrait, full body, side, expressions) of ONE fictional character, from a text description.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"title":"Create a character sheet"}},{"name":"select_character_image","description":"Choose which character sheet a series uses and which of its images is the main one.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Select a character image"}},{"name":"quote_character_episode","description":"Price one PLANNED episode (12-60 seconds, 3-8 shots) of a series with a confirmed season plan, starring the character the plan names.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Quote a character episode"}},{"name":"create_character_episode","description":"Make the episode: 3-8 shots, 12-60 seconds, the same fictional character in every shot, narrated with captions.","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"title":"Create a character episode"}},{"name":"plan_drama_season","description":"Drama Studio writers room: turn a one-line premise into a short-drama season: a character bible (1-4 original fictional characters: name, role, look) and 2-8 episode scripts, each with a title, a logline, a script and a \"cliffhangerLine\".","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"title":"Plan a drama season"}},{"name":"get_season_plan","description":"Read the season plan of one of your series: the plan (logline, genre, narrator voice, language, style, cast with outfits, every episode), its hash, its status (none, saved, reviewed or confirmed) and the recorded season review (a checklist…","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Get a season plan"}},{"name":"save_season_plan","description":"Design, review and confirm the WHOLE season of a series before any episode is made.","annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true,"title":"Save or review a season plan"}}]}