StoryShort MCP Server
The StoryShort MCP server is a remote Streamable HTTP endpoint at https://storyshort.app/api/mcp that lets an AI client draft, render, list and publish short AI videos on a user's StoryShort account. It authenticates with OAuth 2.1 (PKCE, dynamic client registration) or an API key, and exposes 29 tools.
Last updated
Your first video is free while the day's free videos last: one watermarked video of up to 30 seconds, with an AI-generated label.
A signed-in account with a verified email, no earlier completed video, no payment and no trial can make ONE free video of up to 30 seconds (the standard slideshow, with a StoryShort watermark and an AI-generated label); a daily cap applies across all accounts. When today's free videos are gone, the one-time first episode pack (350 credits, $3.49 for a first purchase, no renewal) is the way on. The free first video is started on the website or, for a connected assistant (MCP / ChatGPT) on an account with no credits, with create_video (a topic) or draft_video then render_draft (an approved script), with the same limits; a bare API key (REST) or a mobile token cannot start it. After it, rendering needs credits.
What the server is for
StoryShort turns a story idea into a short vertical video with AI pictures, a voiceover and captions. The MCP server exposes that product as tools, so an assistant can write the script, change the scenes, find the price, render, check the result and upload it.
If you only want to talk to your own video account from Claude, the Claude connection guide is shorter. This page is for developers who call the tools from their own agent, script or client.
The server is published in the official MCP Registry as app.storyshort/storyshort, version 1.0.0; we checked that it was live on 2026-11-12. That is a directory record, not an endorsement.
Endpoint, transport and authentication
The endpoint is https://storyshort.app/api/mcp. It speaks MCP over Streamable HTTP: JSON-RPC requests are sent with POST. A plain GET answers with a method error.
initialize, ping and tools/list work without credentials, so a client can read the tool list before anyone signs in. Calling a tool without credentials returns 401 with a WWW-Authenticate header pointing at the protected resource metadata, which is how a client starts the OAuth flow.
There are two ways to authenticate a tool call. The first is OAuth 2.1 with PKCE (S256) and dynamic client registration, as Claude and ChatGPT use: the client reads the discovery documents, registers itself, sends the user to a consent page and receives a token. The consent page creates an API key the user can revoke in Dashboard, API keys. The second is an API key sent as an Authorization Bearer header, for clients such as Claude Code that do not run a browser sign-in.
Dynamic client registration accepts redirect addresses on a short allow-list: claude.ai, claude.com and chatgpt.com, plus loopback addresses for local tools. A client that redirects elsewhere is rejected at registration; use an API key for that case.
Connect a client in five steps
The same sequence works for any MCP client. The details of the sign-in screen belong to your client.
- Point the client at the URL. Add a remote MCP server with the URL https://storyshort.app/api/mcp and the Streamable HTTP transport.
- Read the tools. Send initialize and tools/list. No credentials are needed.
- Authenticate. Let the client run the OAuth flow, or create an API key in the StoryShort dashboard and send it as a Bearer header.
- Draft first. Call draft_video with a topic: it returns the scenes and the exact render price, without rendering.
- Render with the price confirmed. Call render_draft without confirmCredits to receive the quote, show it to the user, then call it again with that exact number and poll get_video until the video is COMPLETED or FAILED.
All 29 tools
Read from the live tools/list on 2026-11-12.
Drafts and rendering
| Tool | What it does | Access | Credits |
|---|---|---|---|
| draft_video | Writes script and scenes, returns the render price. | Changes data | Does not charge |
| get_draft | Reads a draft and its price. | Read-only | Does not charge |
| update_draft | Edits the title or replaces the scenes of an unrendered draft. | Changes data | Does not charge |
| revise_scene | Edits one scene. | Changes data | Does not charge |
| render_draft | Renders an approved draft; takes credits only with the price confirmed. | Changes data | Can take credits |
| create_video | Queues a video from a topic, no review. Takes credits. | Changes data | Can take credits |
| cancel_video | Cancels a draft or an unstarted render. | Changes data | Does not charge |
| quote_video | Prices a video with AI motion clips beforehand. | Read-only | Does not charge |
Videos and credits
| Tool | What it does | Access | Credits |
|---|---|---|---|
| get_video | Status of one video and its playable link. | Read-only | Does not charge |
| list_videos | Your videos, newest first. | Read-only | Does not charge |
| list_niches | Niches, art styles, qualities and durations accepted. | Read-only | Does not charge |
| get_credit_balance | Balance, monthly allocation and plan. | Read-only | Does not charge |
Publishing
| Tool | What it does | Access | Credits |
|---|---|---|---|
| list_social_accounts | Connected YouTube and TikTok accounts. | Read-only | Does not charge |
| get_connection_status | Whether a platform is connected, and where to connect it. | Read-only | Does not charge |
| publish_video | Uploads to YouTube, or sends to TikTok Drafts. | Changes data | Does not charge |
Series
| Tool | What it does | Access | Credits |
|---|---|---|---|
| list_series | Your series, schedule and state. | Read-only | Does not charge |
| create_series | Sets up a scheduled series; each video is charged when it renders. | Changes data | Does not charge |
| update_series | Changes schedule, auto-post, made-for-kids answer or language. | Changes data | Does not charge |
| pause_series | Stops new videos until resumed. | Changes data | Does not charge |
| resume_series | Restarts a series; refused if the balance cannot pay. | Changes data | Does not charge |
| get_series_performance | Views of your own posted Shorts, per series. | Read-only | Does not charge |
Character Studio and drama planning
| Tool | What it does | Access | Credits |
|---|---|---|---|
| get_character_sheet | Reads a series' character sheets. | Read-only | Does not charge |
| create_character_sheet | Makes 4 to 6 AI images of one fictional character. Takes credits. | Changes data | Can take credits |
| select_character_image | Picks the main reference image. | Changes data | Does not charge |
| quote_character_episode | Prices a planned episode. | Read-only | Does not charge |
| create_character_episode | Makes a 12 to 60 second character episode. Takes credits. | Changes data | Can take credits |
| plan_drama_season | Turns a premise into a season plan. | Read-only | Does not charge |
| get_season_plan | Reads a series' season plan. | Read-only | Does not charge |
| save_season_plan | Reviews and confirms the season before episodes. | Changes data | Does not charge |
Credit rules an agent has to respect
Reading, drafting and editing do not charge credits, though drafting needs a balance that could pay for a render and is limited to 20 drafts per hour. Rendering tools and the character tools in the table charge. A standard video is 40 credits with the default voice and some options add to it, so rely on the returned quote.
render_draft is the only step of the draft flow that charges, and it is guarded: called without confirmCredits it answers QUOTE_REQUIRED with the price, called with a wrong number it answers PRICE_CHANGED, and with too small a balance it answers INSUFFICIENT_CREDITS before anything starts. The character tools that charge also need confirm, the expected price and an idempotency key. A failed render costs nothing, and the same video is never charged twice.
Publishing, from a tool call
publish_video uploads a completed video to a YouTube channel the user has connected, with the altered or synthetic content disclosure always set, or sends it to the user's TikTok Drafts so the user adds the caption and posts it. It is idempotent per video and platform: a repeat never posts twice. There is no Instagram connection and no public TikTok posting.
Status and honest limits
The tool list below was read from the live server on 2026-11-12; the live tools/list is the source of truth. It is not a reviewed entry in Anthropic's connector directory; Claude users add it as a custom connector.
Clients with a redirect address outside the allow-list cannot register through OAuth yet; an API key works with any client that sends a Bearer header.
AI-generated content
StoryShort makes AI-generated videos: the script, the pictures and the voice are produced by AI models, and a video you publish to YouTube through StoryShort is uploaded with the altered or synthetic content disclosure switched on. Check what you publish, and follow the rules of the platform you post to.
Who this is not for
- Anyone who wants a no-code setup: the Claude connection guide has no protocol detail.
- Clients that must self-register from a redirect address outside the allow-list: use an API key.
- Anyone who wants rendering without credits: rendering charges.
- Teams that need a platform-reviewed server: this one is in the official MCP Registry, not Anthropic's connector directory.
- Anyone looking for StoryShort.ai, a different company.
- Anyone who needs public TikTok posting or Instagram.
Frequently asked questions
- What is the StoryShort MCP server URL?
- https://storyshort.app/api/mcp. It is a remote server using the Streamable HTTP transport. initialize, ping and tools/list need no credentials, and calling a tool needs OAuth or an API key.
- How does authentication work?
- OAuth 2.1 with PKCE and dynamic client registration for Claude and ChatGPT, or an API key sent as a Bearer header. An unauthenticated tool call returns 401 pointing at the protected resource metadata.
- Is it listed in the official MCP Registry?
- Yes. It is listed as app.storyshort/storyshort, version 1.0.0, and we confirmed the listing was live on 2026-11-12. It is not in Anthropic's connector directory; Claude users add it as a custom connector.
- Which tools can spend credits?
- render_draft and create_video charge for a video, and create_character_sheet and create_character_episode charge for character images and episodes. All of them state or return the price first, and the guarded ones refuse a call that does not repeat that price.
- Can my agent post to TikTok or Instagram?
- It can upload to a connected YouTube channel and send a video to the user's TikTok Drafts for the user to post. There is no public TikTok posting and no Instagram connection.
- Is this StoryShort.ai?
- No. This is StoryShort at storyshort.app. StoryShort.ai is a separate company with a similar name, and the two are not affiliated.
Start by reading tools/list from the endpoint, then try one draft. The guide for Claude shows the same flow from a chat.
