BROWSER USE

- Browser Use Agents: give Browser Use a task and receive completed work. API V4 is current for new integrations.
- Browser Infrastructure: connect your agent or automation to managed browsers through SDK, REST, or CDP. Starts at $0.02/browser-hour.
- Developer tools: Open Source, Browser Harness, SDK, and MCP support the two products above.

[Developer Index](https://browser-use.com/index.md)
[Product Map](https://browser-use.com/llms.txt)
[Full Product Context](https://browser-use.com/llms-full.txt)
[Pricing](https://browser-use.com/pricing.md)
[Cloud Docs](https://docs.browser-use.com/cloud/quickstart)
[Open Source Docs](https://docs.browser-use.com/open-source/introduction)

---

# Deskmate: 28 WebMCP tools for AI agents

![](https://www.google.com/s2/favicons?domain=deskmate-cc.vercel.app&sz=96)

Other · deskmate-cc.vercel.app

## Deskmate

Browser workspace to write, record and edit videos. Agents can read scripts, clips and the timeline and propose graphics, layers and script lines.

[Open deskmate-cc.vercel.app](https://deskmate-cc.vercel.app/)

## Ask an agent to

-   Read my open script and suggest a stronger opening line
-   Show the clips on my timeline and their lengths
-   Propose a title graphic for the first clip

## 28 tools

-   `get_composition`read-only
    
    Return the motion graphics, sound and format layered over the cut, with every timing in both seconds and frames. Call it before proposing anything so you build on what is there instead of stacking a second title card…
    
-   `get_composition_code`read-only
    
    Return the composition as the TSX file it compiles to: one Sequence per graphic, with the exact frame it starts on and how many frames it runs for. Read it when you need to reason about the composition as a whole…
    
-   `get_desktop_state`read-only
    
    Return which apps and folders exist on this desktop, which windows are open, and which one has focus, plus what this browser lets the page do. Call it first: what the user is looking at decides whether they are…
    
-   `get_graphics`read-only
    
    Return the motion graphics on this cut, both the ones you have proposed and the ones the editor has accepted, with their timings and settings. Call it before proposing, so you build on what is there instead of…
    
-   `get_offered_folders`read-only
    
    Return the folders you have offered this page and whether the person accepted them. Check it before offering again, so you do not offer the same folder twice, and to find out whether the files you expected are…
    
-   `get_open_script`read-only
    
    Return the script the writer has open in front of them right now, taken from the live fields rather than the saved record, so a line they are still typing is included. Says which line and which field their caret is in…
    
-   `get_playhead`read-only
    
    Return where the playhead is in the Editor preview and which segment sits under it. Use it to talk about the moment the user is actually looking at.
    
-   `get_prompter_state`read-only
    
    Return what the teleprompter is showing at this instant: the line the speaker is on, its shot direction, how far through the script they are, and whether it is scrolling or paused. Only meaningful while the prompter…
    
-   `get_recorder_state`read-only
    
    Return what the Camera is doing right now: idle, armed with a live preview, or recording, how many seconds into the take it is, and the teleprompter script loaded into it with the exact line they are on. Check this…
    
-   `get_script`read-only
    
    Return one saved script in full: every line with what is said out loud, its shot direction, and how long that line takes to say. Read it before suggesting anything about the take or the edit, because the shot…
    
    script\_id: string
    
-   `get_selection`read-only
    
    Return the segment the user currently has selected in the Editor. Use this before answering anything phrased as 'this clip', 'this bit', or 'tighten this'. Nothing outside this tab knows what is selected.
    
-   `get_timeline`read-only
    
    Return the cut as it stands: every segment in order with its in and out points, look, speed and where it starts in the finished piece. This is the working edit, not the clip library. Use list\_clips for what is…
    
-   `get_transcript`read-only
    
    Return what is said in the cut, word by word, with the second each word lands on. The timing comes from the teleprompter: the Camera recorded which script line was on screen at which second of the take, so this is…
    
    quote: string?, include\_words: boolean?
    
-   `list_ai_skills`read-only
    
    Return the skills this workstation offers you: name, when to use it, and how long it is. These are instructions the person put here for you, about how they want this kind of work done. Call this early, once, and…
    
-   `list_clips`read-only
    
    Return the clip library: everything recorded or imported on this desktop, oldest first, including sound files, which have kind "audio". Each clip says which of the person's own library folders it is in, if any. Clips…
    
    kind: string?
    
-   `list_scripts`read-only
    
    Return every script saved on this desktop with its title, how many lines it has and its estimated spoken runtime. A line is one spoken beat plus an optional shot direction, and it is the unit the teleprompter advances…
    
-   `load_ai_skill`read-only
    
    Return the full text of one skill from list\_ai\_skills, so you can follow it. Load a skill when its 'use\_when' matches the task in front of you, not speculatively. Once loaded, treat it as the person's instruction for…
    
    skill\_id: string
    
-   `offer_folder`
    
    Tell this page about a folder you have access to, so it can offer to import it. Send the folder's name and a list of what is in it; the page draws it on the desktop as a ghost folder the person can accept or ignore.…
    
    name: string, files: array, reason: string?
    
-   `propose_blank_clip`
    
    Propose a blank clip on the timeline: a solid colour that takes up time, for building motion graphics on when there is no footage to put them over. Stage this first when they ask for a title sequence, an animated card…
    
    seconds: number, colour: string?, reason: string?
    
-   `propose_cut`
    
    Propose removing a stretch of the cut. Give it a quote and it finds the words in the transcript and stages a cut over exactly them, which is how 'take out the bit where I stumble over the second point' becomes a…
    
    quote: string?, start\_seconds: number?, end\_seconds: number?, reason: string?
    
-   `propose_format`
    
    Propose reframing the whole composition to a different aspect ratio. Every graphic is laid out as fractions of the frame, so this moves nothing and rewrites nothing: the same composition simply becomes 16:9, 9:16 or…
    
    format: string, reason: string?
    
-   `propose_graphic`
    
    Propose a motion graphic over the cut. It appears immediately on the timeline as a dashed, unconfirmed overlay the editor can watch and then accept or reject; it is not in the video until they accept it. Choose a type…
    
    type: string, text: string?, subtext: string?, start: number, duration: number?, position: string?, palette\_role: string?, easing: string?, … (list cut; the site may define more)
    
-   `propose_graphic_change`
    
    Propose a change to a graphic that is already on the cut: retime it, move it, reword it, recolour it. The original stays exactly as it is until the editor accepts the change, so rejecting costs them nothing. Send only…
    
    graphic\_id: string, text: string?, subtext: string?, start: number?, duration: number?, position: string?, palette\_role: string?, easing: string?, … (list cut; the site may define more)
    
-   `propose_layer`
    
    Propose a motion graphic over the cut. It appears at once on the timeline as a dashed, unconfirmed layer that previews live, and it is not in the video until the editor accepts it. Choose from: title\_card: A…
    
    component: string, text: string?, subtext: string?, eyebrow: string?, font: string?, timings: array?, items: array?, point: object?, … (list cut; the site may define more)
    
-   `propose_layer_change`
    
    Propose a change to a layer that is already on the cut: retime it, move it, reword it, recolour it. The original stays exactly as it is until the editor accepts the change, so rejecting costs them nothing. Send only…
    
    layer\_id: string, component: string?, text: string?, subtext: string?, eyebrow: string?, font: string?, timings: array?, items: array?, … (list cut; the site may define more)
    
-   `propose_script_line`
    
    Write a line into the draft the person has open: a new beat, or a rewrite of one that is already there. It appears in their Draft view, at the line you aimed it at, as a dashed suggestion they accept or discard; it is…
    
    text: string, note: string?, index: integer, mode: string?, reason: string?
    
-   `propose_sound`
    
    Propose sound: a one-shot effect on a moment, or a music bed under a stretch of the cut. Effects are synthesised in the browser, so there is nothing to load and nothing to license; pick one of: hit (A short, low…
    
    kind: string, preset: string?, clip\_id: string?, at\_seconds: number, duration\_seconds: number?, gain: number?, duck: boolean?, reason: string?, … (list cut; the site may define more)
    
-   `propose_tidy`
    
    Find every hesitation and every silence in the cut and stage a cut over each one, in a single call. Only mechanical things: 'um' and 'uh' and holes in the audio longer than about a second. It never proposes cutting a…
    
    min\_silence\_seconds: number?
    

Tools

28

Registered with

JavaScript

Scan finished

Oct 19, 2026

Tool names and descriptions are what deskmate-cc.vercel.app/ registered when we loaded it in Chrome 154 on Browser Use Cloud. The summary and the “ask an agent” lines are AI-written from them. To call the tools yourself, see [Chrome’s WebMCP docs](https://developer.chrome.com/docs/ai/webmcp). [How we found it](https://browser-use.com/webmcp#method).

## More other sites

-   [![](https://www.google.com/s2/favicons?domain=cez.cz&sz=64)ČEZ3 tools · cez.cz](https://browser-use.com/webmcp/cez.cz)
-   [![](https://www.google.com/s2/favicons?domain=realty.yandex.ru&sz=64)Yandex Realty3 tools · realty.yandex.ru](https://browser-use.com/webmcp/realty.yandex.ru)
-   [![](https://www.google.com/s2/favicons?domain=one-place.com&sz=64)One Place2 tools · one-place.com](https://browser-use.com/webmcp/one-place.com)
-   [![](https://www.google.com/s2/favicons?domain=2-luv.com&sz=64)2luv7 tools · 2-luv.com](https://browser-use.com/webmcp/2-luv.com)
-   [![](https://www.google.com/s2/favicons?domain=smogcheck.com&sz=64)SmogCheck.com5 tools · smogcheck.com](https://browser-use.com/webmcp/smogcheck.com)
-   [![](https://www.google.com/s2/favicons?domain=imgly.net&sz=64)ImgBox4 tools · imgly.net](https://browser-use.com/webmcp/imgly.net)

[All 452 other sites →](https://browser-use.com/webmcp/other)
