agent-recorder-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AGENT_RECORDER_DIR | No | Recording root. Default: ~/.agent-recorder | ~/.agent-recorder |
| AGENT_RECORDER_FFMPEG | No | Explicit ffmpeg binary |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| startRecordingA | Start recording the agent computer display before browser or computer-use actions. Call this before the first browser or computer action. The display is selected from this agent process tree. A display belonging to another session is not used. fps defaults to 5. maxDurationSeconds defaults to 7200. When the limit is reached the capture stops and the file is kept so finishRecording can still share it. title, when supplied, names the MP4 using the agent's local start time: YYYY-MM-DD_HHMM_title.mp4 (e.g. 2026-11-04_1408_github-login.mp4). Unsafe filename characters are converted to hyphens. A duplicate filename gets a -2, -3, etc. suffix, never overwriting an earlier recording. If title is omitted, the legacy unique recording ID filename is used. outputDir writes the recording file directly into that directory. Omit it to use the default recordings directory. The directory must already exist and be writable. When the replay will be uploaded with a connected Google Drive tool, pass a directory that tool can read, such as /workspace. If a recording is already active, or is waiting to be shared, that recording is returned and a second recorder is not started. title and outputDir are ignored in that case. |
| recordingStatusA | Return the recording state, duration, display, and file size. Omit recordingId to ask about the active recording. The state is idle when nothing is recording. |
| finishRecordingA | Stop the recording and hand it to a transfer strategy. delivery defaults to ffl. cleanup defaults to after_download. The local file stays until FastFileLink reports that the download finished, then the share stops and the file is deleted. delivery local with cleanup manual returns a file URI and leaves the file in place. delivery google_drive with cleanup after_upload does not call Google. It returns localPath and uploadStatus pending. Upload that file with the connected Google Drive tool, then call confirmUpload with the Drive link. For the recommended Skill workflow, pass package="zip" and a non-empty summaryMarkdown. The MCP first finalizes the named MP4 locally, builds a same-stem ZIP containing the MP4 and summary.md, then shares the ZIP by FFL. The ZIP and original MP4 remain local until a completed download triggers after_download cleanup of both files. Do not put passwords, verification codes or key contents in summaryMarkdown. package="video" (the legacy default) continues sharing the MP4 directly; ZIP packaging currently supports ffl delivery only. Put the returned url in the final answer along with the summary. If this call fails, explain that no new replay was produced and why. |
| abortRecordingA | Stop a recording without sharing it. deletePartial defaults to true and removes the incomplete file. Use this when the task is cancelled or the capture is the wrong display. |
| confirmUploadA | Store the link from the connected Google Drive tool. Call this after finishRecording(delivery="google_drive") once the Drive tool has uploaded localPath. url is that Drive file link. cleanup after_upload then deletes the local recording. |
| cleanupRecordingB | Delete a local recording and stop any share still serving it. Pass the recordingId. This removes the file even if a recipient has not downloaded it yet. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool covers a distinct recording-lifecycle action: status, start, finish/share, abort, delete, and confirm upload. Although finishRecording and abortRecording both stop capture, their sharing behavior is clearly differentiated, and cleanupRecording is clearly post-capture deletion.
The set is consistently camelCase and mostly follows a verb+noun pattern: startRecording, finishRecording, abortRecording, cleanupRecording, confirmUpload. recordingStatus is the main deviation because it is noun-first rather than verb-first.
Six tools are well-scoped for a recording lifecycle and each has a clear role. There is no obvious redundancy or missing lifecycle phase that would require additional tools.
The surface covers starting, inspecting, stopping, sharing, aborting, deleting, and confirming Google Drive uploads. Minor gaps remain around listing existing recordings or checking share/download status independently, but core workflows are covered.