Alto

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
79%
Calidad de los nombres
98%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,381Tokens (definiciones de herramientas)
~1.1 KBTamaño de respuesta típico
Impacto moderado en la atención (1.08% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "alto": {
      "url": "https://alto.video/mcp"
    }
  }
}

Puntos de conexión remotos

https://alto.video/mcpstreamable-http
https://alto.video/api/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (8)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada8 herramientas