Skip to content

Faylee’s MCP server offers 13 tools. Eleven read, and two write: add_comment and create_recording_link. Each tool works as the person who connected the agent, so it sees only recordings that person can see. See MCP server to connect.

Results are text written for a model to read, with images where a picture helps. When a tool fails, it returns an error message the agent can act on, such as a request id that doesn’t exist or a time it can’t read.

ParameterAccepts
recordingThe Faylee link as pasted: a share, embed or dashboard URL, with or without ?t=, or a recording id
Times (at, from, to)1:22, 1:22.5, 82s, 82000ms or plain milliseconds
searchText to match, ignoring case. Only matching lines are returned.

Every tool writes times as 1:22, so any time an agent reads can go back into another tool.

ToolKindWhat it returns
get_guideReadHow to work through a recording, fix what it shows and report back
open_recordingReadA briefing on the recording and an overview image. Start here.
get_momentReadEverything at one time: the screen, speech, clicks, console, requests, drawings and comments
get_framesReadScreenshots: an overview, or the screen at up to 8 times
get_transcriptReadWhat the person said, with times
get_annotationsReadWhat people drew, edited and commented, with times
get_stepsReadNumbered steps to reproduce
get_consoleReadConsole output and uncaught errors, with stack traces
get_networkReadRequests with ids, status, timing and why failed ones failed, or WebSocket and EventSource traffic
get_requestReadOne request in full, with a cURL command
search_recordingsReadRecordings in the workspace that match
add_commentWriteComments on the recording as the person who connected the agent
create_recording_linkWriteA link anyone can use to record their screen for the workspace

Faylee’s playbook for agents, read on demand like a skill. Without a topic, it returns the main workflow: understand what the person meant, look at the moment, find the code, fix it, report back. Call it once before your first recording.

ParameterRequiredDescription
topicNoOne of workflow, moments, network, console, annotations, redaction, fixing, reporting. Leave it out for the main workflow.

The first call for any recording. It returns a briefing written for someone who has never seen the recording:

  • The title, link, kind, length, date, who made it, and the browser, system and window size.
  • What they were trying to do: what they wrote, and the assistant’s reading of it with expected behaviour, actual behaviour and likely cause, when the assistant has read the recording.
  • The pages they visited, with times.
  • Key moments on one timeline: the moment a ?t= link points at, moments the assistant noted, errors, failed requests with their #id, page changes, what they drew, edits they made to the page, and comments pinned to a time.
  • What they said while recording, when there is a transcript.
  • Comments from the team.
  • Strings worth searching the code for: error messages, source locations, failing API paths, GraphQL operations, page paths and the names of elements they clicked.
  • Which time to look at first.

After the briefing comes an overview image: frames spread across the recording, each labelled with its time, or the screenshot itself.

ParameterRequiredDescription
recordingYesThe link or id
overviewNoInclude the overview image. On by default.

Everything at one time in a recording. The text covers what was on screen and around it: what the person said, what they drew, what they did, console output, requests, edits they made to show how it should look, and comments near that time. Then come two pictures: the screen at that time and the screen 1.5 seconds before. A screenshot gets one picture.

Speech is included from a wider stretch than the rest, five seconds either side, since people talk ahead of and behind what’s on screen.

ParameterRequiredDescription
recordingYesThe link or id
atYesThe time to look at
windowNoSeconds either side to include. 3 by default, at most 30.

Screenshots from a recording. With no times, one overview image of frames spread through it, each labelled with its time. With at, the screen at up to 8 times, such as the times of errors or of something the person said. Instant replays have no video, so Faylee rebuilds the page from its recorded DOM and takes the picture from that.

ParameterRequiredDescription
recordingYesThe link or id
atNoUp to 8 times
sizeNosmall (360 pixels high), medium (720, the default) or large (1080). Use large to read small text.
unmarkedNoFor a screenshot the reporter drew on, the copy without the marks

Everything the person said while recording, one line per segment with its time. It usually says what they expected and where it went wrong. If the recording has no narration, or the narration is still being transcribed, the tool says so.

ParameterRequiredDescription
recordingYesThe link or id
searchNoOnly lines containing this text

What people pointed at in a recording, with times:

  • Drawn on the screen. Arrows, circles, boxes and notes, each with the element it points at and where it sits on the page, in pixels from the top left.
  • Edits the reporter made to show how it should be. Changes to the page’s text or styles, with the element, the value before and the value after.
  • Comments. The team’s comments, with their author and time, and where each pinned comment sits as a share of the screen.

For a screenshot someone drew on, it also says that a copy without the marks exists, which get_frames returns with unmarked.

ParameterRequiredDescription
recordingYesThe link or id

What the person did, as numbered steps to reproduce, each with its time: clicks with the element’s text and selector, typing and navigation.

ParameterRequiredDescription
recordingYesThe link or id

The page’s console output and uncaught errors, each with its time, level and source. Stack traces point at the original source, with the code around the failing line, when the page’s source maps are public.

ParameterRequiredDescription
recordingYesThe link or id
errors_onlyNoOnly errors
searchNoOnly lines containing this text
fromNoOnly lines at or after this time
toNoOnly lines at or before this time

The page’s requests, each starting with a #id to pass to get_request, then the method, status, duration, URL and GraphQL operation. A failed request has a second line that says why it failed, such as a CORS block or GraphQL errors.

With sockets, it lists WebSocket and EventSource connections instead: when each opened and closed, its close code, whether it failed, and its messages with times and direction.

ParameterRequiredDescription
recordingYesThe link or id
failed_onlyNoOnly failed requests
searchNoOnly requests whose URL or GraphQL operation contains this text. With sockets, only messages that contain it.
fromNoOnly requests at or after this time
toNoOnly requests at or before this time
socketsNoList WebSocket and EventSource connections instead of requests

One request in full: the method and URL, when it ran, its status and duration, why it failed, the request and response headers and bodies, and a cURL command that replays it. Long bodies are shortened.

ParameterRequiredDescription
recordingYesThe link or id
idYesThe request’s #id from get_network, get_moment or open_recording, with or without the #

Recordings in the workspace, newest first. Each line has the title, the kind, the length, the date, the number of problems when there are any, and the link.

ParameterRequiredDescription
queryNoText in the title, description, page or transcript
kindNovideo, replay or screenshot
problems_onlyNoOnly recordings with errors or failed requests
sinceNoOnly recordings made after this ISO 8601 time
limitNoHow many to return. 20 by default, at most 50. When more match, the result says so.

Comments on a recording as the person who connected the agent, optionally at a time, so the comment sits on the timeline. Use it to report back: what was wrong, why, and the fix or pull request, in words the reporter understands. The reporter and the team are notified as for any comment.

ParameterRequiredDescription
recordingYesThe link or id
bodyYesMarkdown, at most 5,000 characters
atNoThe time the comment points at

The result confirms the comment and gives the recording’s link.

Creates a recording link: a page where anyone can record their screen and send it to the workspace, with no account or extension. An agent uses it to ask for a clearer repro, such as the same steps with the console open or in another browser. The recording arrives under the person who connected the agent. See Recording links.

ParameterRequiredDescription
titleYesWhat to record, shown to the person
messageNoInstructions for the person
external_refNoThe ticket or conversation this is for. Zendesk and Intercom tickets get a note when the recording arrives. See Zendesk and Intercom.
expires_in_daysNoHow many days the link works

The result is the link to send.

The server also offers one prompt, investigate_recording, which runs the whole workflow on a link. It takes link and optional notes. See MCP server.