Gemini CLI#
Connect ClipKit to Gemini CLI — Google's open-source terminal agent — so it can author and preview ClipKit videos.
Two ways to use ClipKit#
Gemini CLI is a coding agent, so it can work with ClipKit two ways — call ClipKit's hosted MCP tools, or write code against ClipKit's npm packages right in your repo. Both are first-class; pick by where you want the video to live.
| MCP tools (hosted) | npm packages (code) | |
|---|---|---|
| Wire-up | an httpUrl in settings.json | npx @clipkit/cli init in your repo |
| The agent | calls tools (add_element, preview_still, render_video) | edits a video.ts Source, runs clipkit validate / render |
| Your video is | scratch state on clipkit.dev, shareable by link | a video.ts in your repo — version-controlled, reviewable |
| Installs | nothing | @clipkit/cli, @clipkit/protocol, @clipkit/runtime |
| Best for | quick authoring, preview stills inline | videos that live in your codebase, CI renders, reuse |
They're not exclusive — wire the MCP tools for fast iteration and keep finished videos as code. New to ClipKit? Start with the connector (Option A) — it's zero-install.
Option A — hosted MCP connector#
Use the httpUrl key — not url — in ~/.gemini/settings.json (all projects) or ./.gemini/settings.json (this project):
{ "mcpServers": { "clipkit": { "httpUrl": "https://www.clipkit.dev/mcp" } } }
Verify the connector#
Launch gemini and run /mcp — clipkit should show as CONNECTED with its tools listed.
Option B — npm packages (code)#
No MCP server involved — Gemini CLI writes ClipKit code directly in your project. Scaffold once:
npx @clipkit/cli init my-video cd my-video && npm install
That pins @clipkit/cli, @clipkit/protocol, and @clipkit/runtime, writes a starter video.ts (a plain, typed Source object), and drops an AGENTS.md so any AI agent working in the directory picks up the authoring guide. Then ask Gemini to:
- edit
video.ts— typed by@clipkit/protocol, so the schema drives its edits; npx clipkit validate video.ts— the same Zod check the runtime and the MCP server run;- render —
@clipkit/rendererlocally, orPOSTthe Source to the hosted API.
Add @clipkit/patterns for prebuilt scene and data-viz units, @clipkit/lint for soft checks. Full walkthrough: Quickstart.
Notes#
- Connector: use
httpUrl, noturl.urlselects the deprecated SSE transport and fails silently (no error, no tools) against this Streamable-HTTP server.httpUrlselects the Streamable HTTP transport ClipKit speaks. - On a slow cold start, add
"timeout": 60000to the entry and retry. - Put it in
~/.gemini/settings.jsonto make the connector available everywhere. - A
CLIPKIT_API_KEY(Settings → API keys) is only needed for the paid render path in Option B (clipkit render/ the hosted render API), never by the connector.
New to the tools? The MCP server overview has the full tool list and how projects work.