Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Recordful records the user's browser so you can produce product demo videos. It also drives the page it records, so you don't need a browser tool of your own.

Typical flow for "record feature X" (the record_feature prompt has the full version):

  1. Plan the walkthrough first: which page, which clicks, what to type, in what order. Use test data only, never the user's real credentials.

  2. Ask the user to click the Recordful toolbar icon in Chrome on the tab to record. Chrome only lets an extension capture a tab after the user has invoked it there, and the same click connects Recordful to you. Nothing can do this click for them. Page tools only ever act on that tab.

  3. Call get_status. It confirms the connection, shows the tab you were handed (recorder.agent.armedTab), and reports the recording mode the user picked in Recordful (tab area, screen, camera) and whether a recording is already running.

  4. Get to the starting page before recording: navigate(url), then snapshot() to check it loaded.

  5. Call start_recording. It uses the user's saved Recordful settings (mode, mic, camera, countdown) and returns once capture is live.

  6. Walk through the feature with the page tools: snapshot() lists the interactive elements with refs ("e12"), then click(ref), type(ref, text), press(key), scroll(...), wait_for(...). Recordful moves a visible cursor to each target and types at a human pace, so the video looks like a person using the app. Take a fresh snapshot after anything that changes the page; refs from before a navigation stop working.

  7. Call pause_recording before you stop to think or plan the next steps, and resume_recording right before acting again, so the video has no dead air. snapshot and screenshot work while paused. Call add_marker("…") at moments worth finding again (a result appearing, an error shown).

  8. Call stop_recording. Recordful opens its editor with the recording automatically.

  9. To share it or read it back (Recordful Pro): stop_recording says where the recording went. A cloud recording is already uploading; a local one uploads with upload_recording. get_video gives its links once it's ready, and get_transcript returns what was said (it transcribes on first use and waits).

Free and Pro:

  • Every plan: recording, page tools, and Recordful's editor (the video is saved on this computer and opens there).

  • Recordful Pro only: uploads, cloud videos (list_videos, get_video) and transcripts (get_transcript).

  • get_status shows recorder.account.plan: "pro", "free", "signed-out", or "unavailable". Check it before you promise a link or a transcript. If it isn't "pro", record as usual, tell the user the video is open in Recordful's editor, and mention once that links and transcripts come with Recordful Pro (recordful.app/upgrade). Don't call upload_recording or get_transcript, and don't retry them after PRO_REQUIRED or NOT_SIGNED_IN.

Managing what's on recordful.app (Recordful Pro): update_video (rename, who may watch), get_video_activity (views, likes, comments), comment_on_video, like_video, list_folders, create_folder, move_videos, delete_video, get_storage. These change or publish things for the user, so show them exactly what you'll do and wait for their yes before update_video, comment_on_video, move_videos, create_folder or delete_video; delete_video also needs the exact video named and confirm: true. Comments are public to everyone who can watch the video: post only the text the user approved.

First connection on a computer:

  • NOT_CONNECTED: ask the user to click the Recordful icon. If that doesn't connect, they need to turn on AI agents in Recordful once (Recordful popup → More → AI agents, or paste chrome-extension://hkcgjbkibidgbefehehenlmhjanjaopc/agents.html into Chrome's address bar).

  • PAIRING_PENDING: Recordful opened a window asking the user to approve you. Tell them the 4-digit code from the error so they can check it matches, ask them to click Allow, then retry. This happens once per computer.

  • PAIRING_DENIED: the user declined. Don't retry unless they ask.

  • PERMISSIONS_NEEDED: Recordful's one-time browser permission to record hasn't been granted. Tell the user to turn AI agents off and on again in Recordful (popup → More → AI agents) and click Allow, then retry.

  • NOT_ARMED, or start_recording returning outcome "pending": the user hasn't clicked the Recordful icon on that tab yet. Ask them to, then retry.

  • NOT_SIGNED_IN or PRO_REQUIRED: uploads and transcripts need the user signed in to Recordful Pro. Relay the error's message (it says what still works); don't retry.

If you have a browser tool of your own you can use it for the walkthrough instead, but Recordful's page tools make smoother videos. "screen" mode always shows Chrome's screen picker, which the user must answer.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_statusA

Report whether the Recordful extension is connected and what the recorder is doing (idle, starting, recording, paused), the selected recording mode, the active tab, and which capture permissions are granted. Safe to call any time.

start_recordingA

Start a Recordful recording on the target tab using the user's saved Recordful settings (mode, microphone, camera, countdown). Resolves once capture is live, or reports why it could not start. Navigate to the page you want to show before calling this.

stop_recordingA

Stop the current Recordful recording. Recordful then opens its editor with the recording, exactly as when the user clicks Stop. Returns where it went: recording.kind "cloud" (Recordful Pro: already uploading, with its videoId and links) or "local" (saved on this computer as takeId; upload_recording uploads it), plus the markers add_marker placed.

pause_recordingA

Pause the current recording. Use it while you plan the next step so the video has no dead air. No-op if already paused.

resume_recordingA

Resume a paused recording. No-op if not paused.

add_markerA

Mark this moment of the running recording with a short label ("signed in", "error shown"). It is timed on the video clock, pauses left out, and stop_recording returns every marker as { atMs, label }, so you can point the user to moments or edit around them later.

probe_captureA

Diagnostic: check, without recording, whether the extension can capture the target tab right now with no user click, and which optional Chrome permissions are granted. Refuses while a recording is running.

navigateA

Open an http(s) URL in the tab the user handed to Recordful and wait for it to load. Returns the final URL and title. Refs from earlier snapshots stop working.

snapshotA

List the interactive elements (links, buttons, fields, checkboxes, tabs, menu items) and headings in the recorded tab, each with a ref to pass to click/type/scroll/wait_for, its role, accessible name, current value or state, and bounding box in CSS pixels. Refs stay the same for an element while it stays on the page.

clickA

Move Recordful's visible cursor to the element, scrolling it into view if needed, and click it, with a click highlight in the video. Reports a navigation the click started. Fails with ELEMENT_OBSCURED (naming what is on top, with its ref) if something covers it.

typeA

Click the field, then type the text at a human pace (text inputs, text areas, content-editable areas). Set clear to replace what is already there. Use press for Enter, Tab and other keys.

pressA

Press a key in the focused element, e.g. Enter to submit a form, Tab to move focus, Escape to close a dialog, ArrowDown in a menu, Shift+Tab, Control+a. Recordful also performs the key's usual effect (submitting, moving focus, deleting), since pages ignore synthetic keys otherwise.

scrollA

Scroll smoothly: either bring an element (ref) into view, or scroll the page in a direction, by amount pixels or most of a screen.

wait_forA

Wait until text appears on the page or an element (ref) becomes visible, or with state "hidden" until it goes away. Keeps waiting across navigations. Fails with WAIT_TIMEOUT if it doesn't happen in time.

screenshotA

Capture what the recorded tab shows right now, as an image, to check the page looks right. The tab must be the active tab of its window.

list_recordingsA

List the recordings saved on this computer (newest first): each takeId, size, when it was recorded, and its videoId if it was uploaded. Recordings made while signed in to Recordful Pro go straight to the cloud instead; see list_videos.

upload_recordingA

Recordful Pro only (check get_status recorder.account.plan first). Upload a local recording to recordful.app and, by default, wait until the upload finishes. Defaults to the last recording. Returns the videoId and its view and edit links. A recording made in the cloud is already uploading, so this just returns it. Then get_transcript reads it back.

get_videoA

A Recordful video's title, length, who may watch it, its view and edit links, and its upload stage: "uploading" → "processing" → "ready". With wait, keeps checking until it's ready. Defaults to the last recording.

list_videosA

List the user's videos on recordful.app, newest first: videoId, title, date, length, who may watch, and links. Optionally filter by title.

get_transcriptA

Recordful Pro only (check get_status recorder.account.plan first). Read back what was said in a Recordful video. Starts transcribing if it hasn't been yet, and by default waits until it's done, including for an upload still in progress. format: "text" (default), "vtt" (timed captions), or "both". Defaults to the last recording; a recording only on this computer must be uploaded first (upload_recording).

update_videoA

Recordful Pro only (check get_status recorder.account.plan first). Change a video's title and/or who may watch it: "private" (only the user), "workspace" (their team) or "public" (anyone with the link). Show the user exactly what you will change and wait for their yes first. Defaults to the last recording. Only the person who recorded it, or the workspace owner, can.

delete_videoA

Recordful Pro only (check get_status recorder.account.plan first). Permanently delete a video and its files from recordful.app. This can't be undone, and there is no default video: name it. Ask the user to confirm this exact video (title and link) first, then call with confirm: true.

get_video_activityA

Recordful Pro only (check get_status recorder.account.plan first). What viewers did with a video: its view count, likes, and every comment (oldest first, with author and time). Read-only. Defaults to the last recording.

comment_on_videoA

Recordful Pro only (check get_status recorder.account.plan first). Post a comment on a video as the signed-in user. It is public to everyone who can watch the video. Show the user exactly what you will change and wait for their yes first. Pass the comment exactly as the user approved it. Defaults to the last recording.

like_videoA

Recordful Pro only (check get_status recorder.account.plan first). Like a video as the signed-in user (liked: false removes it). Returns the new like count. Defaults to the last recording.

list_foldersA

Recordful Pro only (check get_status recorder.account.plan first). The user's folders on recordful.app: folderId, name, parentId (null at the top level) and whether it's shared. list_videos shows each video's folderId.

create_folderA

Recordful Pro only (check get_status recorder.account.plan first). Create a folder, at the top level or inside another folder. Show the user exactly what you will change and wait for their yes first.

move_videosA

Recordful Pro only (check get_status recorder.account.plan first). Move videos into a folder (folderId null moves them to the top level). Moving into a shared folder shares them, except private videos. Show the user exactly what you will change and wait for their yes first. Videos the user can't manage come back as skipped.

get_storageA

Recordful Pro only (check get_status recorder.account.plan first). How much of the user's Recordful cloud storage is used (bytes, percent) and whether more can be uploaded. Read-only.

Prompts

Interactive templates invoked by user choice

NameDescription
record_featurePlan and record a short product demo of a feature with Recordful: work out the user-facing flow, get the app running with test data, record a clean walkthrough, and open it in the editor.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 29 tools

Disambiguation5/5

The tools are highly differentiated based on their function (e.g., client interaction vs. cloud management) and specific action within that domain (e.g., list_recordings vs. list_videos). Each action targets a clear resource or state.

Naming Consistency5/5

Tool names consistently use snake_case and employ clear functional prefixes like list_, create_, delete_, and get_ to define their purpose. This high consistency ensures predictability.

Tool Count4/5

With29 tools, the set is extensive, yet it feels appropriate given the complex dual nature of the server: handling raw UI interactions alongside comprehensive cloud asset management.

Completeness5/5

The surface provides excellent coverage, including full CRUD operations for cloud assets and a comprehensive suite of browser-level interaction tools like clicking, typing, and recording controls.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues