apivideo
Server Details
Manage videos and live streams, inspect captions, players and webhooks, and read play analytics.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
Tool Definition Quality
Average 4.1/5 across 15 of 15 tools scored.
Each tool targets a distinct resource-action combination: videos, live streams, captions, chapters, players, webhooks, and analytics are clearly separated. Even closely related tools like get_video, get_video_status, and get_video_analytics are differentiated by their specific purpose.
All tools follow a consistent apivideo_<verb>_<resource> snake_case pattern. Create/get/list/delete/update are used predictably, with analytics and status as clear modifiers.
15 tools is within the well-scoped range and each tool covers a distinct capability of the api.video platform. The count feels appropriate for a video management API covering videos, live streams, analytics, and related resources.
Core video lifecycle is well covered: create, get, update, delete, list, status, and analytics. However, live streams lack update/delete operations, and captions, chapters, players, and webhooks are list-only with no corresponding create/update/delete tools, creating notable workflow gaps.
Available Tools
15 toolsapivideo_create_live_streamCreate live stream (write)ADestructiveInspect
WRITE. Create a new live stream, returning a stream key and RTMP ingest URL to broadcast to. POST /live-streams.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Live stream name. Required. | |
| public | No | Whether the stream is public (default true) or private. | |
| playerId | No | Id of a custom player theme to attach. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the destructiveHint annotation by declaring it a WRITE operation and specifying that it returns a stream key and RTMP ingest URL. It does not contradict the annotations, though it could disclose more about side effects or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that includes the action, resource, endpoint, and key return values. Every part is useful and there is no padding or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity creation tool with three documented parameters, the description plus schema is nearly sufficient. It names the critical returned artifacts (stream key and RTMP URL) even though there is no output schema, but it does not describe full response details or error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters. The description does not add additional meaning to the parameters themselves, but it does indicate the real-world output that follows from successful invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Create a new live stream') on a specific resource, making it distinct from siblings like apivideo_create_video or apivideo_get_live_stream. It also names the endpoint and the key outputs (stream key, RTMP ingest URL), fully clarifying the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool is for creating a live stream, but it does not explicitly say when to choose it over alternatives such as apivideo_create_video or apivideo_list_live_streams. It provides the endpoint and result, but no exclusion or comparison guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_create_videoCreate video (write)ADestructiveInspect
WRITE. Create a new video object. If source (a public video URL) is provided, api.video ingests the video from that URL — recommended for hosted use, since raw file bytes cannot stream through MCP. POST /videos.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags for the video. | |
| title | Yes | Video title. Required. | |
| public | No | Whether the video is public (default true) or private. | |
| source | No | Public URL of a video file to ingest from. Recommended over uploading bytes. | |
| metadata | No | Key/value metadata pairs (sent as [{key,value}]). | |
| playerId | No | Id of a custom player theme to attach. | |
| panoramic | No | Whether the video is a 360/panoramic video. | |
| mp4Support | No | Whether to also generate a downloadable MP4. | |
| description | No | Video description. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal a mutating operation via destructiveHint=true, and the description reinforces this with 'WRITE.' It adds meaningful behavioral context: when `source` is provided, api.video ingests from that URL, and raw file bytes cannot stream through MCP. This goes beyond the annotation without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. The core purpose is front-loaded in 'WRITE. Create a new video object,' followed by the essential source guidance and the endpoint. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a creation tool but leaves gaps: it does not explain what happens when `source` is omitted, and with no output schema it does not indicate what response the agent should expect. Given 9 parameters and complexity around ingestion, slightly more detail on behavior and return value would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds extra semantics for `source`, explaining it as a public URL, recommending it for hosted use, and clarifying why raw bytes cannot be used. Other parameters are left to the schema, which fully documents them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Create a new video object.' It clearly differentiates from siblings like apivideo_create_live_stream and apivideo_update_video by naming the object type and including the endpoint 'POST /videos.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context for the `source` parameter, recommending it for hosted use, but it does not explicitly say when to choose this tool over alternatives or when not to use it. Usage is implied by 'Create a new video object,' but no exclusions or sibling routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_delete_videoDelete video (write)ADestructiveInspect
WRITE. Permanently DELETE a video and all its assets. This cannot be undone. DELETE /videos/{videoId}.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | The video id to permanently delete. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description explicitly warns 'This cannot be undone' and specifies that all assets are deleted, not just the video record. This gives the agent critical behavioral context for a high-impact call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short, information-dense phrases: the verb, the endpoint, the permanence warning, and the scope of deletion. No filler words or redundant restatement of the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter destructive DELETE operation, the description supplies everything needed to call it correctly: what it acts on, that it is permanent, and the HTTP endpoint. The absence of an output schema is not a real gap for this operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the single required parameter, videoId, with the description 'The video id to permanently delete.' The tool description adds little semantic detail beyond echoing the endpoint placeholder, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Permanently DELETE a video and all its assets.' It also provides the HTTP endpoint 'DELETE /videos/{videoId}', making the operation unmistakable. It clearly stands apart from sibling tools like update_video or get_video as the only delete operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes the tool's context: it is a write operation, it is destructive, and it permanently removes the entire video. It does not explicitly list alternatives or state 'use this instead of X', but the absence of any other delete tool in the sibling list makes the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_get_live_streamGet live streamARead-onlyInspect
Get a single live stream object by id (stream key, RTMP ingest, player URL). Read-only. GET /live-streams/{liveStreamId}.
| Name | Required | Description | Default |
|---|---|---|---|
| liveStreamId | Yes | The live stream id, e.g. li400mYKSgQ6xs7taUeSaEup. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; the description corroborates 'Read-only' and adds the exact HTTP verb/path (GET /live-streams/{liveStreamId}) and a hint of response contents. It does not cover 404/error or auth behavior, but with the readOnly annotation this is reasonable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence plus endpoint, with each clause earning its place. 'Read-only' and the endpoint are short, front-loaded, and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-ID GET with a readOnly annotation, full schema coverage, and no output schema, the description provides enough: identification by id, operation type, endpoint, and key response fields. Error cases are not documented but are low-stakes for a read-only fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already includes a name and example ('li400mYKSgQ6xs7taUeSaEup'). The description adds no additional parameter-level detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get'), a single resource ('single live stream object'), an identifier ('by id'), and even lists contained fields (stream key, RTMP ingest, player URL). The endpoint line further disambiguates from list/analytics siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly indicates this is for fetching one live stream when the id is known ('by id'), which contrasts usefully with list and analytics siblings. It does not explicitly say 'use list_live_streams when you don't have an id' or name alternatives, so some inference is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_get_live_stream_analyticsLive stream analytics (plays)ARead-onlyInspect
Aggregated play analytics for live streams over a date range, grouped by a dimension. Read-only. GET /analytics/live-streams/plays.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date yyyy-mm-dd (inclusive). | |
| from | Yes | Start date yyyy-mm-dd (inclusive). Required. | |
| filter | No | Filter expression, e.g. "liveStreamId:li123". | |
| pageSize | No | Results per page (max 100). Default 25. | |
| dimension | Yes | Dimension to group plays by. | |
| currentPage | No | Page number (1-based). Default 1. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, so the description adds useful behavioral context: the endpoint path, the aggregation nature, and the grouping/dimension behavior. It does not mention any side effects or rate limits, but for a read-only analytics query this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose. The 'Read-only.' sentence repeats the annotation, which is slightly redundant, but the endpoint suffix adds useful specificity without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderately complex read-only analytics tool with full schema coverage, the description is complete enough: it states the resource, grouping, date range, and endpoint. The absence of an output schema is mitigated by the clear 'plays' analytics scope, though a brief note on response format would have been ideal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces the meaning of date range and dimension, but does not add anything beyond what the schema already documents for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pairing: 'aggregated play analytics for live streams' with explicit grouping by dimension and date range. This clearly distinguishes it from sibling tools like apivideo_get_video_analytics, which targets on-demand video analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use: it is for live stream play analytics over a date range, grouped by a dimension. It does not explicitly name alternatives or exclusion criteria, but the scope is unambiguous enough for an agent to select it appropriately among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_get_videoGet videoARead-onlyInspect
Get a single video object by id (title, assets, player URL, status flags). Read-only. GET /videos/{videoId}.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | The video id, e.g. vi4k0jvEUuaTdRAEjQ4Jfrgz. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true and the description echoes 'Read-only,' but it also adds the REST endpoint and the returned object fields (title, assets, player URL, status flags). This gives useful expectations beyond the annotation, though it omits error/404 behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core verb and resource. The endpoint and field list add value without filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only GET, the description is nearly complete: it identifies the input ID, the endpoint, and the fields returned, while the readOnlyHint covers safety. It does not document errors or auth, but the operation is simple enough that this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the videoId parameter already has a clear example and description. The description adds no new parameter-level meaning beyond saying 'by id,' so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Get a single video object by id') and lists the returned fields, which clearly separates it from list_videos and the status/analytics siblings. The by-id scope is explicit enough that an agent can select this tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to use this tool versus apivideo_list_videos, apivideo_get_video_status, or apivideo_get_video_analytics. It only notes that the operation is read-only, which conveys safety but not selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_get_video_analyticsVideo analytics (plays)ARead-onlyInspect
Aggregated play analytics for videos over a date range, grouped by a dimension. Read-only. GET /analytics/videos/plays.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date yyyy-mm-dd (inclusive). | |
| from | Yes | Start date yyyy-mm-dd (inclusive). Required. | |
| filter | No | Filter expression, e.g. "videoId:vi123". | |
| pageSize | No | Results per page (max 100). Default 25. | |
| dimension | Yes | Dimension to group plays by. | |
| currentPage | No | Page number (1-based). Default 1. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds that results are aggregated, date-range constrained, and grouped by a dimension. It also identifies the HTTP GET method via the endpoint path. It does not mention response shape or pagination, but the aggregation semantics are meaningful additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core operation before stating the method. The 'Read-only' clause is somewhat redundant with the readOnlyHint annotation but does not meaningfully bloat the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter GET endpoint with no output schema, the description conveys the essential aggregation concept needed to understand what the tool returns. The remaining invocation details are well covered by the fully documented schema; minor gaps such as response shape and pagination behavior remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all six parameters with formats, defaults, constraints, and the dimension enum. The description's date-range and grouped-by language largely restates the schema's from/to and dimension descriptions, adding no new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation: aggregated play analytics for videos, with a date range and grouping dimension. The mention of 'videos' and the GET /analytics/videos/plays endpoint clearly distinguishes it from the live-stream analytics sibling. There is no ambiguity about the target resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates this tool is for video play analytics over a date range, which provides enough context to route an agent correctly. It does not explicitly name alternatives or exclusions, but the video-vs-live-stream distinction is obvious from the scope and endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_get_video_statusGet video statusARead-onlyInspect
Get encoding and ingest status for a video (upload progress, encoding qualities, playability). Read-only. GET /videos/{videoId}/status.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | The video id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description repeats the read-only behavior already declared by readOnlyHint=true, which adds no new information. It does add some behavioral context by listing what status categories are included (upload progress, encoding qualities, playability), but it does not disclose error cases, response shape, or any side effects beyond what annotations already cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core purpose, with concrete examples of status contents. The 'Read-only.' clause is redundant given the annotation, and the endpoint string is slightly redundant with the tool's REST style, but the overall size is appropriate and no word is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only status endpoint, the description provides enough context to understand what data is returned (upload progress, encoding qualities, playability). Since there is no output schema, the description partially covers return semantics, though it could mention specific response fields or error conditions to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 100%, the parameter videoId is already documented as 'The video id.' The description does not add further semantic detail about the parameter, such as expected format, requiredness context, or relation to other parameters. It meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get encoding and ingest status for a video') and distinguishes it from sibling tools like apivideo_get_video or apivideo_get_video_analytics by naming the exact domain (status, upload progress, encoding qualities, playability). The REST endpoint is also included, reinforcing what resource is being addressed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you need encoding/ingest status) but does not explicitly state when not to use it or name alternatives. With many sibling video-related tools, such explicit routing would improve clarity. Currently, usage context is only implied by the scope of the returned data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_list_captionsList captionsARead-onlyInspect
List caption tracks for a video (language, source URL, default flag). Read-only. GET /videos/{videoId}/captions.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | The video id. | |
| pageSize | No | Results per page (max 100). Default 25. | |
| currentPage | No | Page number (1-based). Default 1. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotation readOnlyHint=true already marks the operation as read-only; the description reinforces this with 'Read-only' and specifies the GET endpoint. It adds the returned fields (language, source URL, default flag), which is useful context. It does not go into edge cases like empty results, but for a non-destructive GET this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is one short sentence plus the endpoint and 'Read-only'. Every fragment earns its place and the key action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation with three well-documented parameters and no output schema, the description tells the agent what is returned (language, source URL, default flag), the endpoint, and the read-only nature. Missing details like pagination behavior are already in the schema. No critical information for selecting and invoking the tool is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; videoId, pageSize, and currentPage each have descriptions. The tool description adds only the semantic context of what a caption track contains, which is helpful but does not change the parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'List caption tracks for a video', naming a specific verb, resource, and scope, and adds the fields returned in parentheses. This distinguishes it cleanly from sibling list tools such as list_chapters or list_videos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving caption tracks for a given video, but it does not explicitly state when to prefer it over alternatives or when not to use it. No exclusions or references to sibling tools are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_list_chaptersList chaptersARead-onlyInspect
List chapter tracks for a video. Read-only. GET /videos/{videoId}/chapters.
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes | The video id. | |
| pageSize | No | Results per page (max 100). Default 25. | |
| currentPage | No | Page number (1-based). Default 1. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description repeats that. It adds the HTTP endpoint, which provides some operational context, but does not describe pagination behavior, response format, or edge cases. With annotations covering the safety profile, the added value is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. It front-loads the core action and then adds the HTTP method and endpoint, which is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list operation with fully documented parameters, the description is nearly complete. The only minor gap is that it does not describe the response shape or pagination metadata, but the schema covers paging inputs and the operation is straightforward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents videoId, pageSize, and currentPage. The description adds no parameter-level detail beyond what the schema already provides, meriting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List chapter tracks for a video.' This distinguishes it from sibling list tools like list_captions and list_videos. The endpoint GET /videos/{videoId}/chapters further pins down the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context (chapters scoped to a video) but does not explicitly say when to use this tool over alternatives such as list_captions. Usage is implied by the resource name rather than stated with exclusions or alternative conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_list_live_streamsList live streamsARead-onlyInspect
List live streams in the account, with optional filters (streamKey, name) and sorting. Read-only. GET /live-streams.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Filter by live stream name (substring). | |
| sortBy | No | Field to sort by. | |
| pageSize | No | Results per page (max 100). Default 25. | |
| sortOrder | No | Sort direction. | |
| streamKey | No | Filter by exact stream key. | |
| currentPage | No | Page number (1-based). Default 1. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint: true, and the description's 'Read-only' restates that. It adds the endpoint and account scope, but no further behavioral details such as pagination behavior, rate limits, or response shape. There is no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loads the core operation, and includes the endpoint in a single short sentence. Every phrase earns its place with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Optional params are fully documented in the schema, the safety profile is covered by the readOnlyHint annotation, and the description explains scope, filters, sorting, and endpoint. A minor gap is the absence of any indication of what a successful response contains, though no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents all six parameters. The description merely summarizes the filter and sorting categories without adding new parameter-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List'), a clear resource ('live streams'), and an account scope, while also naming the optional filters and sorting. It is readily distinguishable from the sibling get_live_stream (plural resource vs singular) and create_live_stream.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for collection-style listing in the account and is read-only, but it gives no explicit guidance about when to use this tool over get_live_stream or how to choose between listing and fetching a specific stream. The context is clear enough only through inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_list_playersList playersARead-onlyInspect
List customized player themes in the account. Read-only. GET /players.
| Name | Required | Description | Default |
|---|---|---|---|
| sortBy | No | Field to sort by. | |
| pageSize | No | Results per page (max 100). Default 25. | |
| sortOrder | No | Sort direction. | |
| currentPage | No | Page number (1-based). Default 1. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, and the description adds 'Read-only' and 'GET /players' as confirmation. However, it does not add deeper behavioral context such as pagination behavior or account-scope details beyond the schema fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: resource, scope, safety, and HTTP method are conveyed in one short sentence with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list operation with fully documented optional parameters and no required inputs, the description is complete. The return value is inferable from the resource name, and no output schema is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented. The description adds no extra meaning to sortBy, pageSize, sortOrder, or currentPage, matching the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('customized player themes'), scoped to the account. This clearly distinguishes it from sibling list tools like apivideo_list_videos or apivideo_list_live_streams.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the use case obvious: call this when the agent needs the account's custom player themes. There is no competing sibling for listing players, so no exclusion is needed, but explicit 'when to use' wording is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_list_videosList videosARead-onlyInspect
List videos in the account, with optional filters (title, tags, metadata, description, liveStreamId) and sorting. Read-only. GET /videos.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by tags (all must match). Sent as tags[]. | |
| title | No | Filter by video title (substring). | |
| sortBy | No | Field to sort by. | |
| metadata | No | Filter by metadata key/value pairs. Sent as metadata[key]=value. | |
| pageSize | No | Results per page (max 100). Default 25. | |
| sortOrder | No | Sort direction. | |
| currentPage | No | Page number (1-based). Default 1. | |
| description | No | Filter by description (substring). | |
| liveStreamId | No | Return only videos recorded from this live stream id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the HTTP method (GET /videos) and the account scope, which is useful context. However, it does not disclose pagination behavior, response envelope, or other runtime traits, matching the same limitations seen in the calibration example.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler. The action and resource are front-loaded, and the read-only note plus endpoint are efficient, valuable additions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list operation, the description combined with the fully documented schema gives an agent the endpoint, filters, sorting, and pagination controls needed to invoke the tool correctly. The return shape is not specified, but with no output schema and a standard list endpoint, that omission is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all 9 parameters documented. The description names the filterable fields and mentions sorting, but it adds no semantic nuance beyond what the schema already provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('videos in the account'), enumerates optional filters and sorting, and explicitly marks the operation as read-only with the GET endpoint. This clearly differentiates it from sibling tools such as apivideo_get_video (single video) and apivideo_list_live_streams (different resource type).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: this tool lists account videos with optional filters and sorting. It does not explicitly state when not to use it or name alternatives like apivideo_get_video, but the resource and verb make the boundary obvious. Missing explicit exclusion keeps it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_list_webhooksList webhooksARead-onlyInspect
List webhooks configured in the account, optionally filtered by event name. Read-only. GET /webhooks.
| Name | Required | Description | Default |
|---|---|---|---|
| events | No | Filter by event name, e.g. "video.encoding.quality.completed". | |
| pageSize | No | Results per page (max 100). Default 25. | |
| currentPage | No | Page number (1-based). Default 1. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes the safety profile, and the description reinforces it with 'Read-only' and adds the endpoint 'GET /webhooks'. It does not disclose response format, pagination behavior, or any additional side effects, but this is a simple read operation with annotations covering the main safety concern.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with each sentence contributing useful information: the operation, the account scope, optional filtering, read-only nature, and endpoint. There is no redundancy or wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only list operation with three optional, fully documented parameters and no output schema, the description is complete enough for an agent to invoke it correctly. It supplies the endpoint, scoping, filtering option, and safety profile without requiring additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and all three parameters are already clearly described in the schema, including defaults and examples. The description only mentions event-name filtering without adding meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb ('List') and the resource ('webhooks configured in the account'), and distinguishes it from sibling list tools by resource type. It also mentions optional event filtering, making the purpose specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool—listing account webhooks, optionally filtered by event—but does not explicitly state when not to use it or mention alternative tools. Since all siblings target different resources, the context is sufficient without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_update_videoUpdate video (write)ADestructiveInspect
WRITE. Update fields on an existing video. Only the provided fields are changed. PATCH /videos/{videoId}.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Replacement tag list. | |
| title | No | New title. | |
| public | No | New public/private flag. | |
| videoId | Yes | The video id to update. | |
| metadata | No | Replacement metadata (sent as [{key,value}]). | |
| playerId | No | Player theme id to attach. | |
| panoramic | No | New panoramic flag. | |
| description | No | New description. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark destructiveHint=true, and the description adds valuable behavioral context: it is a WRITE operation, uses PATCH semantics, and only the provided fields are changed. This prevents the assumption that the request performs a full replacement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: the WRITE flag, the core purpose, the partial-update behavior, and the endpoint. No filler or redundancy, and the most important constraint is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an update tool with 100% schema coverage and destructiveHint annotation, the description covers the essential operation, partial-update behavior, and endpoint. It does not describe response format, but no output schema is provided and the description is otherwise sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds the key semantic that only provided fields are changed, which clarifies how optional parameters behave during an update—beyond what the individual field descriptions offer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Update') and resource ('an existing video'), clearly distinguishing this from sibling create/delete/get/list tools. The endpoint PATCH /videos/{videoId} reinforces the operation without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'existing video' clearly indicates this tool is for modifying already-created videos, which excludes creation, deletion, or retrieval. It lacks explicit alternatives or when-not-to-use statements, but the context is unambiguous among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Manage videos, playlists, analytics, and monetization for OTT streaming services.
Manage Wistia videos, channels, folders, captions, customizations, and analytics via MCP.
Official Viddler MCP: list videos, manage access control, pull proof-of-viewing analytics.
Drop in a video, get a link that plays anywhere — plus chapters, player styling and analytics.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage videos on PlayVideo, including collections, videos, webhooks, embed settings, API keys, and account management.5MIT
- AlicenseBqualityBmaintenanceManage a YouTube channel through official Google APIs — videos, comments, playlists, live broadcasts, captions, and analytics — plus an auditable giveaway suite for comment-entry giveaways with deterministic winner drawing.51MIT
- FlicenseNot gradedqualityCmaintenanceEnables YouTube video upload, metadata updates, thumbnail management, stats retrieval, and analytics via the YouTube Data API v3 and Analytics API using OAuth 2.0.
- AlicenseAqualityCmaintenanceEnables interaction with Wecandeo VideoPack v4 API for video upload, encoding, publishing, and media library management via natural language.2916MIT