Skip to main content
Glama

Server Details

Send a finished video with one tracked link per recipient, and see who watched and how far.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation4/5

Most tools target distinct operations, and descriptions carefully route the user (complete_upload follows create_upload; upload_video is for online URLs; create_link is for one person). Slight overlap exists because complete_upload, upload_video, and create_link all produce tracked links, but the entry-point distinctions are stated clearly enough to disambiguate.

Naming Consistency5/5

All eight tools use a consistent snake_case verb_noun pattern (complete_upload, create_link, list_links, get_moments, upload_video, etc.). No mixing of conventions or vague verbs.

Tool Count5/5

Eight tools is well-scoped for a video-sharing/tracking service, with each tool earning its place across upload, linking, listing, and analytics functions.

Completeness4/5

The surface covers the core lifecycle well: multi-step and URL uploads, link creation, library/link/viewer listing, and analytics. Minor gaps exist—no update/delete for videos or links, and no explicit way to disable/expire a link despite disabled/expired being listed statuses.

Available Tools

8 tools
complete_uploadFinish an upload and send itAInspect

Join the parts of an upload started with create_upload, create the video, and make one tracked link per recipient. Returns the video, its share link and each recipient's link.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoThe readable part of the link, optional.
partsYesEvery part's { part, etag }, from the PUTs.
titleYesWhat the prospect sees, e.g. "Fleet QA for Pruitt Logistics".
durationNoLength in seconds. Needed unless Alto can measure the file.
uploadIdYes
recipientsNoWho to send it to: one tracked link each. Strings like "Michelle Barba <michelle@pruitt.example>", or objects { name, email, company, title, note }.
descriptionNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare it is a non-readonly, non-idempotent, non-destructive write with no open-world access. The description goes beyond them by disclosing the side effects (video creation plus one link per recipient) and the return payload (video, share link, per-recipient links), which matters since there is no output schema. It omits auth requirements or failure/retry behavior for a multi-part join.

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

Conciseness5/5

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

A single tight sentence: the action and its prerequisite come first, followed by the return values. No filler, no repetition of the title.

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

Completeness4/5

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

With no output schema, the description compensates by summarizing the return shape, and it covers the cross-tool workflow dependency. It leaves some operational detail unstated (what happens to an expired/incomplete upload, partial failure semantics), but the essential picture for correct invocation is present.

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

Parameters3/5

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

Schema coverage is 71%, so the schema documents most parameters (slug, parts, title, duration, recipients) on its own. The description only adds light framing, notably that recipients produce 'one tracked link each' and that parts come from an in-progress upload. That is marginal added meaning over the schema, fitting the baseline 3.

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

Purpose5/5

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

States specific verbs and resources: joining upload parts, creating the video, and generating one tracked link per recipient. It explicitly ties itself to the sibling create_upload as the finishing step, so an agent can distinguish it from create_upload, upload_video, and create_link without opening schemas.

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

Usage Guidelines4/5

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

Clearly establishes the prerequisite chain ('an upload started with create_upload'), which tells the agent when this tool applies. It does not name an alternative or state a when-not condition (e.g., versus upload_video or create_link), so it falls short of a full routing guideline.

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

create_uploadStart an uploadAInspect

Start uploading a finished video (MP4, MOV or WebM) in parts. Returns an uploadId and one URL per part: PUT each part's exact bytes to its URL with the same Authorization header, keep the etag each PUT answers, then call complete_upload. Parts are partBytes long except the last.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesvideo/mp4, video/quicktime or video/webm.
bytesYesThe file's size in bytes.
durationNoLength in seconds, if known.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare non-readonly, non-idempotent, non-destructive. The description adds real behavioral context beyond them: the Authorization header must be reused on each PUT, the etag from each PUT must be retained, and the part-byte sizing rule. It does not say whether repeated calls create duplicate sessions or how long the uploadId stays valid.

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

Conciseness4/5

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

One dense paragraph, front-loaded with what the tool does and what it returns, followed by the required client steps. Every clause carries information; only the undefined 'partBytes' reference adds noise.

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

Completeness4/5

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

With no output schema, the description usefully explains the return (uploadId plus one URL per part) and the complete workflow. Minor gaps remain around session lifetime, part size origin, and how this differs from the sibling upload_video.

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

Parameters3/5

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

Schema description coverage is 100%, so type, bytes and duration are already documented. The description adds the partSize rule ('partBytes long except the last'), but partBytes is never defined as an input parameter, which leaves it ambiguous where that value comes from. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Start uploading a finished video') plus the accepted formats and the return shape (uploadId and per-part URLs). It clearly positions itself as the multipart-session opener in the upload flow, but it never distinguishes itself from the sibling upload_video, which an agent could easily confuse with this tool.

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

Usage Guidelines4/5

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

Gives a clear procedural context: use this to start a part-based upload, then PUT each part's bytes, then call complete_upload. It routes to the follow-up sibling by name, but offers no explicit when-not guidance (e.g. small files or the single-shot upload_video).

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

get_momentsHow a video landedC
Read-onlyIdempotent
Inspect

Plays, how much people watched, how far each chapter reached and which one was rewatched, and where the most viewers left. Part of Pro's full API.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoOnly plays in this window: 90m, 24h, 7d, 2w.
videoIdYes

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds a useful access requirement by noting this is 'Part of Pro's full API,' implying a plan restriction. It does not disclose rate limits, return format, or pagination, but with annotations carrying the safety burden, a 3 is appropriate.

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

Conciseness3/5

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

The description is short and front-loads the measurable outcomes, which is good. However, the trailing sentence 'Part of Pro's full API' is marketing filler that does not help an agent invoke the tool correctly, and the opening lacks a clear action verb. It is concise but not maximally structured.

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

Completeness3/5

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

With no output schema, the description helpfully previews the returned metrics, which is the strongest part of the definition. But it omits any guidance on the required videoId parameter, the optional time-window parameter, and what the response structure looks like. For a read-only analytics tool with only two parameters, the description is adequate but leaves clear gaps.

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

Parameters2/5

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

Schema description coverage is only 50%: the 'since' parameter is documented in the schema, but 'videoId' has no description anywhere. The tool description never mentions either parameter or how to scope the query, so it does not compensate for the coverage gap. Given the sparse description and 2-parameter schema, the description adds no parameter-level value.

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

Purpose3/5

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

The description lists the specific metrics returned (plays, watch depth, chapter reach, rewatches, drop-off) but never supplies a clear verb or states that this tool retrieves per-moment/chapter analytics for a given video. 'Moments' is never defined, and the title 'How a video landed' is vague. It does distinguish itself from the upload/link/list siblings, so it avoids confusion, but the core purpose remains implied rather than stated.

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

Usage Guidelines2/5

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

No when-to-use guidance or alternatives are given. The only contextual clue is 'Part of Pro's full API,' which hints at a subscription prerequisite but does not explain when an agent should call this tool instead of, say, list_videos or list_viewers. The agent is left to infer usage entirely from the returned-metrics list.

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

list_videosYour videosB
Read-onlyIdempotent
Inspect

Your library, newest first, with each video's id, title, share link and totals.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds useful behavioral context by disclosing sort order and the returned fields, though it says nothing about pagination or result-size limits.

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

Conciseness4/5

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

One front-loaded sentence that leads with the resource, then the ordering, then the return fields. Efficient with no filler, though extremely terse.

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

Completeness4/5

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

There is no output schema, so the description carries the return-value burden and does name the fields (id, title, share link, totals) plus sort order. For a zero-param read-only list with annotations covering safety, this is essentially complete.

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

Parameters4/5

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

The tool takes no parameters, so there is nothing to disambiguate; baseline 4 applies. Schema description coverage is 100% and the empty schema is consistent with the parameterless description.

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

Purpose4/5

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

States a specific verb+resource ('Your library' / list videos) and adds scope detail ('newest first, with each video's id, title, share link and totals'). It doesn't name a sibling, but 'library' and 'videos' implicitly separate it from list_links and list_viewers.

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

Usage Guidelines2/5

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

No when-to-use guidance and no exclusions versus the sibling list_* tools. The agent must infer that this is the unfiltered personal library listing, with nothing routing it away from list_links or list_viewers.

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

list_viewersWho watchedB
Read-onlyIdempotent
Inspect

Everyone who opened one of your links: recipients, people their links were forwarded to, and anonymous viewers, with how much they watched and whether they're watching now.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorld=false, so the safety profile is covered. The description usefully discloses the breadth of returned data (anonymous viewers included, live 'watching now' status), but says nothing about the filter's behavioral effect, result size, or pagination.

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

Conciseness4/5

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

One front-loaded sentence that leads with the core resource ('Everyone who opened one of your links') and then enumerates the useful detail. Efficient, though the comma-segmented clause stack is slightly dense.

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

Completeness4/5

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

With no output schema, the description does the work of explaining what comes back (viewer types, watch amount, live status), which is appropriate for a read-only list tool. The only real omission is any explanation of the filter parameter.

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

Parameters2/5

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

There is a single filter parameter with enum values (watching, engaged, dropped) and 0% schema description coverage, yet the description never mentions it or what the three states mean. The enum names are somewhat self-evident but the description does not compensate for the coverage gap.

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

Purpose4/5

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

The description states a specific resource and scope: everyone who opened one of your links, broken down by recipient, forwarded, and anonymous viewers, plus watch depth and live status. An agent can tell this is a viewer/engagement listing tool, though it never explicitly contrasts itself with siblings like list_links or get_moments.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no statement of prerequisites, and no named alternative for filtering or exploring related data. The agent must infer entirely from the name and one enum parameter that this is the viewer-detail view.

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

upload_videoUpload from a URL and send itAInspect

Upload a finished video that is already online (an https URL Alto can download, up to 2 GB), create it, and make one tracked link per recipient. For a file on your machine, use create_upload.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAn https URL of the video file.
slugNo
titleYes
durationNoLength in seconds. Needed unless Alto can measure the file.
recipientsNoWho to send it to: one tracked link each. Strings like "Michelle Barba <michelle@pruitt.example>", or objects { name, email, company, title, note }.
descriptionNo

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true). The description adds real behavioral context beyond that: the 2 GB size cap, the https/downloadability constraint on the source, and the fact that it fans out into one tracked link per recipient. It does not mention auth requirements or failure handling, so it stops short of the top tier.

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

Conciseness5/5

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

Two sentences, zero filler. The primary action and its constraints are front-loaded, and the sibling redirect is the final clause where an agent needs it.

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

Completeness4/5

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

For a multi-effect tool (upload, create, distribute) with no output schema, the description conveys enough: source requirements, size limit, and the link-per-recipient outcome. Missing only edge behavior such as failure/partial-success handling, which would push it higher.

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

Parameters4/5

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

Schema coverage is 50%, so the description must carry weight and largely does: it clarifies that url must be https and downloadable, that duration is needed 'unless Alto can measure the file,' and that recipients each get a tracked link. It leaves slug, description, and title unelaborated, but those are conventional and partly covered by the schema.

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

Purpose5/5

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

Specific verb and resource (upload a finished video) plus precise scope: it must already be online as an https URL Alto can download, up to 2 GB. It also names the side effect (creates the video and one tracked link per recipient) and distinguishes itself from create_upload.

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

Usage Guidelines5/5

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

Explicitly states the condition that selects this tool (a finished video already hosted online) and names the alternative for the other case: 'For a file on your machine, use create_upload.' When-to-use, when-not, and alternative are all present.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedcomplete_upload2 fields changed
      • changedInput schema / properties / recipients / description
        Previous value: -"Who to send it to: one tracked link each. Strings like \"Michelle Barba <michelle@acme.example>\", or objects { name, email, company, title, note }."New value: +"Who to send it to: one tracked link each. Strings like \"Michelle Barba <michelle@pruitt.example>\", or objects { name, email, company, title, note }."
      • changedInput schema / properties / title / description
        Previous value: -"What the prospect sees, e.g. \"Fleet QA for Acme Logistics\"."New value: +"What the prospect sees, e.g. \"Fleet QA for Pruitt Logistics\"."
    • Changedupload_video1 field changed
      • changedInput schema / properties / recipients / description
        Previous value: -"Who to send it to: one tracked link each. Strings like \"Michelle Barba <michelle@acme.example>\", or objects { name, email, company, title, note }."New value: +"Who to send it to: one tracked link each. Strings like \"Michelle Barba <michelle@pruitt.example>\", or objects { name, email, company, title, note }."
  2. 3 tool updates
    • Changedcomplete_upload1 field changed
      • changedInput schema / properties / recipients / description
        Previous value: -"Who to send it to: one tracked link each. Strings like \"Dana Whitfield <dana@acme.example>\", or objects { name, email, company, title, note }."New value: +"Who to send it to: one tracked link each. Strings like \"Michelle Barba <michelle@acme.example>\", or objects { name, email, company, title, note }."
    • Changedcreate_link1 field changed
      • changedInput schema / properties / name / description
        Previous value: -"Who it's for, e.g. \"Dana Whitfield\"."New value: +"Who it's for, e.g. \"Michelle Barba\"."
    • Changedupload_video1 field changed
      • changedInput schema / properties / recipients / description
        Previous value: -"Who to send it to: one tracked link each. Strings like \"Dana Whitfield <dana@acme.example>\", or objects { name, email, company, title, note }."New value: +"Who to send it to: one tracked link each. Strings like \"Michelle Barba <michelle@acme.example>\", or objects { name, email, company, title, note }."
  3. 8 tool updates
    • First observedcomplete_upload
    • First observedcreate_link
    • First observedcreate_upload
    • First observedget_moments
    • First observedlist_links
    • First observedlist_videos
    • First observedlist_viewers
    • First observedupload_video

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Share the HTML your agent just wrote as a tracked link in one MCP call, then read back who opened it and which sections they read. Open source, AGPL-3.0.
    7
    2
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables automated notification sending from Google Sheets by reading row data, merging it into templates, sending via email, and recording delivery status back to the sheet.
    4 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables agents to qualify leads with Barometer before emailing them, then send and sequence emails through verified domains with warm-up pacing and credit tracking.
    24
    27 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources