api.video MCP by usefulapi
Server Details
Manage videos and live streams, inspect captions, players and webhooks, and read play analytics.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 75.1% over 77 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 15 tools
Each tool targets a distinct resource+action pair (e.g. create_live_stream vs get_live_stream, get_video vs get_video_status vs get_video_analytics). The read/write markers and unique resources leave no realistic room for misselection.
Every tool follows the identical apivideo_<verb>_<noun> snake_case pattern. Verbs (create/get/list/update/delete) and nouns are used predictably throughout with no style deviation.
15 tools is well within the healthy range and each maps to a concrete endpoint, so none feel redundant or bloated. The set is scoped tightly to the core video/live-stream/analytics surface.
Videos have full CRUD, but live streams lack update/delete/stop, and captions, chapters, players, and webhooks are read-only (list only) despite being writable resources in api.video. These notable gaps will block common workflows.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry destructiveHint=true, so the description must supply the rest. It does disclose the meaningful behavioral payoff (returns a stream key and RTMP ingest URL), which is real added value, but says nothing about permissions, quotas, or whether the created stream is immediately live — gaps for a creation tool with thin annotations.
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?
Two short sentences, front-loaded with the write marker and the action before the endpoint. The 'POST /live-streams' fragment is marginally redundant but cheap and keeps it well under any length concern.
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?
No output schema exists, and the description compensates by naming the returned stream key and RTMP ingest URL — the key information an agent would otherwise lack. With 100% param coverage and a low-complexity flat schema, only auth/rate-limit context is missing.
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 name, public, and playerId are fully documented in the schema already. The description adds no parameter-level meaning beyond that, which is the expected baseline when the schema does the work.
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 ('Create a new live stream') and additionally names the concrete artifacts returned — a stream key and RTMP ingest URL. This cleanly separates it from the get/list live-stream siblings without needing their schemas.
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 create-vs-read distinction is implied by the tool name and the 'WRITE.' marker, but the description never states when to choose this over siblings like list_live_streams or get_live_stream, nor any prerequisites (e.g. account/plan limits). Usage is inferable but not articulated.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only supply destructiveHint=true; the description adds real context beyond that: the 'WRITE' marker, the ingestion-from-URL behavior, and the platform limitation that raw file bytes cannot stream through MCP. It does not explain why the operation is flagged destructive, which is a minor gap.
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 compact sentences, front-loaded with the WRITE marker and the action, followed by the most decision-relevant guidance. No filler or redundant restatement.
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 nine-parameter creation tool with 100% schema coverage and no output schema, the description covers the action, the key ingestion path, and the caller-side constraint. It stops short of noting what the created object returns or any permission/quota requirements.
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 nine parameters are already self-documented. The description highlights `source` semantics (public URL, ingestion, recommended over byte upload), which largely restates the schema's own wording rather than adding new 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 verb and resource ('Create a new video object') and is unambiguously distinguishable from siblings like apivideo_get_video, apivideo_list_videos, and apivideo_update_video. The 'WRITE' prefix and POST /videos endpoint reinforce the operation class.
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 a conditional usage hint for the `source` path (use a public URL instead of raw bytes) and explains the MCP transport constraint, but never states when to choose this tool over update_video or when creation is inappropriate. Usage is implied rather than explicit.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the safety profile is partly covered. The description adds genuinely new context beyond that: the deletion is permanent, cascades to 'all its assets,' and the underlying endpoint is DELETE /videos/{videoId}. It stops short of stating auth/permission requirements or what happens on a missing videoId.
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 fragments, front-loaded with the WRITE marker and the irreversible consequence before the endpoint. Every clause carries information; nothing is padded.
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 single-parameter destructive tool with no output schema, the description covers the essentials: destructiveness, cascade scope, irreversibility, and the endpoint. Nothing an agent needs to call it correctly is missing.
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?
Only one parameter, and schema description coverage is 100% — the schema already documents videoId as 'The video id to permanently delete.' The description restates the same idea and adds no format, sourcing, or validation 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 (DELETE) and resource (video), and adds scope: 'and all its assets.' An agent can distinguish it from apivideo_get_video, apivideo_update_video, and the create/list siblings without opening any 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?
Usage is implied rather than stated — there is no explicit when-to-use vs. alternatives, and no mention of a non-destructive sibling (e.g., update or archive) for cases where removal is not intended. The 'This cannot be undone' warning gives useful decision context, but routing guidance is absent.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's 'Read-only' is largely redundant reinforcement. It does add useful context by naming the returned content and the underlying endpoint GET /live-streams/{liveStreamId}, which confirms a non-mutating fetch, but adds nothing about error behavior or whether a missing id returns null vs error.
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?
Front-loaded with the verb and resource in one sentence, followed by two short fragments. Slightly padded by the redundant 'Read-only' and the raw endpoint spec, but overall tight and scannable.
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 trivial one-parameter read with 100% schema coverage and no output schema, the description covers purpose, id-based retrieval, and highlights the meaningful returned fields, which compensates for the absent output schema. It is adequate, though it omits what happens on a bad or unknown id.
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 the single liveStreamId parameter is fully documented with a format example, so the schema does the heavy lifting. The description only restates 'by id' and adds no format or constraint detail beyond it, matching the baseline.
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+resource ('Get a single live stream object by id'), and the word 'single' implicitly contrasts with the sibling apivideo_list_live_streams. It also names the concrete fields returned (stream key, RTMP ingest, player URL), so the agent knows exactly what this retrieves.
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 'by id' implies the lookup-by-identifier use case versus listing, but there is no explicit guidance on when to prefer this over apivideo_get_live_stream_analytics or apivideo_list_live_streams. Usage must be inferred from the name and scope.
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)BRead-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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description repeats 'Read-only', which the readOnlyHint annotation already declares, adding no new behavioral context. It says nothing about pagination behavior (despite pageSize/currentPage params), whether empty date ranges are allowed, or auth needs, so it carries no extra information beyond the structured 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?
It is short and front-loads the core purpose, but one of its three sentences restates the annotation ('Read-only') and another restates the endpoint path (GET /analytics/live-streams/plays), neither of which earns much space.
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?
With no output schema, the description could reasonably explain the return shape (aggregated metric values grouped by the chosen dimension) and the page-based pagination, but it does not. It is minimally adequate for a read-only analytics query whose safety profile is already covered by annotations.
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 already documents from/to, filter, pageSize, currentPage, and the dimension enum. The description only restates that results are grouped by a dimension and bounded by a date range, adding no format or syntax detail beyond the schema.
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 ('Aggregated play analytics for live streams') plus scope (date range, grouped by dimension), which is enough to separate it from apivideo_get_video_analytics by resource type. It stops short of explicitly naming that sibling as the alternative, so it is clear but not fully differentiated.
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?
Usage is only implied: an agent can infer this is the tool for live-stream plays rather than video plays, but there is no explicit when-to-use statement, no mention of when to prefer apivideo_get_video_analytics, and no guidance on how the filter parameter should be scoped.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true is already in the annotations, so 'Read-only' repeats structured data and earns no credit. The only added context is the underlying endpoint (GET /videos/{videoId}); nothing is said about not-found behavior, auth, or rate limits, though the annotation lowers the bar for a simple read.
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 clauses, front-loaded with purpose, then safety, then endpoint. No sentence is wasted and nothing important is buried.
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?
With no output schema, the parenthetical listing of returned fields (title, assets, player URL, status flags) usefully compensates, and the single required parameter is fully documented. Error behavior for an unknown id is the only notable omission.
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 the schema already provides the videoId parameter along with a concrete example value. The description's 'by id' adds no syntax or format detail beyond the schema, so 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 and resource ('Get a single video object by id') and enumerates what the object contains (title, assets, player URL, status flags), which separates it from list_videos and the analytics/status siblings. It stops short of naming those siblings explicitly, so it is clear but not fully differentiated.
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?
Usage is implied by 'by id' – the agent can infer this is the fetch-one-object path – but there is no statement of when to prefer it over apivideo_get_video_status, apivideo_get_video_analytics, or apivideo_list_videos, and no prerequisites are given.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, so the description's 'Read-only' line largely repeats structured data. It adds the aggregation semantics and the endpoint path, but discloses nothing about pagination behavior, rate limits, or how the aggregation is returned.
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?
Two short sentences, front-loaded with the core purpose before the read-only and endpoint details. No wasted words and nothing buried.
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?
With a fully-described 6-parameter schema and readOnlyHint annotation, the description covers what an agent needs to invoke the tool. The main gap is the absent output schema: since the return format (aggregated counts bucketed per dimension value) is never described, the agent must infer the response shape.
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 six parameters (from, to, filter, pageSize, dimension, currentPage) are already documented in the schema, including the enum values for dimension. The description adds only the high-level notion of date-range plus dimension grouping, which is baseline-level value at this 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 resource (aggregated play analytics for videos), scope (date range), and grouping behavior (by a dimension), plus the underlying endpoint. It implicitly distinguishes itself from the sibling apivideo_get_live_stream_analytics by scoping to videos, but never names that sibling explicitly.
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?
Usage is implied by the specificity of the purpose — an agent can infer this is for aggregated play metrics rather than raw video data. However, there is no explicit when-to-use, no when-not-to-use, and no routing between this and apivideo_get_live_stream_analytics.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, and the description merely restates 'Read-only' rather than adding new safety context. It does contribute behaviorally useful detail by naming what the status payload contains and giving the underlying endpoint path, which partially compensates for the absent 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the purpose and return facets front-loaded, followed by the safety note and endpoint. Nothing is redundant or padding.
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 single-parameter read tool with readOnlyHint annotations and no output schema, the description covers purpose, return contents, and endpoint adequately. It only lacks explicit guidance on when to prefer it over apivideo_get_video, and details like polling behavior for in-progress encoding.
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?
There is a single parameter with 100% schema description coverage, so the schema already carries the semantics and the baseline is 3. The description only implies that videoId is a path segment via 'GET /videos/{videoId}/status', adding no format or sourcing guidance beyond the schema.
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 pairs a specific verb (get) with a specific resource and scope (encoding and ingest status), and the parenthetical enumerates the returned facets (upload progress, encoding qualities, playability). This distinguishes it in substance from apivideo_get_video and apivideo_get_video_analytics, though it never names a sibling explicitly.
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?
Usage is implied by the scope: reach for this when you need encoding/ingest state rather than full metadata. There is no explicit when-to-use statement, no when-not, and no named alternative, so the agent must infer the routing from the sibling list.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's 'Read-only' is largely redundant. It does add the underlying HTTP route (GET /videos/{videoId}/captions), which is mild extra context, but it says nothing about pagination behavior or result ordering beyond what the schema implies.
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?
Two tightly written sentences with no filler; the core purpose and returned fields are front-loaded before the safety and route notes. 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?
For a simple read-only list endpoint, the description plus annotations and a fully documented schema cover what an agent needs. The brief mention of returned fields partially compensates for the absent output schema, though it does not describe pagination or total-count semantics.
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 videoId, pageSize, and currentPage are already documented with defaults and bounds. The parenthetical list in the description refers to response fields rather than parameters, so it adds no parameter meaning beyond the schema. 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 and resource ('List caption tracks for a video') and even enumerates the returned fields (language, source URL, default flag). This distinguishes it cleanly from siblings like apivideo_list_chapters and apivideo_get_video without needing to open any 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?
Usage is implied by 'for a video' with a required videoId, but there is no explicit when-to-use guidance, no statement of prerequisites (e.g. auth/permissions), and no named alternative to compare against. Adequate but with clear gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_list_chaptersList chaptersBRead-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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so 'Read-only' in the description is largely redundant, though it reinforces the safety profile. The added GET endpoint is minor context but the description says nothing about pagination behavior, result ordering, or scope limits, which is the kind of detail that would earn credit beyond the annotations.
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 fragments, front-loaded with the core action and free of filler. The 'Read-only' clause repeats the annotation and the endpoint fragment is marginal, slightly reducing signal density.
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 tool, annotations cover safety and the schema covers all inputs, so the description needn't explain the response. It lacks only notes on pagination semantics (already partly in schema) and any scope constraints, leaving it nearly 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?
Schema description coverage is 100%, with all three parameters (videoId, pageSize, currentPage) documented including defaults and max values. The description adds no parameter meaning beyond the schema, 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 and resource ('List chapter tracks for a video'), which is unambiguous and distinguishable from siblings like apivideo_list_captions or apivideo_list_videos by the 'chapters' resource. It stops short of explicitly naming when to prefer it over related list tools, so it's clear but not sibling-differentiating at the highest level.
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 when-to-use context, no prerequisites (e.g., that the video must exist or be owned), and no comparison to alternatives. 'Read-only' hints at the safe-read context but is not usage guidance.
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 streamsBRead-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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description's 'Read-only' merely restates it. Beyond that it adds only the HTTP endpoint ('GET /live-streams'), disclosing nothing about pagination behavior, default result sets, or account-scoping rules that the annotations don't 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?
Three short sentences, front-loaded with the core purpose, no padding or filler. The only waste is the redundant 'Read-only' clause, which duplicates the annotation.
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?
With six optional parameters, no output schema, and no annotations describing return shape, the description leaves the result structure and pagination semantics (pageSize default 25, currentPage 1-based) entirely to the schema. Adequate to invoke the tool, but thin for a tool whose only job is returning a paged collection.
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 every parameter is already documented in the schema. The description names two filters (streamKey, name) and mentions sorting, which mirrors rather than extends the schema — the correct baseline of 3 when the schema does the heavy lifting.
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 live streams in the account') with the added scope of optional filters and sorting, which separates it from the singular apivideo_get_live_stream. It does not name any sibling outright, but the list-vs-get distinction is inferable from the plural 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?
Usage is implied by the plural/list framing — this is the browse-and-filter operation versus get_live_stream for a single item — but the description never states when to prefer this over siblings or what prerequisites exist. No exclusions or alternatives are given, leaving the agent to infer the distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_list_playersList playersBRead-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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The 'Read-only' phrase merely restates the readOnlyHint=true annotation and earns no credit. The only added behavioral fact is the GET /players endpoint. Pagination behavior, sort defaults, and account scoping are left to the schema, so with annotations covering safety this is a minimal addition.
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 compact fragments with no filler, front-loading the resource. It is appropriately short for a simple list endpoint, though the 'Read-only. GET /players.' trailer adds little to the first sentence.
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 with no output schema and complete param documentation, the description is adequate but thin. It does not resolve the players/player-themes naming and says nothing about what the response contains, though the absence of an output schema makes that omission less costly.
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% with all four optional paging/sorting params fully documented and two enums typed, so the baseline of 3 applies. The description adds no param syntax or default detail beyond the schema.
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) plus the underlying endpoint. Minor inconsistency: the tool is named list_players but the description calls the resource 'player themes', which an agent must reconcile. No siblings target players, so no sibling differentiation is needed.
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?
No statement of when to use this tool or under what conditions (e.g., paging through large accounts, filtering). It only gives the HTTP verb, leaving usage entirely to inference. There are no direct alternatives among siblings, which softens the gap but does not excuse the absence of guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apivideo_list_videosList videosBRead-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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description reinforces 'Read-only' plus the GET /videos endpoint. Beyond the safety profile it discloses nothing about pagination behavior, defaults, or response shape. With annotations carrying the safety load, this adds only marginal 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?
Two compact sentences that front-load the action and scope, then add the read-only/endpoint note. Slightly list-heavy but no waste.
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 9-parameter read tool with an output schema absent, the description omits return format and pagination behavior. Annotations cover safety and the schema covers parameters, so it is functional but thin on behavioral 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 every parameter is already documented with syntax (e.g., tags[], metadata[key]=value) and defaults. The description's filter enumeration (title, tags, metadata, description, liveStreamId) repeats rather than extends what the schema provides, which matches the baseline 3 for full 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 (videos in the account) and enumerates the filter dimensions. It is clearly distinguishable from apivideo_get_video (singular retrieval), but doesn't explicitly say how it differs from sibling list operations like 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?
Usage is implied: it's a filtered listing tool. There is no explicit when-to-use or when-not-to-use guidance, nor does it name alternatives such as search-style siblings. Adequate but with a clear gap.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, so 'Read-only' is a repetition of structured data rather than new information. It adds only the account-wide listing scope and the 'GET /webhooks' endpoint, but discloses nothing about pagination behavior or return shape beyond what the schema already provides.
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 clauses, front-loaded with the purpose and no wasted preamble. The trailing 'GET /webhooks' is redundant REST detail that a tool caller cannot act on, which mildly dilutes the otherwise efficient structure.
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 endpoint with annotations covering safety, a fully described schema, and no output schema requirement, the description covers purpose, scope, and filter adequately. Additional pagination guidance would be the only marginal improvement.
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 three parameters (events, pageSize, currentPage) are already documented with examples and defaults. The description merely echoes the event filter and adds no syntax or format detail beyond the schema, 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 (List) and resource (webhooks) plus the scope ('configured in the account') and the optional filter dimension. No sibling in the provided list competes with the webhooks resource, so an agent can identify this tool unambiguously.
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 the tool is used ('List webhooks configured in the account, optionally filtered by event name') but gives no explicit when-to-use versus alternatives, no prerequisites, and no pointer to related tools such as a create/delete webhook counterpart.
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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations supply destructiveHint=true only, so the description's disclosure that unlisted fields are left intact is genuinely useful context that tempers a naive full-replacement assumption. It still does not say what the call returns, whether changes are immediately applied, or whether permissions beyond a normal API key are needed.
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 fragments with the operation type front-loaded as 'WRITE', the mutation target next, and the partial-update rule before the endpoint. No sentence 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 an 8-parameter mutation tool with only a destructiveHint annotation and no output schema, the definition is minimally adequate: the write nature and partial-update behavior are covered, but response shape, side effects on linked resources, and error/permission conditions are 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%, so every one of the 8 parameters is documented in the schema, including the replacement semantics of tags and metadata. The description adds no syntax, defaulting, or format detail beyond the schema, 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 (update), resource (video), scope (existing video), and the exact HTTP operation (PATCH /videos/{videoId}). This inherently separates it from apivideo_create_video, apivideo_delete_video, and apivideo_get_video, so an agent can route to it without opening a 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?
'Only the provided fields are changed' implies partial-update usage, and the leading 'WRITE' flags it as a mutation. However, no explicit when-to-use/when-not guidance or named alternative (e.g., create vs update vs delete) is given, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Related MCP Connectors
- serverOAuthcom.zype.mcp
Manage videos, playlists, analytics, and monetization for OTT streaming services.
Manage cloud-hosted 24/7 video streams, playlists, destinations, schedules, media and workspaces.
Manage Wistia videos, channels, folders, captions, customizations, and analytics via MCP.
Manage API keys, identities, permissions, rate-limit overrides and verification analytics.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage videos on PlayVideo, including collections, videos, webhooks, embed settings, API keys, and account management.5 npmMIT

Upstream MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables an AI assistant to run cloud live streaming end to end: starting and stopping broadcasts, reordering playback queues, searching and organizing the media library, planning stream schedules, and managing multistream destinations. It connects over a remote Streamable HTTP endpoint secured with OAuth or a personal access token, applying the same validation, ownership rules, and rate limits as the public REST API.1MIT- AlicenseAqualityAmaintenanceEnables AI agents to manage Vimeo video libraries through natural language, including bulk folder operations, transcripts, chapters, captions, showcases, tags, privacy, and embed presets.4310 npmMIT
- 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
Glama MCP Gateway
Add one secure layer between your agents and this server.