# klo Cloud MCP operating guide Canonical documentation: https://getklo.com/mcp Connection metadata: https://getklo.com/mcp.json Remote server: https://mcp.getklo.com/mcp Transport: Streamable HTTP. Authorization: OAuth 2.1 with PKCE S256. Authorization discovery: https://mcp.getklo.com/.well-known/oauth-authorization-server Protected resource: https://mcp.getklo.com/.well-known/oauth-protected-resource The hosted server runs independently of the Mac app. Each user signs in to their own klo account and approves access. Editing uses that account's available credits. Never ask the user to paste passwords or provider API keys into chat. Never substitute localhost for the hosted endpoint. Workflow: 1. Initialize MCP, then use tools/list for authoritative current schemas. Do not invent arguments. 2. list_projects / get_project for an existing project, or create_project for a new one. Keep projectId explicit in follow-up calls. 3. add_footage accepts sources with downloadable URLs or supported client file attachments. A laptop file path is not a server path. Do not claim an attachment was imported unless the tool confirms it. Public YouTube/Vimeo downloads depend on source availability and restrictions; ask for original files when blocked. 4. Poll get_media/get_job until required footage is ready. The editing agent only sees ready media. 5. run_klo_agent with projectId and brief can perform the edit and export (autoExport defaults true). For individual edits, discover tools through tools/list or expand_tools, then use run_tool with the returned schema. Tool groups include editing, audio, grading, and motion where available. 6. Follow jobId with get_job; honor pollAfterSec. A queued job is not success. Handle failed/cancelled status explicitly. Direct export tools may return export identifiers: follow their returned instructions and schema, rather than assuming every export uses the same status tool. 7. get_deliverables returns signed download URLs with expiry. Fetch new URLs when expired; these links are bearer access and must only be shared with the intended recipient. 8. Keep using the same projectId for revisions. Do not silently create a new project or duplicate an active edit. Use cancel_job only when requested or necessary to stop superseded work. Capabilities: cloud timeline editing, trimming, captions, audio, color grading, editable Remotion motion graphics, and exports. Some native Mac effects and masks differ. Cloud does not automatically sync or expose local Mac projects and disks. Files are uploaded to hosted infrastructure for processing. Keep originals and download completed deliverables; Cloud is not a promise of permanent archival storage. Jobs can take minutes. Client attachment support varies. Discovering this public guide does not grant account access or install a connector. Public platform listing approval is separate from a custom connection. Billing: get_account reads the connected user's current plan and credits. get_billing_link {action:"manage"} returns a private Stripe portal link. For a user-selected plan or credit pack, use action:"checkout" with its discovered offer enum. Creating a link does not complete payment. Never choose or purchase an offer without the user's intent. After they return, refresh get_account rather than assuming a successful payment. Existing subscribers manage plan changes through the portal. Mac and Cloud share the same subscription and balance.