Connect your coding agent
Make a narrated demo of your app without recording anything. You point your coding agent (Claude Code, Claude Desktop, or any MCP client) at your running app. It drives the app, captures each feature, and Zyng stitches a narrated, on-brand pitch on your credits. The Loom you never recorded.
▶ A coding agent built this with Zyng. Best with sound on.
1. Install
One line. Publishing needs only the package; capturing also needs Chromium.
pipx install zyng-mcp # or: uvx zyng-mcp python -m playwright install chromium # one-time, for capture
For OS-keychain credential storage, install zyng-mcp[keychain].
2. Get an API token
Sign in at app.zyng.work, open the avatar menu, choose API tokens, and Mint a zyk_… token (shown once). A fresh account includes free credits. One credit is one second of finished video, and tokens spend the same balance as the web studio.
3. Register with your agent
Add to .mcp.json at your project root (Claude Code) or claude_desktop_config.json (Claude Desktop):
{
"mcpServers": {
"zyng": {
"command": "zyng-mcp",
"env": {
"ZYNG_API_KEY": "zyk_your_token",
"ZYNG_BASE_URL": "https://app.zyng.work"
}
}
}
}Gitignore that file (it holds your token), then restart or approve so the zyng tools load.
4. Ask your agent
Tell it what to show. It does the rest.
My app is running at http://localhost:3000. Record the sign-in and the dashboard, then publish a 30-second pitch. Say "this is the fastest way to onboard" over the dashboard.
With the recipe loaded (below), your agent plans the story into a storyboard you approve, checks account for credits, capture_clips per feature (authoring the Playwright selectors from your source), reviews the real footage with you, then publishes, which blocks until Zyng returns the finished MP4 and a share link. publish refuses until you’ve reviewed the footage, so a credit is never spent on a clip you haven’t seen.
Load the recipe (so the flow runs without a prompt)
The MCP gives your agent the tools; the recipe is what makes it elicit the story, plan, show you a storyboard, and review the footage before spending, instead of recording the whole app in one take. publish already refuses footage you haven’t reviewed, and every tool result carries a next_step hint, but loading the recipe is what makes the whole polished flow automatic. Install it the way your agent supports:
- Claude Code / Claude Desktop: save the Zyng skill to
~/.claude/skills/zyng/SKILL.md(or your project’s.claude/skills/zyng/SKILL.md) and restart. It auto-loads when you ask for a walkthrough. - Cursor: save the Zyng rule to your project’s
.cursor/rules/zyng.mdc. Cursor applies it automatically when you ask to record or demo your app. - Any other MCP client: nothing to install. The server ships its flow as MCP instructions and each tool result carries a
next_step, so a capable agent is walked through plan, capture, review, and publish anyway.
Download the skill Download the Cursor rule
Authenticated apps, secrets never touch the agent
Never put a password in a spec. All three options resolve on your machine, out of band:
- HTTP Basic Auth (staging behind a login dialog): run
zyng-mcp secret set staging_basic_auth(enteruser:password), then capture withhttp_auth="staging_basic_auth". - A login form (preferred): run
zyng-mcp login http://localhost:3000once, log in by hand, and capture starts authenticated. - A form login you must show:
zyng-mcp secret set app_password, then a fill step{"do":"fill","selector":"#password","secret":"app_password"}.
The value never enters your agent’s context, the tool call, a log, or the uploaded video.
The tools
| tool | what it does | needs |
|---|---|---|
plan | A story (features, hook, audience) into a walkthrough skeleton and a storyboard you approve. | nothing (offline, free) |
account | Your credit balance, the “do I have credits?” check. | token |
voices | The voice catalog and whether you’re eligible for premium voices. | token |
capture_clips | Drive a running app, screen-record a feature into a raw clip and timeline. | Chromium, no key |
review | Preview the ACTUAL captured clips, narration, and cost before publishing; returns the review_token that unlocks publish. | nothing (offline, free) |
estimate | Ballpark the credit cost of a composition before publishing (never charges). | token |
publish | Upload clips plus a composition spec, get back a managed narrated MP4. Refuses without the review_token, so footage is never published before you’ve seen it. | token, spends credits |
Beyond a walkthrough, scenes and footage
The publish spec mixes cards (title and closing slides), clips (your captures, optionally wrapped in a themed embed:"frame" device frame), and scenes (curated animated components: BigStat, MetricGrid, PipelineFlow, DeviceMock). All narrated and stitched. So one spec can open on a stat, show your product in a browser frame, and close on a call to action.
Troubleshooting
| symptom | fix |
|---|---|
| Tools not available | Restart or approve the zyng MCP server in your client. |
| “Chromium isn’t installed” | Run python -m playwright install chromium. |
| “invalid or missing X-API-Key” | The token is wrong or expired. Mint a new one in the studio. |
| “no render-minutes left” | Add credits at app.zyng.work. |
| publish returns “review_required” | Call review first and approve the footage; publish needs the review_token review returns. |
| A step fails naming a selector | Read your source, fix the selector, and call capture_clips again. |