Skip to main content
Glama
edpreble

riverside-mcp-server

by edpreble

Riverside MCP Server

A local stdio MCP server for the Riverside Business API v3. It exposes every endpoint currently listed in Riverside's documentation as an MCP tool and includes a hand-authored OpenAPI 3.1 specification.

Works with Claude Desktop, Cursor, Codex, and other MCP clients that can launch a local stdio process.

Requirements

  • Node.js 20 or newer

  • A Riverside Business API key (the API is available only to select Riverside Business accounts)

Related MCP server: vcon-mcp

Install

git clone YOUR_REPOSITORY_URL
cd riverside-mcp-server
npm install
npm run build

Do not place the API key in the repository. Supply it in your MCP client configuration.

Client configuration

Use an absolute path to dist/index.js.

{
  "mcpServers": {
    "riverside": {
      "command": "node",
      "args": ["/absolute/path/to/riverside-mcp-server/dist/index.js"],
      "env": {
        "RIVERSIDE_API_KEY": "YOUR_API_KEY",
        "RIVERSIDE_DOWNLOAD_DIR": "/absolute/path/to/downloads"
      }
    }
  }
}

This standard configuration shape is accepted directly by Claude Desktop and many other local clients. Cursor and Codex may store the same server definition in client-specific configuration files or expose an “Add MCP server” command.

Available tools

Tool

Purpose

list_workspace

List productions, studios, and projects

list_recordings / get_recording

Find and inspect recordings

delete_recording

Soft-delete a recording; requires confirm: true

list_exports / get_export

Find and inspect exports

delete_export

Permanently delete an export; requires confirm: true

download_file

Download a recording track file

download_transcription

Download SRT or TXT transcription

download_export

Download exported audio/video

create_webinar_registrant

Register a webinar participant

get_webinar_registrants

Search and paginate webinar registrants

list_edits

List edits/clips

create_timeline_export

Queue Premiere, Final Cut, or Pro Tools timeline export

get_timeline_export

Poll timeline export status

download_timeline

Download a completed timeline ZIP

Downloads are written to RIVERSIDE_DOWNLOAD_DIR, or ./downloads if it is omitted. Riverside download redirects are followed automatically. Errors are returned to the MCP client as structured tool errors without exposing the API key.

OpenAPI

openapi.yaml describes all 16 documented v3 operations. It is community-authored from Riverside's public documentation and is not an official Riverside artifact.

Development and validation

npm test
npm run inspect

The server communicates only over stdout using MCP stdio. Diagnostics go to stderr so they do not corrupt protocol messages.

Documentation source

License

MIT

Available Tools

16 tools
create_timeline_exportC

Queue an XML or AAF editing-timeline export for an edit.

ParametersJSON Schema
NameRequiredDescriptionDefault
clipIdYes
targetYes
include_comments_markers_chaptersYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It does not mention that the operation is asynchronous (queue), what side effects occur, or any authentication or rate limit requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a single sentence, but it lacks critical details. It is not front-loaded with the most important information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three required parameters, no output schema, and no annotations, the description is insufficient. It does not explain the response format, how to check status, or what the export includes beyond format hints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description adds no meaning to the three parameters (clipId, target, include_comments_markers_chapters). The formats 'XML or AAF' are not explicitly tied to the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'queue', the resource 'export', and specifies the formats 'XML or AAF' and target 'editing-timeline'. It effectively distinguishes from sibling tools like download_export or get_timeline_export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like download_export or delete_export. No conditions, prerequisites, or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_webinar_registrantC

Register a participant for a Riverside webinar event.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
eventIdYes
last_nameYes
first_nameYes
custom_fieldsNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It states a write operation ('register') but omits side effects (e.g., email sending, confirmation), failure modes, or required authentication. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single 8-word sentence, which is concise but at the cost of useful detail. It is front-loaded but under-specified for a tool with multiple parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with 5 parameters (including a nested object) and no output schema, the description is insufficient. It does not explain input requirements, return value, or behavior, leaving the agent with gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% parameter descriptions, and the description adds no meaning to the 5 parameters. Required fields like eventId, email, first_name, last_name are not explained, and the custom_fields object is undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'register' and identifies the resource as 'a participant for a Riverside webinar event', making the action clear. It distinguishes from sibling tools like get_webinar_registrants which lists registrants.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives (e.g., creating vs listing registrants) or prerequisites (e.g., event active, duplicate handling). The description provides no context for appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_exportA
DestructiveIdempotent

Permanently delete a Riverside export. This cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true to confirm permanent deletion
exportIdYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds value beyond the destructiveHint annotation by explicitly stating irreversibility ('cannot be undone'). It does not contradict annotations. However, it could mention the confirm parameter's role.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence. It is efficient but could be slightly improved by briefly explaining the confirm parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple deletion tool, the description and annotations adequately cover purpose, effects, and safety (destructiveHint + irreversibility). Missing the role of confirm parameter reduces completeness slightly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 50% schema description coverage, the description adds no additional meaning for parameters. The confirm parameter is documented in schema but not highlighted in description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (permanently delete) and the resource (Riverside export), with no ambiguity. It distinguishes from sibling tools like download_export or get_export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly conveys when to use (to delete an export) but does not explicitly state when not to use (e.g., if unsure, use get_export first) or mention alternatives. The 'cannot be undone' warning helps, but lacks explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_recordingA
DestructiveIdempotent

Soft-delete a recording and its associated tracks and files. This is destructive.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true to confirm deletion
recordingIdYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as destructive and idempotent. The description adds valuable context: it is a 'soft-delete' and cascades to associated tracks and files, behavior not captured by annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no redundancy, front-loaded with the core behavior and a clear warning. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and annotations covering destructive/idempotent traits, the description adequately specifies the scope (soft-delete, cascading). Missing details about reversibility or permissions, but sufficient for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (only 'confirm' parameter described). The tool description does not elaborate on parameters, leaving 'recordingId' unexplained. Baseline is 3 due to borderline coverage, and no added value from description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('soft-delete') and the specific resource ('a recording and its associated tracks and files'), distinguishing it from siblings like 'delete_export'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes the destructive nature but does not explicitly guide when to use this tool versus alternatives, such as when a recording should be deleted versus exported or listed. The confirm parameter implies cautious use, but no direct guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

download_exportC

Download an exported video or audio file.

ParametersJSON Schema
NameRequiredDescriptionDefault
exportIdYes
fileNameNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits, but it only states the basic action. No information about side effects, permissions, or what happens on failure is given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no fluff. Every word is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and two parameters, the description is too minimal. It lacks crucial details like whether the download is a file stream, how to handle responses, or link generation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description adds no meaning to the two parameters ('exportId', 'fileName'). It fails to explain their purpose or format, relying entirely on the schema's minimal type info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('download') and resource ('exported video or audio file'), providing a direct purpose. However, it does not differentiate from siblings like 'download_file' or 'download_recording', which could cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context for usage. The description offers no help in deciding between similar tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

download_fileC

Download a Riverside track file to the configured local download directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileIdYes
fileNameNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits (e.g., overwrite behavior, error handling, authentication). It only states 'download' without any such details, leaving significant gaps for a tool that likely performs a side effect (file download).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (12 words) but at the expense of completeness. It lacks essential details, so while it is brief, it sacrifices clarity and usefulness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and simple parameters, the description should explain what a 'track file' is and how the two parameters interact. It fails to do so, leaving the tool's behavior underspecified for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, yet the description adds no meaning for the two parameters (fileId, fileName). For a tool with two parameters, this is a critical omission; the agent cannot infer how to use fileName or what fileId represents beyond being required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Download') and the resource ('Riverside track file') and specifies the destination ('configured local download directory'). However, it does not distinguish this tool from sibling tools like 'download_export' or 'download_timeline', leaving ambiguity about when to use each.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings (e.g., download_export, download_timeline). There are no use-case conditions, prerequisites, or exclusions, making it difficult for an agent to select it correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

download_timelineC

Download a completed timeline export ZIP.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNameNo
timelineIdYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states the action without indicating whether it is a read-only operation, requires authentication, or has side effects. The agent cannot assess safety or consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise at one sentence, which is efficient but omits crucial details. It is front-loaded but sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and sparse description, the tool definition lacks essential context about return values, success conditions, or error states. The agent cannot fully understand what to expect after invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, yet the description adds no information about the two parameters (timelineId required, fileName optional). The agent must rely solely on the schema, which also lacks descriptions, making correct invocation uncertain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'download' and the resource 'completed timeline export ZIP', which helps distinguish it from siblings like 'create_timeline_export' and 'download_export'. However, it lacks specificity on what constitutes a 'completed timeline export', so a perfect score is not warranted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., download_export, download_file). The description implies it's for completed timeline exports but does not mention prerequisites or exclusions, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

download_transcriptionC

Download a recording transcription as SRT or TXT.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
fileNameNo
recordingIdYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior but fails to mention permissions, error conditions (e.g., transcription not available), or whether the download is direct file or URL. The formats are listed but no other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, efficient with no redundancy. However, it could include more detail without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no description of return format (e.g., file content, download link). Missing differentiation from sibling download tools and lacks context about what the transcription includes (e.g., timestamps).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description should clarify parameters. It does not explain the file name's purpose (e.g., output filename) or the recording ID's source. Only the type enum is self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (download), resource (recording transcription), and output formats (SRT or TXT). It distinguishes from sibling tools like download_export, download_file, and download_timeline by specifying the transcription and formats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like download_export or download_timeline. No context about prerequisites, such as whether a transcription must already exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_exportB
Read-onlyIdempotent

Get details for a Riverside export.

ParametersJSON Schema
NameRequiredDescriptionDefault
exportIdYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint as true, so the description does not need to disclose safety or idempotency. However, it adds no further behavioral context (e.g., what 'details' includes).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no unnecessary words. Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple read tool with annotations; but lacks output description or error handling context, and no explanation of what 'details' entails.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description should compensate, but it only mentions 'a Riverside export' without explaining the exportId parameter's format, source, or how to obtain it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get details') and resource ('a Riverside export'), clearly distinguishing from sibling tools like create_timeline_export, delete_export, and list_exports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get_timeline_export or list_exports. The description does not specify context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_recordingA
Read-onlyIdempotent

Get a recording including tracks, files, and transcription details.

ParametersJSON Schema
NameRequiredDescriptionDefault
recordingIdYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly and idempotent behavior. The description adds value by specifying the included sub-resources (tracks, files, transcription details), giving the agent a clearer picture of the response without needing an output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded and concise. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-ID tool with one parameter and no output schema, the description adequately specifies what is returned. However, it could mention if there are any limitations or if the response is paginated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single parameter recordingId. The description does not elaborate on the parameter's format or expected values, leaving the agent to infer from the name alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'Get' and resource 'recording', and specifies what is included (tracks, files, transcription details). This distinguishes it from sibling tools like delete_recording or list_recordings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like list_recordings or download_recording. The description does not mention context or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_timeline_exportA
Read-onlyIdempotent

Get timeline export status. Poll until done or failed.

ParametersJSON Schema
NameRequiredDescriptionDefault
timelineIdYes

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and idempotentHint, so safety is clear. The description adds the polling behavior, which is valuable context beyond annotations. However, it does not disclose details like rate limits or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with only two short sentences, each earning its place. The purpose is front-loaded, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and lack of output schema, the description covers the basic action but omits expected response fields (e.g., what 'done' or 'failed' looks like). This information is critical for a polling tool but is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description provides no additional meaning for the single required parameter 'timelineId'. The agent must rely on the parameter name alone, which is insufficient for unambiguous usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get timeline export status') and indicates polling behavior ('Poll until done or failed'). However, it does not explicitly differentiate from similar sibling tools like 'get_export', though the 'timeline' prefix provides some distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description hints at usage (polling) but does not specify when to use versus alternatives (e.g., create_timeline_export to initiate the export). No exclusions or context for when not to use are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_webinar_registrantsB
Read-onlyIdempotent

List webinar registrants with cursor pagination, filtering, and sorting.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNo
limitNo
orderNo
cursorNo
searchNo
eventIdYes
approvedNo
participatedNo
updated_afterNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint. The description adds value by mentioning cursor pagination, filtering, and sorting features, but does not disclose behavior like rate limits, response format, or edge cases. With annotation coverage, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the main action, and avoids redundancy. However, it could briefly explain key parameters without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters, no output schema, and minimal annotations, the description is insufficient for an agent to use the tool correctly. It omits details on filtering fields, sort options, pagination mechanics, and return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only vaguely mentions 'cursor pagination, filtering, sorting' without explaining individual parameters (e.g., sort enum values, limit range, cursor usage). This provides minimal additional meaning over the schema structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'list', the resource 'webinar registrants', and key features (cursor pagination, filtering, sorting). It distinguishes from sibling tools like create_webinar_registrant (creation) and list_recordings (different resource).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied (listing registrants), but no explicit guidance on when to use vs alternatives, no exclusions, and no mention of prerequisites or context. The sibling list_recordings suggests different resources, but the description doesn't clarify.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_editsC
Read-onlyIdempotent

List Riverside edits (clips) with optional filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
end_dateNo
studioIdNo
projectIdNo
start_dateNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint. The description adds the context of optional filters but does not detail pagination, ordering, limits, or other behavioral traits beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but lacks structure or detail. It is not verbose, but it does not maximize the use of space to convey information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 optional parameters and no output schema, the description is minimal. It does not explain how to use filters effectively, pagination behavior, or what fields the response contains, leaving important gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%; all 5 parameters lack descriptions. The description only says 'optional filters' without explaining individual parameters (e.g., page, date range, studioId). It fails to compensate for the missing parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'List Riverside edits (clips) with optional filters,' clearly identifying the resource and action. It distinguishes from sibling tools like list_exports and list_recordings by specifying 'edits'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. There is no mention of when not to use it or suggestions for other tools (e.g., for non-filtered lists or specific edit types).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_exportsC
Read-onlyIdempotent

List exported Riverside media with optional filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
end_dateNo
studioIdNo
projectIdNo
start_dateNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and idempotentHint. The description adds only 'with optional filters' but doesn't disclose pagination behavior, default sorting, or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (one sentence) but lacks substance. It is front-loaded appropriately but doesn't add enough value to warrant the conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a listing tool with 5 optional parameters and no output schema, the description is insufficient. It does not mention available filters, outcomes, or usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It merely says 'optional filters' without explaining any parameter (page, dates, IDs), providing no meaningful addition over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and the resource 'exported Riverside media', and mentions optional filters. It distinguishes from siblings like get_export (single) and delete_export. However, it lacks specificity about what constitutes 'media'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like list_recordings or get_export. No exclusions or conditions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_recordingsC
Read-onlyIdempotent

List Riverside recordings with optional workspace, date, and page filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
end_dateNo
studioIdNo
projectIdNo
start_dateNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and idempotentHint, so the safety profile is clear. The description adds no behavioral details beyond that, such as pagination behavior or data freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is very concise and front-loaded, but lacks structure such as bullet points or explicit ordering of information. Still, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and description does not explain return format, pagination behavior, or any limitations. For a tool with 5 optional parameters and no output schema, more completeness is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must compensate. It mentions optional workspace, date, and page filters, which loosely map to fields, but does not explain specific formats (e.g., date format) or how filters combine.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists recordings and mentions filters (workspace, date, page). However, it does not differentiate from sibling tools like list_exports or get_recording.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., list_exports, get_recording). The description does not provide context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_workspaceA
Read-onlyIdempotent

List productions, studios, and projects in the Riverside workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, indicating safe and repeatable execution. The description adds no additional behavioral context, such as return structure, pagination, or limitations. For a tool with rich annotations, the description should still provide some behavioral detail beyond safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence of 8 words, front-loaded with the verb 'List'. Every word is essential; no redundancy or waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with no parameters and no output schema, the description adequately states what is listed. However, it lacks details about return format (e.g., array of objects) or any scope limitations, which would help an agent understand the full behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so schema coverage is effectively 100%. Per calibration, baseline is 4 when no parameters exist. The description does not need to add parameter meaning, and it doesn't.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and explicitly names three resource types ('productions', 'studios', 'projects') within the workspace. It clearly distinguishes from sibling tools like list_edits and list_exports that list different entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., list_edits, list_recordings). There is no mention of prerequisites, filtering, or context that would help an agent decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 16 tool updatesv1.0.0
    • First observedcreate_timeline_export
    • First observedcreate_webinar_registrant
    • First observeddelete_export
    • First observeddelete_recording
    • First observeddownload_export
    • First observeddownload_file
    • First observeddownload_timeline
    • First observeddownload_transcription
    • First observedget_export
    • First observedget_recording
    • First observedget_timeline_export
    • First observedget_webinar_registrants
    • First observedlist_edits
    • First observedlist_exports
    • First observedlist_recordings
    • First observedlist_workspace

TDQS

B3.4/5.0
Disambiguation5/5

Each tool targets a distinct resource or action. Download tools are differentiated by target (export, track file, timeline zip, transcription). CRUD operations for recordings, exports, timelines, and webinars are clearly separated.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_timeline_export, delete_recording, list_recordings). There are no mixed conventions or ambiguous verbs.

Tool Count5/5

With 16 tools, the server covers a broad but well-scoped set of operations for managing Riverside media, exports, timelines, webinars, and workspace. Each tool serves a clear purpose and the count feels appropriate for the domain.

Completeness4/5

The tool surface covers core workflows: CRUD for recordings, exports, and timelines, plus webinar registration and workspace listing. Minor gaps exist (e.g., no update for recordings/exports, no create for edits), but they don't hinder primary use cases.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/edpreble/riverside-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server