{
  "markdown": "# katto-mcp\n\n[![npm version](https://img.shields.io/npm/v/katto-mcp.svg)](https://www.npmjs.com/package/katto-mcp)\n[![npm downloads](https://img.shields.io/npm/dm/katto-mcp.svg)](https://www.npmjs.com/package/katto-mcp)\n[![license](https://img.shields.io/npm/l/katto-mcp.svg)](./LICENSE)\n[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-io.github.miracleweasel%2Fkatto--mcp-blue)](https://registry.modelcontextprotocol.io)\n\n**The AI video clipping MCP server.** Turn long videos into scored, captioned, vertical 9:16 short clips from any MCP client (Claude, Cursor, Claude Code, ChatGPT, VS Code, and other conformant clients). Drop in a YouTube link, a podcast, or a Twitch VOD and get publish-ready shorts back through natural conversation.\n\nPowered by [Katto](https://katto.tech), an AI video clipper that turns long-form video (podcasts, interviews, streams, webinars) into short-form clips for TikTok, Reels and YouTube Shorts. Katto is a flat-priced, no-credits alternative to tools like OpusClip: one 25-video quota covers videos up to 90 minutes each, with the API and MCP included on every paid plan (not gated behind an enterprise tier).\n\n## What it does\n\nAsk your agent something like *\"clip the best moments from this podcast and reframe them for TikTok\"* and Katto will:\n\n- find the strongest 30 to 90 second moments in a long video and score each clip 0 to 100 on Hook, Flow, Value and Trend,\n- reframe to vertical 9:16 with face tracking, split-screen for two speakers, and stacked layouts for gaming,\n- burn animated captions (auto-captioned in 99 languages via Whisper large-v3; word-by-word timing in 41 of them, sentence-level in the rest) and optionally dub into 8 languages,\n- and hand back publish-ready MP4 files plus SRT caption urls.\n\nTypical uses: repurpose a YouTube video into shorts, turn a podcast episode into clips, cut highlights from a Twitch VOD, or convert a long interview into vertical social posts.\n\n## Two ways to connect\n\n### Hosted (zero-install, recommended)\n\nPoint any OAuth-capable MCP client at the hosted endpoint and sign in with your Katto account. The API key never touches your disk, and you can revoke access anytime:\n\n```\nhttps://mcp.katto.tech/mcp   (Streamable HTTP, OAuth 2.1)\n```\n\n### Local (npx)\n\nFor Cursor, CI and scripts. Create an API key at **[katto.tech/dashboard/api-keys](https://katto.tech/dashboard/api-keys)**, then add the server to your MCP client config:\n\n```json\n{\n  \"mcpServers\": {\n    \"katto\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"katto-mcp\"],\n      \"env\": { \"KATTO_API_KEY\": \"sk_live_...\" }\n    }\n  }\n}\n```\n\nThe hosted endpoint above also accepts `Authorization: Bearer sk_live_...` directly for key-based clients.\n\n## Install per client\n\n**Claude Code** (hosted, OAuth):\n```bash\nclaude mcp add --transport http katto https://mcp.katto.tech/mcp\n```\n\n**Claude Desktop** — Settings → Connectors → *Add custom connector* → `https://mcp.katto.tech/mcp`, then sign in. (Or add the `npx` block above to `claude_desktop_config.json`.)\n\n**Cursor** — Settings → MCP → *Add* → paste the `npx` JSON block above (uses `KATTO_API_KEY`).\n\n**VS Code** (MCP extension) — add the same `npx` block to your MCP settings, or point it at the hosted URL if your client supports remote OAuth servers.\n\n**ChatGPT** (Developer mode / connectors) — add a custom connector with URL `https://mcp.katto.tech/mcp`.\n\n## Tools\n\nClipping:\n- **`katto_create_clip_job(url, config?)`** clip a long video (YouTube, Twitch, Vimeo, Rumble, Zoom, Dailymotion). Returns a job id.\n- **`katto_get_job(id)`** poll until `status` is `completed`; `clips` holds the finished MP4 + caption (SRT) urls.\n- **`katto_get_clips(id)`** just the finished clips of a job (MP4 + SRT + title + virality score).\n- **`katto_get_transcript(id)`** the job's timestamped transcript segments.\n- **`katto_list_jobs(limit?, cursor?, status?)`** your recent jobs, newest first (keyset pagination).\n- **`katto_cancel_job(id)`** cancel a running job and refund the monthly video slot.\n\nEditing (no quota):\n- **`katto_rerender_clip(id, clip_index, layout_mode?, caption_style?)`** re-render one clip with a new reframe layout or caption style.\n- **`katto_dub_clip(id, clip_index, languages)`** re-render a clip dubbed into one or more of 8 languages.\n- **`katto_get_rerender(id, rerender_id)`** poll a re-render for the new versioned clip url.\n\nAccount and reference:\n- **`katto_get_usage()`** your plan and remaining monthly video quota.\n- **`katto_get_account()`** the connected account, this key's scopes, and quota.\n- **`katto_get_brand_kit()`** your saved brand kits (colors, caption font, layout, watermark).\n- **`katto_get_webhook_secret()`** your webhook signing secret and how to verify signed callbacks (returns a secret — treat it like a credential).\n- **`katto_list_sources()`** the video platforms Katto can clip from, with an example url each.\n- **`katto_list_clip_lengths()`** the valid target clip-length buckets.\n- **`katto_list_caption_styles()`** the caption-style presets you can pass as `caption_style` when creating a job or re-rendering a clip.\n\nJobs draw from your Katto plan's monthly video quota (25 on Creator, 2 on Free), videos up to 90 minutes. The underlying REST API also supports `Idempotency-Key` safe retries, read-only scoped keys, and signed HMAC webhooks. See the [docs](https://katto.tech/docs/api).\n\n## Env\n\n| var | required | default |\n| --- | --- | --- |\n| `KATTO_API_KEY` | yes | (none) |\n| `KATTO_API_URL` | no | `https://katto.tech` |\n\nFull docs: **[katto.tech/docs/api](https://katto.tech/docs/api)**\n\n## Security & data\n\n- **Hosted auth is OAuth 2.1** — the API key is never written to your disk, and you can revoke a connected client anytime from your Katto account settings.\n- **Local auth uses a scoped `sk_live_` key** you create yourself; keys can be read-only, and the npx server only sends it to `KATTO_API_URL` (default `katto.tech`) over HTTPS.\n- `katto_get_webhook_secret` returns a signing secret — handle it like any credential; it is only needed to verify inbound webhook signatures.\n\n## Also listed on\n\n- npm: [katto-mcp](https://www.npmjs.com/package/katto-mcp)\n- GitHub: [miracleweasel/katto-mcp](https://github.com/miracleweasel/katto-mcp)\n- [mcp.so](https://mcp.so/servers/katto) · [Smithery](https://smithery.ai/server/@dev-4lue/katto-mcp) · [Glama](https://glama.ai/mcp/servers/@miracleweasel/katto-mcp)\n- Official MCP Registry: `io.github.miracleweasel/katto-mcp`\n\n## Public Discovery\n\nKatto – AI video clipping MCP server: turn long videos and podcasts into scored, captioned, reframed 9:16 clips, from any MCP client (Claude, Cursor, ChatGPT). Hosted, OAuth 2.1, no API key on disk.\n\nIntents this server covers: *AI video clipping MCP server*, *MCP server for short-form video*, *MCP to turn podcasts into clips*, *video clipping for AI agents (Claude / Cursor / ChatGPT)*.\n\nExample prompts:\n\n1. \"Clip the best moments from this podcast episode and reframe them for TikTok: `https://youtube.com/watch?v=…`\"\n2. \"Check the status of my last clipping job and give me the download links for the finished clips.\"\n3. \"Take clip 2 from that job, dub it into Spanish and re-render it with the Bold caption style.\"\n\n## License\n\nMIT — see [LICENSE](./LICENSE).\n",
  "bytes": 7250,
  "sha": "c6ff502d84784df2506adc68c93607e6e7b8cd1f47bebb3563d904d90233c995",
  "repo_slug": "miracleweasel/katto-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_miracleweasel_katto_mcp_d919665b/readme"
}