Skip to content
ondaclipdocs

Your AI agent (MCP)

Ondaclip has an MCP server. Your AI agent already works in your app’s code, and through MCP it can drive Ondaclip too: write a tutorial, check that it plays on your app, see what broke and why, fix it, and film it.

It works with any agent that supports MCP: Claude Code, OpenCode, Antigravity, Cursor and more. Bring the agent and model you already use.

Tool What it does
list_products The products your token can access, your role, and their languages and demo accounts
readiness Is the product ready to film? Lists each check, and what to do next when one fails
list_tutorials The published tutorials, by chapter, and whether each one still matches the app
list_problems What broke: the tutorial, the step and the cause, in plain language
validate_config Checks .ondaclip/config.yaml before you commit it, and shows what each product in a monorepo gets (products:)
validate_publication Checks .ondaclip/publication.yaml: languages, chapters, and tutorials with no file
validate_tutorial Checks a tutorial file before you commit it
check Plays tutorials on your app at a branch, without filming (takes a few minutes). learn: true logs the requests your settings don’t allow yet and suggests allowedWrites and writes:
run_status Tracks a check or a shoot until it finishes
film Films tutorials: capture, narration in every language, editing
add_product Admin token: adds a product to your workspace. The response gives the next setup step
setup_product Admin token: runs one setup step (repository; where it runs, with cloud for Ondaclip Cloud or gcp for your infrastructure; app; assistant; check; connect) and returns the next one. Steps that need a person come with a studio link
set_aside Sets a new tutorial aside (not filmed for now, with a reason), or brings it back
update_product Admin token: changes the product’s Ondaclip version, its working branch, or its name in products:
set_demo_account Admin token: saves the product’s demo accounts (they can never be read back)
publish Publishes the new videos once a person has approved every clip in the studio. Otherwise, it returns the review link
decide_problem Marks a problem as a bug, an intended change, or not a problem
look_at_tutorial Shows a tutorial as Ondaclip filmed it: each step with its narration and an image (the newest shoot, or the published video), so your agent can check it before a person reviews
look_at_change Shows each screen a change check found different, with the changed area boxed in red
list_review_notes What reviewers rejected and why, so your agent fixes the tutorial after a review
report_problem Records a bug or a video defect your agent saw, for a person to decide
scan_app Every screen of the app, whether a tutorial films it, and the elements that have no id yet
propose_testids Adds the missing element ids as a draft pull request
voices The narration voices of the product, the voices available, and a pull request to change them
integration Where the published videos are and the code that shows them in your app
stop_run Stops a check or a shoot started by mistake

Review stays in the studio, with a person. Your agent never approves a clip, and it only publishes what a person has approved. Every response includes the studio link to share with that person. An admin token (personal only, and never with more access than you have) lets your agent handle setup tasks: the version, the branch, the demo accounts.

Every call follows the same rules as the studio: your role, your token’s products, your plan, and the environment your product is filmed on (DEV).

In the studio, go to the API page, then My personal tokens, New token. Give it a name (the agent), the Producer role, the products in this repository, and a lifetime of 7 to 365 days. Copy the token right away: Ondaclip only shows it once.

Keep it out of your repository by storing it in an environment variable, for example ONDACLIP_TOKEN.

The server is https://studio.ondaclip.com/mcp (streamable HTTP), with the header Authorization: Bearer <your token>.

Claude Code

Terminal window
claude mcp add --transport http ondaclip https://studio.ondaclip.com/mcp \
--header "Authorization: Bearer $ONDACLIP_TOKEN"

Antigravity (agy)

Terminal window
agy mcp add --header "Authorization: Bearer $ONDACLIP_TOKEN" ondaclip https://studio.ondaclip.com/mcp

OpenCode (opencode.json in the repository)

{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ondaclip": {
"type": "remote",
"url": "https://studio.ondaclip.com/mcp",
"headers": { "Authorization": "Bearer {env:ONDACLIP_TOKEN}" }
}
}
}

Cursor (.cursor/mcp.json)

{
"mcpServers": {
"ondaclip": {
"url": "https://studio.ondaclip.com/mcp",
"headers": { "Authorization": "Bearer ${env:ONDACLIP_TOKEN}" }
}
}
}

Other agents: give it the URL and header above. Ondaclip serves MCP over streamable HTTP.

The skill teaches your agent how to write a good tutorial, name its data-ondaclip-id attributes, read a problem and fix it. It’s included with the Team and Business plans. Ask us at hello@ondaclip.com.

4. Tell your agent how to change .ondaclip/

Section titled “4. Tell your agent how to change .ondaclip/”

Paste this into your repository’s AGENTS.md (or CLAUDE.md):

## Ondaclip (video tutorials)
- `.ondaclip/` holds the video tutorials of this repository. Before you change it,
read https://ondaclip.com/docs/ondaclip-folder/ and the page of the file you change.
- Change only what is asked; never put a secret in it.
- Check every file before you commit: the Ondaclip MCP tools validate_config,
validate_tutorial, validate_publication (or the JSON schemas of the docs).
- A new tutorial: find the screens in the code, add the missing data-ondaclip-id
(<area>-<element>-<kind>, only the attributes), write .ondaclip/tutorials/<id>.yaml,
validate_tutorial, push a branch, check it, fix, then one pull request with the ids
and the tutorial. Rules: https://ondaclip.com/docs/for-ai-agents/#from-a-need-to-a-pull-request
- Push on a branch and open a pull request; a person reviews the videos in the studio.

Your agent knows your code, and Ondaclip knows how to film it. Starting from a request in your own words (“a video on how to invite a colleague”), your agent:

  1. finds the product (list_products) and checks that it’s ready (readiness);
  2. finds the task’s screens in the code: routes, menu, page components;
  3. adds any missing data-ondaclip-id to the elements the video shows, clicks or types into (<area>-<element>-<kind>; only the attributes, nothing else on those lines);
  4. writes .ondaclip/tutorials/<id>.yaml and runs validate_tutorial;
  5. pushes a branch and runs check on it (tracked with run_status), reads list_problems and fixes what broke;
  6. opens a single pull request with the ids, the tutorial and the check result.

The rules it follows: read-only by default (a tutorial that saves data lists its writes and has a cleanup), fictitious data only (safeEmail, neverShow, hide, files in .ondaclip/fixtures/), every text in every language of the product, one action per shot, and clips of 50 seconds at most. In a repository with several products, it writes to its own product’s folder (folder in list_products). The ids it adds show up in the app once the branch is deployed to the environment Ondaclip films (DEV by default).

  • “Add an Ondaclip tutorial for inviting a colleague, then check it on this branch.”
  • “This pull request changes the orders page: check the Ondaclip tutorials it touches and fix the ones that break.”
  • “Read the open Ondaclip problems and tell me which ones are bugs in the app.”
  • “Film the tutorials on this branch.”
  • Your agent pushes its changes to a branch, and Ondaclip reads the tutorials from that branch.
  • A check takes a few minutes and counts toward your plan’s runs, just like a check from the studio.
  • Revoke a token on the API page. It stops working immediately.