Alto
Send a finished video with one tracked link per recipient, and see who watched and how far.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"alto": {
"url": "https://alto.video/mcp"
}
}
}Remote-Endpunkte
https://alto.video/mcpstreamable-httphttps://alto.video/api/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (8)
🟡create_upload(bytes, type, duration)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"bytes": {
"type": "integer",
"description": "The file's size in bytes."
},
"type": {
"type": "string",
"description": "video/mp4, video/quicktime or video/webm."
},
"duration": {
"type": "number",
"description": "Length in seconds, if known."
}
},
"required": [
"bytes",
"type"
]
}🟡complete_upload(uploadId, parts, title, description, duration, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"uploadId": {
"type": "string"
},
"parts": {
"type": "array",
"description": "Every part's { part, etag }, from the PUTs.",
"items": {
"type": "object",
"properties": {
"part": {
"type": "integer"
},
"etag": {
"type": "string"
}
}
}
},
"title": {
"type": "string",
"description": "What the prospect sees, e.g. \"Fleet QA for Acme Logistics\"."
},
"description": {
"type": "string"
},
"duration": {
"type": "number",
"description": "Length in seconds. Needed unless Alto can measure the file."
},
"slug": {
"type": "string",
"description": "The readable part of the link, optional."
},
"recipients": {
"type": "array",
"description": "Who to send it to: one tracked link each. Strings like \"Dana Whitfield <[email protected]>\", or objects { name, email, company, title, note }.",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"company": {
"type": "string"
},
"title": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}
}
},
"required": [
"uploadId",
"parts",
"title"
]
}🟡upload_video(url, title, description, duration, slug, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "An https URL of the video file."
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"duration": {
"type": "number",
"description": "Length in seconds. Needed unless Alto can measure the file."
},
"slug": {
"type": "string"
},
"recipients": {
"type": "array",
"description": "Who to send it to: one tracked link each. Strings like \"Dana Whitfield <[email protected]>\", or objects { name, email, company, title, note }.",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"company": {
"type": "string"
},
"title": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}
}
},
"required": [
"url",
"title"
]
}🟡create_link(videoId, name, email, company, title, ...)
Make a tracked link to a video for one person, so every view is tied to them. Returns the link's URL to paste into an email.
Eingabe-Schema
{
"type": "object",
"properties": {
"videoId": {
"type": "string"
},
"name": {
"type": "string",
"description": "Who it's for, e.g. \"Dana Whitfield\"."
},
"email": {
"type": "string"
},
"company": {
"type": "string"
},
"title": {
"type": "string",
"description": "Their job title."
},
"note": {
"type": "string",
"description": "A personal note shown on their demo page."
},
"expiresInDays": {
"type": [
"integer",
"null"
],
"description": "Days until the link stops working; null never expires; left out uses the workspace default."
}
},
"required": [
"videoId",
"name"
]
}🟢get_moments(videoId, since)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"videoId": {
"type": "string"
},
"since": {
"type": "string",
"description": "Only plays in this window: 90m, 24h, 7d, 2w."
}
},
"required": [
"videoId"
]
}🟢list_viewers(filter)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"filter": {
"type": "string",
"enum": [
"watching",
"engaged",
"dropped"
]
}
}
}🟢list_links(videoId, status)
Every recipient link, or one video's, with its status (watching, watched, opened, not opened, expired, disabled) and how much was watched.
Eingabe-Schema
{
"type": "object",
"properties": {
"videoId": {
"type": "string"
},
"status": {
"type": "string"
}
}
}🟢list_videos
Your library, newest first, with each video's id, title, share link and totals.
Eingabe-Schema
{
"type": "object",
"properties": {}
}Community
Nachweis