Alto

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

我該用這個嗎

品質與安全性

A
說明品質
98%
結構描述完整度
79%
命名品質
98%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,381Token(工具定義)
~1.1 KB典型回應大小
中等的注意力影響(128k 上下文的 1.08%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

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

它能做什麼

工具清單

工具(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.

輸入結構描述

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

輸入結構描述

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

輸入結構描述

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

輸入結構描述

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

輸入結構描述

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

輸入結構描述

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

輸入結構描述

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

輸入結構描述

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

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本8 個工具