1import{r as j}from"./rolldown-runtime.C1f3BsDW.js";import"./inertia.BE4YqsTM.js";import"./http.DWpeO7Ui.js";import{G as C,Hr as h,It as k,Ln as S,Pt as M,Qr as I,dr as P,k as A,l as T,rr as x,u as R,wr as l}from"./icons.ChOq_Y4q.js";import{t as _}from"./react-core.CAMe6Z4j.js";import"./utils.CgzVjNgC.js";import"./state.L8kQliOB.js";import{i as q,k as r}from"./entry-client.DX3aUoe5.js";import"./dist.CoNAZqlp.js";import"./dist.DxccqHSW.js";import"./dist.D4237Rk6.js";import"./dist.BhzTvz6X.js";import"./es2015.Cr2X04_P.js";import"./dist.C1cc-Zbw.js";import"./badge.CK53iWwP.js";import"./dropdown-menu.D1MnQ7U0.js";import{i as G,n as E,r as z,t as H}from"./connectClients.ChEbDYfN.js";import{t as L}from"./SEO.gPDL2mFy.js";import{t as b}from"./CtaMicrocopy.D3zGPrw8.js";import"./useRoute.D5WEuP_a.js";import{t as U}from"./useStartCreatingHref.BVwqKiRT.js";import"./gsap.BxN_RF7A.js";import{t as i}from"./RevealOnScroll.Bzi3Q9FE.js";import{t as W}from"./how-it-works-section.C3FA2lIt.js";import"./logo.7ZVhR9ER.js";import{t as D}from"./Footer.Ccp81B1O.js";import{t as Y}from"./Header.C54sFzrK.js";import{a as F,i as O,o as Q,r as B,t as $}from"./MarketingHero.CGOgM9co.js";var c=j(I(),1),e=j(_(),1),V=[{icon:k,title:"Describe the film",body:"Tell Claude or ChatGPT the story you want. It interviews you about tone, setting and ending, then writes the brief."},{icon:S,title:"It builds the shot list",body:"The brief becomes a scene-by-scene script and a storyboard of individual shots, each with its own picture prompt and video prompt."},{icon:T,title:"It directs and renders",body:"A director style sets the visual language across every shot, then it draws the storyboard pictures and makes them into video clips."},{icon:M,title:"Sound and final cut",body:"Voiceover, score and sound effects are laid onto the timeline, then the whole thing exports as a finished video file."}],J=["Create and organize films","Generate scripts, scenes and shot lists","Build characters with consistent faces","Pick director styles and set the film look","Draw storyboard pictures for any or every shot","Make a video clip for any shot","Write and place voiceover","Compose music and sound effects","Re-cut, retime and reorder the timeline","Export the finished film"],y=[{q:"Do I need to know anything technical?",a:"No. If you can use Claude or ChatGPT, you can use this. You paste one URL into your AI app's connector settings, sign in to M Studio, and approve. There is nothing to install and no API key to copy unless you want one."},{q:"Is this instead of the M Studio editor, or as well as it?",a:"As well as. Everything the assistant does lands in your normal M Studio film, so you can open the editor at any point to adjust a shot by hand, then hand control back. Many people script and rough out a film by chatting, then finish it in the timeline."},{q:"Does it spend my money without asking?",a:"Generation draws on the same plan quota and wallet balance as the editor â connecting does not add charges by itself. The assistant is instructed to tell you how many shots it is about to render and wait for you to confirm before any bulk generation, and to check your remaining quota at the start of a session."},{q:"What can it actually see?",a:"Your films, scripts, shots, characters and generated media, and your plan and remaining quota. It never sees your password or payment details, and it cannot change your plan or billing."},{q:"How do I disconnect it?",a:"The Connectors page in M Studio settings lists every connected app with a Revoke button. Revoking takes effect immediately."},{q:"Which AI apps work?",a:"Anything that speaks the Model Context Protocol over HTTP: Claude (web, desktop and Claude Code), ChatGPT on paid plans with connectors enabled, Cursor, and a growing list of others."}];const K=()=>{const{isAuthenticated:v}=q(),[o,u]=(0,c.useState)(null),[p,w]=(0,c.useState)(!1);(0,c.useEffect)(()=>{w(!0)},[]);const g=p&&v,N=U(),f=p?N:"/pricing",n=(0,c.useMemo)(()=>typeof window>"u"?"https://mstudio.ai/mcp":z(),[]),m=async(t,a)=>{try{await navigator.clipboard.writeText(t),u(a),window.setTimeout(()=>u(s=>s===a?null:s),2e3)}catch{}};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(L,{title:"Make films by chatting â connect M Studio to Claude and ChatGPT",description:"Connect M Studio to Claude or ChatGPT with one URL and make complete films by describing them. Script, storyboard, imagery, video, voiceover and final export, all driven by conversation.",keywords:"MCP server, Claude MCP, ChatGPT connector, AI filmmaking, make films with Claude, AI video generation MCP, Model Context Protocol film",canonical:"/mcp-server",structuredData:{"@context":"https://schema.org","@type":"FAQPage",mainEntity:y.map(t=>
1({"@type":"Question",name:t.q,acceptedAnswer:{"@type":"Answer",text:t.a}}))}}),(0,e.jsxs)("div",{className:"min-h-screen bg-background text-foreground",children:[(0,e.jsx)(Y,{}),(0,e.jsxs)("main",{children:[(0,e.jsxs)("section",{className:`${$} border-b border-border`,children:[(0,e.jsx)(O,{}),(0,e.jsxs)("div",{className:"relative z-10 mx-auto max-w-4xl text-center",children:[(0,e.jsx)(B,{children:"Model Context Protocol"}),(0,e.jsx)(Q,{accent:"to Claude or ChatGPT",children:"Make films by talking"}),(0,e.jsx)(F,{className:"mx-auto",children:"Connect M Studio to the AI assistant you already use. Describe the film you want, and it writes the script, builds the storyboard, generates the imagery, records the voiceover and exports the cut â working inside your M Studio account."}),(0,e.jsxs)("div",{className:"mx-auto mt-8 max-w-xl",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2 rounded-lg border border-border bg-card px-4 py-3",children:[(0,e.jsx)("code",{className:"flex-1 truncate text-left font-mono text-sm",children:n}),(0,e.jsx)(r,{size:"sm",variant:"accent",onClick:()=>m(n,"hero"),leftIcon:o==="hero"?(0,e.jsx)(l,{className:"h-3.5 w-3.5"}):(0,e.jsx)(x,{className:"h-3.5 w-3.5"}),children:o==="hero"?"Copied":"Copy URL"})]}),(0,e.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:"Paste this into your AI app's connector settings. Nothing to install â you sign in with your M Studio account (plans from $27/mo)."})]}),(0,e.jsxs)("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-3",children:[(0,e.jsx)(r,{size:"lg",variant:"default",asChild:!0,children:(0,e.jsxs)("a",{href:"#setup",children:["Setup instructions",(0,e.jsx)(h,{className:"h-4 w-4"})]})}),!g&&(0,e.jsx)(r,{size:"lg",variant:"outline",asChild:!0,children:(0,e.jsx)("a",{href:f,children:"Start now"})}),!g&&(0,e.jsx)("a",{href:"/pricing",className:"text-sm font-medium text-muted-foreground underline-offset-4 transition-colors hover:text-foreground hover:underline",children:"See pricing"})]}),(0,e.jsx)(b,{className:"mt-4"})]})]}),(0,e.jsx)("section",{className:"border-b border-border px-4 py-16",children:(0,e.jsx)(i,{children:(0,e.jsxs)("div",{className:"mx-auto max-w-3xl text-center",children:[(0,e.jsx)("h2",{className:"text-2xl font-semibold tracking-tight sm:text-3xl",children:"The editor is built for professionals. This isn't."}),(0,e.jsx)("p",{className:"mt-4 text-base leading-relaxed text-muted-foreground",children:"M Studio's timeline is dense on purpose â it is made for people who already live in Resolve and Premiere. If that is not you, the simplest route to a finished film is to describe it and let an assistant operate the controls. Same account, same output, no learning curve."})]})})}),(0,e.jsx)("section",{className:"border-b border-border px-4 py-16",children:(0,e.jsxs)("div",{className:"mx-auto max-w-5xl",children:[(0,e.jsx)(i,{children:(0,e.jsx)("h2",{className:"text-center text-2xl font-semibold tracking-tight sm:text-3xl",children:"What happens when you ask for a film"})}),(0,e.jsx)("div",{className:"mt-10 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:V.map((t,a)=>(0,e.jsx)(i,{delay:a*60,children:(0,e.jsxs)("div",{className:"h-full rounded-lg border border-border bg-card p-5",children:[(0,e.jsx)(t.icon,{className:"h-5 w-5 text-accent"}),(0,e.jsx)("h3",{className:"mt-3 text-sm font-semibold",children:t.title}),(0,e.jsx)("p",{className:"mt-1.5 text-sm leading-relaxed text-muted-foreground",children:t.body})]})},t.title))})]})}),(0,e.jsx)("section",{id:"setup",className:"scroll-mt-24 border-b border-border px-4 py-16",children:(0,e.jsxs)("div",{className:"mx-auto max-w-3xl",children:[(0,e.jsxs)(i,{children:[(0,e.jsx)("h2",{className:"text-center text-2xl font-semibold tracking-tight sm:text-3xl",children:"Connect ChatGPT in six steps"}),(0,e.jsx)("p",{className:"mt-3 text-center text-sm text-muted-foreground",children:"You'll sign in to M Studio and approve the connection in your browser â there is no API key to copy."})]}),(0,e.jsx)("ol",{className:"mt-8 space-y-4",children:E.map((t,a)=>{const s=G(t,n),d=`chatgpt-${a}`;
1return(0,e.jsxs)("li",{className:"flex gap-4 rounded-lg border border-border bg-card p-4",children:[(0,e.jsx)("span",{"aria-hidden":"true",className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-accent/40 bg-accent/10 text-xs font-semibold",children:a+1}),(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("h3",{className:"text-sm font-semibold",children:s.title}),(0,e.jsx)("p",{className:"mt-1 text-sm leading-relaxed text-muted-foreground",children:s.text}),s.link&&(0,e.jsx)(r,{className:"mt-3",size:"sm",variant:"outline",asChild:!0,children:(0,e.jsxs)("a",{href:s.link.href,target:"_blank",rel:"noopener noreferrer",children:[s.link.label,(0,e.jsx)(h,{className:"h-3.5 w-3.5"})]})}),s.code&&(0,e.jsxs)("div",{className:"mt-3 flex items-start gap-2 rounded-md border border-border bg-background-elevated px-3 py-2",children:[(0,e.jsx)("pre",{className:"flex-1 overflow-x-auto whitespace-pre-wrap break-all font-mono text-xs leading-relaxed",children:s.code}),(0,e.jsx)(r,{size:"xs",variant:"ghost","aria-label":"Copy to clipboard",onClick:()=>m(s.code,d),leftIcon:o===d?(0,e.jsx)(l,{className:"h-3.5 w-3.5 text-success"}):(0,e.jsx)(x,{className:"h-3.5 w-3.5"}),children:o===d?"Copied":"Copy"})]}),s.shot&&(0,e.jsx)("img",{src:s.shot.src,alt:s.shot.alt,width:s.shot.width,height:s.shot.height,loading:"lazy",className:"mt-3 w-full rounded-md border border-border bg-background-elevated"})]})]},d)})}),(0,e.jsx)("p",{className:"mt-4 rounded-md border border-border bg-background-elevated px-4 py-3 text-xs leading-relaxed text-muted-foreground",children:H})]})}),(0,e.jsx)("section",{className:"border-b border-border px-4 py-16",children:(0,e.jsxs)("div",{className:"mx-auto max-w-4xl",children:[(0,e.jsxs)(i,{children:[(0,e.jsx)("h2",{className:"text-center text-2xl font-semibold tracking-tight sm:text-3xl",children:"Everything the editor can do, it can do"}),(0,e.jsx)("p",{className:"mx-auto mt-3 max-w-2xl text-center text-sm text-muted-foreground",children:"Forty tools covering the whole production, plus direct access to the rest of the M Studio API for anything unusual."})]}),(0,e.jsx)("ul",{className:"mt-10 grid gap-x-8 gap-y-3 sm:grid-cols-2",children:J.map(t=>(0,e.jsxs)("li",{className:"flex items-start gap-2.5",children:[(0,e.jsx)(l,{className:"mt-0.5 h-4 w-4 shrink-0 text-accent"}),(0,e.jsx)("span",{className:"text-sm text-muted-foreground",children:t})]},t))})]})}),(0,e.jsx)("section",{className:"border-b border-border px-4 py-16",children:(0,e.jsx)("div",{className:"mx-auto max-w-4xl",children:(0,e.jsx)("div",{className:"grid gap-4 sm:grid-cols-3",children:[{icon:C,title:"You approve it, once",body:"Standard OAuth. You sign in to M Studio and approve the connection. Your password is never shared with the AI app."},{icon:R,title:"Your plan, your limits",body:"Generation draws on the same quota and wallet as the editor. Connecting adds no charge, and quota limits still apply."},{icon:A,title:"Revoke any time",body:"The Connectors page in Settings lists every connected app. Revoking cuts access immediately."}].map(t=>(0,e.jsxs)("div",{className:"rounded-lg border border-border bg-card p-5",children:[(0,e.jsx)(t.icon,{className:"h-5 w-5 text-accent"}),(0,e.jsx)("h3",{className:"mt-3 text-sm font-semibold",children:t.title}),(0,e.jsx)("p",{className:"mt-1.5 text-sm leading-relaxed text-muted-foreground",children:t.body})]},t.title))})})}),(0,e.jsx)(W,{}),(0,e.jsx)("section",{className:"border-b border-border px-4 py-16",children:(0,e.jsxs)("div",{className:"mx-auto max-w-3xl",children:[(0,e.jsx)(i,{children:(0,e.jsx)("h2",{className:"text-center text-2xl font-semibold tracking-tight sm:text-3xl",children:"Questions"})}),(0,e.jsx)("div",{className:"mt-8 divide-y divide-border rounded-lg border border-border bg-card",children:y.map(t=>(0,e.jsxs)("details",{className:"group px-5 py-4",children:[(0,e.jsx)("summary",{className:"cursor-pointer list-none text-sm font-medium marker:content-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,e.jsxs)("span",{className:"flex items-center justify-between gap-4",children:[t.q,(0,e.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground transition-transform duration-150 group-open:rotate-45",children:"+"})]})}),(0,e.jsx)("p",{className:"mt-3 text-sm leading-relaxed text-muted-foreground",children:t.a})]},t.q))})]})}),(0,e.jsx)("section",{className:"px-4 py-20",children:(0,e.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,e.jsx)(P,{className:"mx-auto h-8 w-8 text-accent"}),(0,e.jsx)("h2",{className:"mt-5 text-2xl font-semibold tracking-tight sm:text-3xl",children:"Describe a film. Get a film."}),(0,e.jsx)("p",{className:"mt-4 text-base leading-relaxed text-muted-foreground",children:"Copy the URL, connect your assistant, and ask for something."}),(0,e.jsxs)("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-3",children:[(0,e.jsx)(r,{size:"lg",variant:"accent",onClick:()=>m(n,"cta"),leftIcon:o==="cta"?(0,e.jsx)(l,{className:"h-4 w-4"}):(0,e.jsx)(x,{className:"h-4 w-4"}),children:o==="cta"?"URL copied":"Copy server URL"}),(0,e.jsx)(r,{size:"lg",variant:"outline",asChild:!0,children:(0,e.jsxs)("a",{href:f,children:["Start now",(0,e.jsx)(h,{className:"h-4 w-4"})]})})]}),(0,e.jsx)(b,{className:"mt-4"})]})})]}),(0,e.jsx)(D,{})]})]})};var Se=K;export{K as McpServerPage,Se as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.