{"type":"agent-native.clip.context","version":2,"webmcp":{"protocol":"WebMCP","scope":"page-local","tools":[{"name":"clips-get-context","title":"Get clip context","description":"Read clip metadata, readiness, transcript status, and the HTTP API URLs. This works without a browser.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true}},{"name":"clips-get-transcript","title":"Get clip transcript","description":"Read bounded timestamped transcript segments. Use nextStartIndex to page through long transcripts without losing overlapping segments. For complete transcript text, follow sourceUrl to the HTTP transcript endpoint.","inputSchema":{"type":"object","properties":{"startMs":{"type":"number","minimum":0,"description":"Only return segments that overlap this start time."},"endMs":{"type":"number","minimum":0,"description":"Only return segments that overlap this end time."},"startIndex":{"type":"integer","minimum":0,"description":"Stable segment index for pagination; prefer nextStartIndex from the previous page."},"maxSegments":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum number of transcript segments to return."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true}},{"name":"clips-get-frame","title":"Get clip frame","description":"Get a JPEG image URL for the clip at a requested video timestamp.","inputSchema":{"type":"object","properties":{"atMs":{"type":"number","minimum":0,"description":"Video timestamp in milliseconds."}},"required":["atMs"],"additionalProperties":false},"availability":"ready","annotations":{"readOnlyHint":true,"untrustedContentHint":true}}],"instructions":"For browser-independent access from any HTTP client, fetch agentContextUrl and use its apis.context, apis.transcript, and apis.frame URLs. For a complete transcript, use the HTTP apis.transcript URL. If this clip page is already open in a WebMCP-capable browser, list its page tools for bounded read-only access; clips-get-transcript may omit fullText or return a truncated result, and its sourceUrl points to the HTTP transcript. Use nextStartIndex for transcript pagination so overlapping segments are not lost.","http":{"schema_version":"v1","browserRequired":false,"tools":[{"name":"clips-get-context","title":"Get clip context","description":"Read clip metadata, readiness, transcript status, and the HTTP API URLs. This works without a browser.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"parameters":{"type":"object","properties":{},"additionalProperties":false},"endpoint":"https://beta.clips.agent-native.com/api/agent-context.json?id=U1f0uKYYKGF2","method":"GET","responseType":"application/json"},{"name":"clips-get-transcript","title":"Get clip transcript","description":"Read bounded timestamped transcript segments. Use nextStartIndex to page through long transcripts without losing overlapping segments. For complete transcript text, follow sourceUrl to the HTTP transcript endpoint.","inputSchema":{"type":"object","properties":{"startMs":{"type":"number","minimum":0,"description":"Only return segments that overlap this start time."},"endMs":{"type":"number","minimum":0,"description":"Only return segments that overlap this end time."},"startIndex":{"type":"integer","minimum":0,"description":"Stable segment index for pagination; prefer nextStartIndex from the previous page."},"maxSegments":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum number of transcript segments to return."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"parameters":{"type":"object","properties":{"startMs":{"type":"number","minimum":0,"description":"Only return segments that overlap this start time."},"endMs":{"type":"number","minimum":0,"description":"Only return segments that overlap this end time."},"startIndex":{"type":"integer","minimum":0,"description":"Stable segment index for pagination; prefer nextStartIndex from the previous page."},"maxSegments":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum number of transcript segments to return."}},"additionalProperties":false},"endpoint":"https://beta.clips.agent-native.com/api/agent-transcript.json?id=U1f0uKYYKGF2","method":"GET","responseType":"application/json"},{"name":"clips-get-frame","title":"Get clip frame","description":"Get a JPEG image URL for the clip at a requested video timestamp.","inputSchema":{"type":"object","properties":{"atMs":{"type":"number","minimum":0,"description":"Video timestamp in milliseconds."}},"required":["atMs"],"additionalProperties":false},"availability":"ready","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"parameters":{"type":"object","properties":{"atMs":{"type":"number","minimum":0,"description":"Video timestamp in milliseconds."}},"required":["atMs"],"additionalProperties":false},"endpoint":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs={atMs}","method":"GET","responseType":"image/jpeg"}]}},"instructions":["Use transcript.segments for timestamped spoken context.","Use the HTTP URLs in apis for browser-independent access. For complete transcript text, use apis.transcript. If this clip page is already open in a WebMCP-capable browser, list its read-only page tools for bounded access; WebMCP transcript results may omit fullText or be truncated, so follow sourceUrl for the complete transcript.","This clip is readable as both text (transcript) and images (JPEG frames) — you can hear AND see it.","To SEE the screen, GET apis.frame.urlTemplate with atMs (returns image/jpeg). Start with recommendedFrames, then fetch additional frames around transcript timestamps that matter for the task.","If you cannot load an image from a URL, you will only have the transcript — tell the user to open the clip in an image-capable agent (ChatGPT, Claude Code, Cursor, Codex) or to upload a frame image directly so you can see it."],"clip":{"id":"U1f0uKYYKGF2","title":"Steve Sewell (Agent-Native.com) - How to show Claude how to perform a task","description":"Clips lets you record desktop activity and spoken instructions, then share a link that Claude can use to understand the task and create a repeatable automation. The workflow can automate tasks such as approving unapproved time-off requests in Rippling and run them from Claude’s routines tab, desktop app, CLI, or Claude Cowork. Clips is open source and also captures transcripts, screenshots, network logs, and errors for agent-ready bug reports and human sharing.","publicPageUrl":"https://beta.clips.agent-native.com/share/U1f0uKYYKGF2","sourceProvider":null,"thumbnailUrl":"https://cdn.builder.io/api/v1/image/assets%2FYJIGb4i01jvw0SRdL5Bt%2F9768f62977c047359ff973271009b933","animatedThumbnailUrl":null,"durationMs":114126,"duration":"114s","width":1080,"height":1080,"hasAudio":true,"hasCamera":false,"status":"ready","agentReadiness":{"state":"ready","retryAfterSeconds":null,"instruction":null},"createdAt":"2026-08-12T12:14:53.740Z","updatedAt":"2026-08-12T12:16:14.333Z"},"apis":{"context":{"method":"GET","url":"https://beta.clips.agent-native.com/api/agent-context.json?id=U1f0uKYYKGF2"},"transcript":{"method":"GET","url":"https://beta.clips.agent-native.com/api/agent-transcript.json?id=U1f0uKYYKGF2"},"frame":{"method":"GET","urlTemplate":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs={timestampMs}","query":{"atMs":"Video timestamp in milliseconds. The endpoint returns image/jpeg."}}},"transcript":{"status":"ready","language":"en","failureReason":null,"retryAfterSeconds":null,"fullText":"There's now finally a way to just show Claude repetitive work you do and have it automate and replay that task anytime you want. Here's what I do. I use the free clips app to just hit record and start recording anything on my computer. You can talk out loud as you go to, like say I go to Rippling, search for time off, and then find any unapproved requests and just accept them. The clips app captures everything on your screen and everything you say and transforms it into a way that Claude can see and hear everything that you did and recorded on your screen. You'll then get a link that you can easily share with humans or agents and then you can just paste it to Claude saying something like automate this for me every day at 8:00 a.m. The link has special metadata that agents like Claude can see and discover APIs it exposes. To see the full transcript with timestamps and be able to grab screenshots of what was on your screen in the video at any of those timestamps. So by doing that, it can explore everything you did and build an automation it can run on a cadence to automate that work. Once it's created the routine, you can go to the routines tab in Claude code. I'm using the desktop app. This also works with the CLI or Claude cowork. You can see my new routine here and you can just hit run now to have it start working. And then you can just watch Claude work. It's now doing the stuff for me that I don't want to do in a background tab, so I don't have to do this stuff anymore. I record tasks every single day and this has really helped me automate my life. This is all using the free clips app that I've open sourced that makes the ability to record yourself and your desktop fully agent native so you can share with agents for everything from bug reports that can also capture network logs and errors to send to the agent as well as to send to humans. So use it like a free loom replacement or a better way of working with agents or if you need people to send you bug reports, ask them to send you a clip so you can just paste that to agents and not have to copy and paste all this information or go back and ask them for the logs that they didn't include with you. It's all open source on my GitHub. I've linked to it in my bio and if you try it out, I would love to know your feedback. Come chat with me over in Discord, which is linked to over in my GitHub too, or just leave a comment with your feedback. I'm rapidly making improvements based off of ideas and feedback from people like you.","segments":[{"startMs":0,"endMs":1750,"timestamp":"0:00","range":"0:00-0:01","text":"There's now finally a way to just"},{"startMs":1750,"endMs":3500,"timestamp":"0:01","range":"0:01-0:03","text":"show Claude repetitive work you do and"},{"startMs":3500,"endMs":5250,"timestamp":"0:03","range":"0:03-0:05","text":"have it automate and replay that task"},{"startMs":5250,"endMs":6000,"timestamp":"0:05","range":"0:05-0:06","text":"anytime you want."},{"startMs":6000,"endMs":7000,"timestamp":"0:06","range":"0:06-0:07","text":"Here's what I do."},{"startMs":7000,"endMs":8647,"timestamp":"0:07","range":"0:07-0:08","text":"I use the free clips app to"},{"startMs":8647,"endMs":10294,"timestamp":"0:08","range":"0:08-0:10","text":"just hit record and start recording anything"},{"startMs":10294,"endMs":11000,"timestamp":"0:10","range":"0:10-0:11","text":"on my computer."},{"startMs":11000,"endMs":12448,"timestamp":"0:11","range":"0:11-0:12","text":"You can talk out loud as you"},{"startMs":12448,"endMs":13896,"timestamp":"0:12","range":"0:12-0:13","text":"go to, like say I go to"},{"startMs":13896,"endMs":14930,"timestamp":"0:13","range":"0:13-0:14","text":"Rippling, search for time off,"},{"startMs":14930,"endMs":16378,"timestamp":"0:14","range":"0:14-0:16","text":"and then find any unapproved requests and"},{"startMs":16378,"endMs":17000,"timestamp":"0:16","range":"0:16-0:17","text":"just accept them."},{"startMs":17000,"endMs":18909,"timestamp":"0:17","range":"0:17-0:18","text":"The clips app captures everything on your"},{"startMs":18909,"endMs":20818,"timestamp":"0:18","range":"0:18-0:20","text":"screen and everything you say and transforms"},{"startMs":20818,"endMs":22727,"timestamp":"0:20","range":"0:20-0:22","text":"it into a way that Claude can"},{"startMs":22727,"endMs":24636,"timestamp":"0:22","range":"0:22-0:24","text":"see and hear everything that you did"},{"startMs":24636,"endMs":26000,"timestamp":"0:24","range":"0:24-0:26","text":"and recorded on your screen."},{"startMs":26000,"endMs":27400,"timestamp":"0:26","range":"0:26-0:27","text":"You'll then get a link that you"},{"startMs":27400,"endMs":28800,"timestamp":"0:27","range":"0:27-0:28","text":"can easily share with humans or agents"},{"startMs":28800,"endMs":30200,"timestamp":"0:28","range":"0:28-0:30","text":"and then you can just paste it"},{"startMs":30200,"endMs":31600,"timestamp":"0:30","range":"0:30-0:31","text":"to Claude saying something like automate this"},{"startMs":31600,"endMs":33000,"timestamp":"0:31","range":"0:31-0:33","text":"for me every day at 8:00 a.m."},{"startMs":33000,"endMs":35188,"timestamp":"0:33","range":"0:33-0:35","text":"The link has special metadata that agents"},{"startMs":35188,"endMs":37376,"timestamp":"0:35","range":"0:35-0:37","text":"like Claude can see and discover APIs"},{"startMs":37376,"endMs":38000,"timestamp":"0:37","range":"0:37-0:38","text":"it exposes."},{"startMs":38000,"endMs":40074,"timestamp":"0:38","range":"0:38-0:40","text":"To see the full transcript with timestamps"},{"startMs":40074,"endMs":42148,"timestamp":"0:40","range":"0:40-0:42","text":"and be able to grab screenshots of"},{"startMs":42148,"endMs":44222,"timestamp":"0:42","range":"0:42-0:44","text":"what was on your screen in the"},{"startMs":44222,"endMs":46000,"timestamp":"0:44","range":"0:44-0:46","text":"video at any of those timestamps."},{"startMs":46000,"endMs":46900,"timestamp":"0:46","range":"0:46-0:46","text":"So by doing that,"},{"startMs":46900,"endMs":48358,"timestamp":"0:46","range":"0:46-0:48","text":"it can explore everything you did and"},{"startMs":48358,"endMs":49816,"timestamp":"0:48","range":"0:48-0:49","text":"build an automation it can run on"},{"startMs":49816,"endMs":51000,"timestamp":"0:49","range":"0:49-0:51","text":"a cadence to automate that work."},{"startMs":51000,"endMs":52333,"timestamp":"0:51","range":"0:51-0:52","text":"Once it's created the routine,"},{"startMs":52333,"endMs":54200,"timestamp":"0:52","range":"0:52-0:54","text":"you can go to the routines tab"},{"startMs":54200,"endMs":55000,"timestamp":"0:54","range":"0:54-0:55","text":"in Claude code."},{"startMs":55000,"endMs":56429,"timestamp":"0:55","range":"0:55-0:56","text":"I'm using the desktop app."},{"startMs":56429,"endMs":58429,"timestamp":"0:56","range":"0:56-0:58","text":"This also works with the CLI or"},{"startMs":58429,"endMs":59000,"timestamp":"0:58","range":"0:58-0:59","text":"Claude cowork."},{"startMs":59000,"endMs":60474,"timestamp":"0:59","range":"0:59-1:00","text":"You can see my new routine here"},{"startMs":60474,"endMs":61948,"timestamp":"1:00","range":"1:00-1:01","text":"and you can just hit run now"},{"startMs":61948,"endMs":63000,"timestamp":"1:01","range":"1:01-1:03","text":"to have it start working."},{"startMs":63000,"endMs":64750,"timestamp":"1:03","range":"1:03-1:04","text":"And then you can just watch Claude"},{"startMs":64750,"endMs":65000,"timestamp":"1:04","range":"1:04-1:05","text":"work."},{"startMs":65000,"endMs":66346,"timestamp":"1:05","range":"1:05-1:06","text":"It's now doing the stuff for me"},{"startMs":66346,"endMs":67692,"timestamp":"1:06","range":"1:06-1:07","text":"that I don't want to do in"},{"startMs":67692,"endMs":68592,"timestamp":"1:07","range":"1:07-1:08","text":"a background tab,"},{"startMs":68592,"endMs":69750,"timestamp":"1:08","range":"1:08-1:09","text":"so I don't have to do this"},{"startMs":69750,"endMs":70000,"timestamp":"1:09","range":"1:09-1:10","text":"stuff anymore."},{"startMs":70000,"endMs":71400,"timestamp":"1:10","range":"1:10-1:11","text":"I record tasks every single day and"},{"startMs":71400,"endMs":72750,"timestamp":"1:11","range":"1:11-1:12","text":"this has really helped me automate my"},{"startMs":72750,"endMs":73000,"timestamp":"1:12","range":"1:12-1:13","text":"life."},{"startMs":73000,"endMs":74806,"timestamp":"1:13","range":"1:13-1:14","text":"This is all using the free clips"},{"startMs":74806,"endMs":76612,"timestamp":"1:14","range":"1:14-1:16","text":"app that I've open sourced that makes"},{"startMs":76612,"endMs":78418,"timestamp":"1:16","range":"1:16-1:18","text":"the ability to record yourself and your"},{"startMs":78418,"endMs":80224,"timestamp":"1:18","range":"1:18-1:20","text":"desktop fully agent native so you can"},{"startMs":80224,"endMs":81000,"timestamp":"1:20","range":"1:20-1:21","text":"share with agents"},{"startMs":81000,"endMs":82680,"timestamp":"1:21","range":"1:21-1:22","text":"for everything from bug reports that can"},{"startMs":82680,"endMs":84360,"timestamp":"1:22","range":"1:22-1:24","text":"also capture network logs and errors to"},{"startMs":84360,"endMs":86040,"timestamp":"1:24","range":"1:24-1:26","text":"send to the agent as well as"},{"startMs":86040,"endMs":87000,"timestamp":"1:26","range":"1:26-1:27","text":"to send to humans."},{"startMs":87000,"endMs":88485,"timestamp":"1:27","range":"1:27-1:28","text":"So use it like a free loom"},{"startMs":88485,"endMs":89970,"timestamp":"1:28","range":"1:28-1:29","text":"replacement or a better way of working"},{"startMs":89970,"endMs":91455,"timestamp":"1:29","range":"1:29-1:31","text":"with agents or if you need people"},{"startMs":91455,"endMs":92516,"timestamp":"1:31","range":"1:31-1:32","text":"to send you bug reports,"},{"startMs":92516,"endMs":94000,"timestamp":"1:32","range":"1:32-1:34","text":"ask them to send you a clip"},{"startMs":94000,"endMs":95485,"timestamp":"1:34","range":"1:34-1:35","text":"so you can just paste that to"},{"startMs":95485,"endMs":96970,"timestamp":"1:35","range":"1:35-1:36","text":"agents and not have to copy and"},{"startMs":96970,"endMs":98455,"timestamp":"1:36","range":"1:36-1:38","text":"paste all this information or go back"},{"startMs":98455,"endMs":99940,"timestamp":"1:38","range":"1:38-1:39","text":"and ask them for the logs that"},{"startMs":99940,"endMs":101000,"timestamp":"1:39","range":"1:39-1:41","text":"they didn't include with you."},{"startMs":101000,"endMs":103000,"timestamp":"1:41","range":"1:41-1:43","text":"It's all open source on my GitHub."},{"startMs":103000,"endMs":103700,"timestamp":"1:43","range":"1:43-1:43","text":"I've linked to it in my bio"},{"startMs":103700,"endMs":104366,"timestamp":"1:43","range":"1:43-1:44","text":"and if you try it out,"},{"startMs":104366,"endMs":105000,"timestamp":"1:44","range":"1:44-1:45","text":"I would love to know your feedback."},{"startMs":105000,"endMs":106167,"timestamp":"1:45","range":"1:45-1:46","text":"Come chat with me over in Discord,"},{"startMs":106167,"endMs":107334,"timestamp":"1:46","range":"1:46-1:47","text":"which is linked to over in my"},{"startMs":107334,"endMs":108501,"timestamp":"1:47","range":"1:47-1:48","text":"GitHub too, or just leave a comment"},{"startMs":108501,"endMs":109000,"timestamp":"1:48","range":"1:48-1:49","text":"with your feedback."},{"startMs":109000,"endMs":110500,"timestamp":"1:49","range":"1:49-1:50","text":"I'm rapidly making improvements based off of"},{"startMs":110500,"endMs":112000,"timestamp":"1:50","range":"1:50-1:52","text":"ideas and feedback from people like you."}],"segmentCount":82},"comments":[],"commentCount":0,"commentsTruncated":false,"reactions":[],"reactionCount":0,"reactionsTruncated":false,"chapters":[],"recommendedFrames":[{"atMs":0,"timestamp":"0:00","reason":"opening frame","url":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs=0"},{"atMs":3500,"timestamp":"0:03","reason":"transcript: have it automate and replay that task","url":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs=3500"},{"atMs":7000,"timestamp":"0:07","reason":"transcript: I use the free clips app to","url":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs=7000"},{"atMs":10294,"timestamp":"0:10","reason":"transcript: on my computer.","url":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs=10294"},{"atMs":13896,"timestamp":"0:13","reason":"transcript: Rippling, search for time off,","url":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs=13896"},{"atMs":17000,"timestamp":"0:17","reason":"transcript: The clips app captures everything on your","url":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs=17000"},{"atMs":20818,"timestamp":"0:20","reason":"transcript: it into a way that Claude can","url":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs=20818"},{"atMs":24636,"timestamp":"0:24","reason":"transcript: and recorded on your screen.","url":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs=24636"},{"atMs":28800,"timestamp":"0:28","reason":"transcript: and then you can just paste it","url":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs=28800"},{"atMs":33000,"timestamp":"0:33","reason":"transcript: The link has special metadata that agents","url":"https://beta.clips.agent-native.com/api/agent-frame.jpg?id=U1f0uKYYKGF2&atMs=33000"}],"bugReport":null,"browserDiagnostics":null,"ctas":[]}