Hosted MCP for Clip Studio public products — same plan as the website.
Hosted Model Context Protocol server for Clip Studio. Add one URL to Claude, Cursor, ChatGPT, or any MCP client and use the same public Clip Studio products a signed-in human already has — Video Lab, Topic Shorts, Talking Shorts, Ad Studio, Last Frame, Image Lab, Audio Lab, Story, Ad Lab, library, and free tools — on the same plan as the website.
Endpoint: https://clipstudio.ai/api/mcp
Transport: Streamable HTTP
Marketing: https://clipstudio.ai/mcp
Public tool list: https://clipstudio.ai/mcp.md
Repository: https://github.com/j-acks0n/clipstudio-mcp
Smithery: https://smithery.ai/servers/clipstudioai/clipstudio
This repo is a connector listing (server.json, install snippets, examples). The server is hosted. There is nothing to clone and run.
Paste the URL. Leave OAuth client id empty. Sign in when the client opens Clip Studio, then Approve.
Customize → Connectors → Add custom connector. Paste:
https://clipstudio.ai/api/mcp
Connect. Leave OAuth client id empty.
Add an HTTP MCP server in ~/.cursor/mcp.json. Cursor runs OAuth on first use.
{
"mcpServers": {
"clipstudio": {
"url": "https://clipstudio.ai/api/mcp"
}
}
}
Enable developer mode, add a custom MCP connector, paste https://clipstudio.ai/api/mcp, then complete Clip Studio Approve.
Edit ~/.codeium/windsurf/mcp_config.json (remote field is serverUrl):
{
"mcpServers": {
"clipstudio": {
"serverUrl": "https://clipstudio.ai/api/mcp"
}
}
}
Save, then refresh MCP in Cascade.
User or workspace mcp.json:
{
"servers": {
"clipstudio": {
"type": "http",
"url": "https://clipstudio.ai/api/mcp"
}
}
}
Command Palette → MCP: Open User Configuration, or .vscode/mcp.json in a workspace.
Bridge to Streamable HTTP:
npx -y mcp-remote https://clipstudio.ai/api/mcp
Example wrapper:
{
"mcpServers": {
"clipstudio": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://clipstudio.ai/api/mcp"]
}
}
}
One-click OAuth on the first call. Unauthenticated requests — including initialize and tools/list — return HTTP 401 with WWW-Authenticate and protected-resource metadata. The client dynamically registers (OAuth 2.1 + PKCE, public client). You sign in with the Clip Studio account and Approve. Tokens stay on the client.
No client id to paste. If a human cannot do the job on clipstudio.ai, the agent cannot do it here.
Quote (quote_*). Does not generate.
If the monthly generation allowance cannot cover the quote, the tool returns HTTP 402 with numeric JSON fields (names only — these are API keys, not UI copy):
{
"requiredCredits": 120,
"availableCredits": 0
}
Then call create_checkout_url with a priceId from get_account.offerCheckout. It returns a Stripe Checkout URL and does not take card data.
Generate (generate_* / start_last_frame / render_storyboard / …). Uses this month’s generation allowance.
Poll the matching get_* tool until the job finishes.
Submit and poll. Do not hold the MCP request for a full provider render.
offerCheckout.Walkthroughs: examples/.
Names match https://clipstudio.ai/mcp.md. Paid tools use this month’s generation allowance.
Frontier text- and image-to-video. Quote before generate.
| Tool | Description |
|---|---|
list_video_lab_models | List models, modes, and defaults. Same catalog as /video-lab. |
quote_video_lab | Quote a setup. Does not generate. Paid generate needs this quote. |
generate_video_lab | Start a paid generation. Poll get_video_lab_generation. |
list_video_lab_generations | List this account’s Video Lab generations. |
get_video_lab_generation | Fetch one generation by video id. |
reconcile_video_lab_generation | Refresh a job from the provider. Does not debit again. |
presign_generation_asset | Create an upload slot for a source image or MP4. Then complete_generation_asset. |
complete_generation_asset | Mark a source image or MP4 upload ready. |
Topic → story + stock + voice. Caption mode default current. Transition mode default dynamic.
| Tool | Description |
|---|---|
list_hook_bank | Opening hooks templates (Problem, Curiosity, Trust, Niche). Seeds topic/brief; not caption style. |
create_topic_short_story | Preview beats, narration, and English stock queries. Does not render. |
quote_topic_short | Quote a Topic Short. Does not render. Quoted on duration. |
generate_topic_short | Generate from a topic or reviewed storyPlan. Poll get_topic_short. |
get_topic_short | Fetch a generation. |
Product URL or brief → talking-head clip. Catalog faces and voices.
| Tool | Description |
|---|---|
research_talking_short | Research from a URL or brief. Does not render. |
quote_talking_short | Quote a Talking Short. Does not render. |
generate_talking_short | Start a paid Talking Short. Poll get_talking_short. |
get_talking_short | Fetch a generation. |
list_talking_short_actors | List catalog stills. Does not render. |
Product → angle → 5-beat script → catalog creator → one vertical clip.
| Tool | Description |
|---|---|
research_ad_studio | Research angles and a locked 5-beat script. Does not render. |
quote_ad_studio | Quote an Ad Studio job. Catalog creators only. |
generate_ad_studio | Start a paid clip. Poll get_ad_studio. |
get_ad_studio | Fetch a generation. Submit and poll. |
Play a generated film. The last frame is canon.
| Tool | Description |
|---|---|
list_last_frame_games | List games (Adventure, Heist, Tape, and the rest). |
list_last_frame_worlds | List catalog worlds/maps. |
quote_last_frame | Quote an opening or next shot. Does not film. |
start_last_frame | Start a run and film the opening shot. |
get_last_frame_run | Get a run, including the latest shot and choices. |
choose_last_frame | Pick a numbered option. Films the next shot. |
type_last_frame | Type a custom move. Films the next shot. |
timeout_last_frame | Apply the choice timeout (HUD timer). |
end_last_frame_clip | Tell the run the current shot finished playing. |
arm_last_frame_item | Arm an inventory item for the next move (itemIndex is 0-based). |
create_last_frame_world | Create a custom world from a description. |
Quoted stills. Same catalog as /image-lab.
| Tool | Description |
|---|---|
list_image_lab_models | List models, modes, and aspect ratios. |
quote_image_lab | Quote a still. Does not generate. Paid generate needs this quote. |
generate_image_lab | Start a paid still. Poll get_image_lab_generation. |
list_image_lab_generations | List this account’s Image Lab generations. |
get_image_lab_generation | Fetch one generation and refresh it from the provider. |
Script → downloadable narration with Clip Studio voices.
| Tool | Description |
|---|---|
list_audio_lab_voices | List narration voices (accent and locale). |
quote_audio_lab | Quote a script. Does not generate. |
generate_audio_lab | Start paid narration. Poll get_audio_lab_generation. |
list_audio_lab_generations | List this account’s Audio Lab generations. |
get_audio_lab_generation | Fetch one generation and refresh it from the provider. |
Full story → parts → film. Continue my story on the same projectId.
| Tool | Description |
|---|---|
list_storyboard_themes | List visual themes (carries across parts). |
list_storyboard_voices | List narration voices (carries across parts). |
estimate_storyboard | Estimate the next part from a script. Does not render. |
create_storyboard | Start a project from a full story. Does not write a part or film. |
get_storyboard | Fetch a project, or omit projectId to list recent ones. |
generate_storyboard_part | Write the next part on an existing project. Does not film. |
render_storyboard | Film the latest part. Poll get_storyboard. |
Website → static layouts, tip pack, Proof pack, or Explain film.
| Tool | Description |
|---|---|
import_ad_website | Read a public website into a company profile. |
quote_ad | Quote a static layout. Does not generate. |
generate_ad | Generate stills (layout 9:16, 1:1, 4:5, or 16:9). Poll get_ad_generation. |
quote_ad_tip_pack | Quote a tip pack. Does not generate. |
generate_ad_tip_pack | Generate a tip pack. Poll get_ad_generation. |
quote_ad_proof_pack | Quote a Proof pack. Does not generate. |
generate_ad_proof_pack | Generate a Proof pack. Poll get_ad_generation. |
quote_ad_explain | Quote an Explain film. Does not generate. |
generate_ad_explain | Generate an Explain film from a product photo and brief. |
list_ad_generations | List jobs. Optional companyId or kind tip_pack, proof_pack, explain. |
get_ad_generation | Fetch one job. |
Clips you already generated. Publish is a public Clip Studio page, not social auto-post.
| Tool | Description |
|---|---|
list_library | List clips in the library. |
get_clip | Fetch one library clip. |
publish_generation | Publish a completed generation to a public page. |
unpublish_generation | Unpublish a generation you made public. |
get_generation_publication | Whether a generation is public, and its public URL if it is. |
list_public_generations | List public publications. Optional kind, model, limit. |
get_public_generation | Fetch one public publication by clip id. |
Copy, hooks, briefs, and planning tools at /tools. Does not generate video.
| Tool | Description |
|---|---|
list_free_tools | List public free tools. |
run_free_tool | Run a free tool (slug + input). |
Plan, usage, and billing helpers.
| Tool | Description |
|---|---|
list_public_products | List public products an agent can use through this server. |
get_account | Plan and usage for the signed-in account, including offerCheckout price IDs after a 402. |
create_checkout_url | Create a Stripe Checkout URL for a priceId. Does not take card data. |
server.json (ai.clipstudio/mcp) — see PUBLISHING.mdThe tool list mirrors https://clipstudio.ai/mcp.md. When that page changes, update the tables here by hand. See scripts/sync-tools.md. This repo does not import Clip Studio’s private source.
This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.