← Back to homeLive · for developers

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 account, capture_clips, and publish 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.

Your agent checks account for credits, calls capture_clips per feature (authoring the Playwright selectors from your source), assembles a publish spec, and calls publish, which blocks until Zyng returns the finished MP4 and a share link.

The Zyng skill (recommended)

Drop in the Zyng skill so any agent runs this loop consistently: it checks credits first, reads your source for real selectors instead of guessing, composes a clean spec, and keeps your secrets out of the conversation. Save it to your agent’s skills folder (for Claude Code, .claude/skills/zyng/SKILL.md).

Download the skill

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 (enter user:password), then capture with http_auth="staging_basic_auth".
  • A login form (preferred): run zyng-mcp login http://localhost:3000 once, 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 three tools

toolwhat it doesneeds
accountYour credit balance, the “do I have credits?” check.token
capture_clipsDrive a running app, screen-record a feature into a raw clip and timeline.Chromium, no key
publishUpload clips plus a composition spec, get back a managed narrated MP4.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

symptomfix
Tools not availableRestart 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.
A step fails naming a selectorRead your source, fix the selector, and call capture_clips again.