tada-mcp
v0.1.13
Published
Tada MCP — records a narrated browser demo of a finished feature, uploads it to Tada, and returns a shareable taada.dev watch link.
Maintainers
Readme
Tada MCP
A local MCP server that records a narrated
browser demo of a feature you just shipped, uploads it to Tada, and hands back
a shareable taada.dev watch link. Your agent finishes a
task → calls record_demo → you send one link to a client/QA → their comments
flow back into Tada as tasks.
It runs on your machine (it drives a browser and never ships video bytes through the backend — it PUTs straight to R2 via a presigned URL).
Setup
pnpm install
pnpm exec playwright install chromium # one-time browser download
pnpm build
node dist/index.js login # log in once (email + password)login stores a refresh token in ~/.tada/credentials.json (mode 600) and
auto-refreshes the access token before every upload — no tokens to paste.
node dist/index.js logout / status manage the session. Google-only accounts
must set a password in Tada first (or use the TADA_ACCESS_TOKEN escape hatch).
Register with Claude Code
Add to your MCP config (.mcp.json or Claude Code settings):
{
"mcpServers": {
"tada-mcp": {
"command": "node",
"args": ["/Users/pc/beacon-mcp/dist/index.js"],
"env": {
"TADA_API_URL": "https://api.taada.dev"
}
}
}
}The record_demo tool
| arg | type | notes |
|---|---|---|
| title | string | shown on the watch page |
| steps | Step[] | ordered actions to perform & record |
| taskId | uuid? | link the demo to a Tada task |
| narrationMode | captions | voice | captions for now (voice is roadmap) |
| width/height | number? | viewport (default 1920×1080) |
| dryRun | boolean? | record only; skip upload, return local mp4 path |
Step actions
goto {url} · click {selector | text} · fill {selector | text(label), value} ·
press {key} · hover {selector} · wait {ms} · waitForText {text} ·
caption {text, ms} (on-screen narration banner) · scroll {selector | value, ms}.
Example
{
"title": "New task creation flow",
"taskId": "…",
"steps": [
{ "action": "goto", "url": "http://localhost:5173/board" },
{ "action": "caption", "text": "Creating a task from the board", "ms": 2500 },
{ "action": "click", "text": "New task" },
{ "action": "fill", "selector": "input[name=title]", "value": "Ship it" },
{ "action": "press", "key": "Enter" },
{ "action": "waitForText", "text": "Ship it" },
{ "action": "caption", "text": "Done — it appears instantly", "ms": 2500 }
]
}Test the recorder without a token
pnpm record:test # records example.com → prints a local mp4 pathAuth
tada-mcp login signs in with your Tada (taada.dev) account email + password
and stores the refresh token in ~/.tada/credentials.json. Before each
upload the MCP exchanges it for a fresh access token, so you log in once and it
keeps working. TADA_ACCESS_TOKEN (env) overrides this for CI / quick tests.
Requirements
ffmpeg + ffprobe on PATH (used to transcode the recording to faststart mp4).
