First-party app
Vimeo

Vimeo

Manage Vimeo videos, folders, showcases, comments and likes — list, edit and delete videos, pull-upload from a URL, organise folders and showcases, and read rate-limit headroom.

stable Video & StreamingSocial Media

About

Vimeo ships in the w6w first-party pack. It declares 36 actions, 2 health checks, and the host runs its code in a sandbox that never sees the credential.

App id
io.w6w.vimeo
Version
0.1.4
Author
w6w
Licence
MIT
Categories
Video & Streaming · Social Media

Overview

Vimeo puts a video library within reach of a workflow — pull in a video from a public URL, keep folders and showcases organized, and moderate the comments and likes that come in, all through Vimeo’s own REST API.

Videos can be listed, searched, updated and deleted, and a video can be pulled in directly from a public URL rather than uploaded through this app. Folders and showcases (called projects and albums on the wire) organise a video library: create, rename and delete either, add or remove videos from them one at a time, or replace a showcase’s whole contents in one call when that’s genuinely what’s meant. Comments and replies thread onto a video for moderation or engagement workflows, and likes can be listed, added or removed on behalf of the connected account.

It fits video-library and content-operations workflows — publishing a video pulled from another system, keeping a showcase in sync with a content calendar, or moderating comments as they come in — for a Vimeo account authenticated with a personal access token or a bearer token from any of Vimeo’s own OAuth grants.

Build with Vimeo

Three routes to the same 36 actions. The Workflow tab is generated from Vimeo's own manifest and carries its real ids, so it is copy-pasteable; the Code and CLI examples are the same call for any action on any app, so every app-specific value in them is a blank you fill in.

Comment on Video

comment-create

Post a comment on a video as the connected account.

Delete Video Comment

comment-delete

Delete a comment. The connected account must be its author.

Get Video Comment

comment-get

Fetch a single comment on a video.

List Video Comments

comment-list

List the top-level comments on a video.

Reply to Video Comment

comment-reply-create

Post a reply to a comment on a video.

List Comment Replies

comment-reply-list

List the replies to a comment on a video.

Edit Video Comment

comment-update

Edit a comment the connected account wrote.

Create Folder

folder-create

Create a folder, optionally nested inside an existing one.

Delete Folder

folder-delete

Delete a folder. By default the videos inside it stay in the account; turn on Delete videos too to remove them as well.

Get Folder

folder-get

Fetch a single folder by ID.

List Folder Items

folder-item-list

List everything directly inside a folder — videos, subfolders and live events.

List Folders

folder-list

List the folders belonging to the connected Vimeo account.

Rename Folder

folder-update

Rename a folder. Vimeo's folder edit endpoint accepts no other field.

Add Videos to Folder

folder-video-add

Move one or more videos into a folder.

List Videos in Folder

folder-video-list

List the videos inside a folder, optionally including its subfolders.

Remove Videos from Folder

folder-video-remove

Take one or more videos out of a folder. By default the videos stay in the account.

Like Video

like-add

Like a video as the connected Vimeo account.

List Liked Videos

like-list

List the videos the connected Vimeo account has liked.

Unlike Video

like-remove

Remove the connected account's like from a video.

Create Showcase

showcase-create

Create a showcase (what the Vimeo API still calls an album).

Delete Showcase

showcase-delete

Delete a showcase. The videos it contained stay in the account.

Get Showcase

showcase-get

Fetch a single showcase by ID.

List Showcases

showcase-list

List the showcases belonging to the connected Vimeo account.

Update Showcase

showcase-update

Edit a showcase's name, description, privacy, appearance or custom URL.

Add Videos to Showcase

showcase-video-add

Add one or more videos to a showcase, leaving the videos already in it alone. Adds them one request at a time — Vimeo's bulk endpoint replaces the whole showcase instead.

List Videos in Showcase

showcase-video-list

List the videos in a showcase, in the showcase's own order if you ask for it.

Remove Videos from Showcase

showcase-video-remove

Take one or more videos out of a showcase. The videos themselves stay in the account.

Replace Showcase Videos

showcase-video-replace

Set the showcase's contents to exactly this list of videos. Anything already in it and not listed is removed.

Get User

user-get

Fetch the connected Vimeo account, or another user by ID.

Update My Account

user-update

Edit the connected account's profile and the privacy defaults applied to future uploads. Does not change existing videos.

Delete Video

video-delete

Permanently delete a video. The connected account must own it.

Get Video

video-get

Fetch a single video by ID.

List My Videos

video-list

List the videos the connected Vimeo account has uploaded.

Search Videos

video-search

Search public videos across Vimeo, or look several up by URI or URL.

Update Video

video-update

Edit a video's title, description, privacy, licence and embed settings.

Upload Video from URL

video-upload-pull

Create a Vimeo video by having Vimeo pull a video file from a public URL. Returns 201 even for a link that is not a video — check `status` and `upload.status` afterwards.

A workflow step names the app and the action, and the editor fills in the connection when you pick one. This is the Step shape from the workflow spec, carrying Vimeo's real ids.

{
  "manifestVersion": "2",
  "name": "vimeo-example",
  "steps": [
    {
      "id": "comment-create",
      "uses": {
        "app": "io.w6w.vimeo",
        "action": "comment-create",
        "connection": "conn_YOUR_CONNECTION_ID"
      },
      "with": {
        "videoId": "<videoId>",
        "text": "<text>"
      }
    }
  ]
}

Here are some of the things you can do

  • Comment on Video

    perform
    comment-create
  • Get Video Comment

    read
    comment-get
  • List Video Comments

    search
    comment-list
  • Reply to Video Comment

    perform
    comment-reply-create
  • List Comment Replies

    search
    comment-reply-list

+31 more actions available

Every app-specific value here is a blank you have to fill in. An app action is reached through the connection that authenticates it, so the address is a connection id, not the app id — and connections belong to your account, so a public page cannot know yours. Create one for Vimeo, then fill in the three blanks: conn_YOUR_CONNECTION_ID, the action key, and the parameters that action declares. The call itself is real — the shape is transcribed from the studio's own snippet builder, which prints the same kind of blanks — but nothing in it is specific to Vimeo. The Workflow tab is where this app's real ids are.

Install
npm install @w6w/sdk
yarn add @w6w/sdk
pnpm add @w6w/sdk
deno add npm:@w6w/sdk
Code
import { W6wClient, isActionRun } from "@w6w/sdk";

// Reads W6W_BASE_URL and W6W_TOKEN from the environment when omitted.
const client = new W6wClient();

const envelope = await client.run({
  urn: "conn_YOUR_CONNECTION_ID",
  action: "video-upload-pull",
  payload: {
    link: "<value>",
    // name: "<value>",
    // description: "<value>",
    // size: "<value>",
    // privacyView: "<value>",
    // password: "<value>",
    // privacyEmbed: "<value>",
    // privacyDownload: "<value>",
    // privacyComments: "<value>",
    // fields: "<value>",
  },
});

if (isActionRun(envelope)) console.log(envelope.value);
Install the CLI
npm install -g @w6w/cli
CLI
w6w run conn_YOUR_CONNECTION_ID --action video-upload-pull --payload '{"link":"<value>"}'

Give an AI agent Vimeo — without giving it Vimeo's credentials. One MCP endpoint exposes every app, function and workflow the caller is entitled to, as tools it can discover and run. Access is granted per team while we onboard.

One tool call
{
  "name": "w6w_invoke",
  "arguments": {
    "ref": "app:io.w6w.vimeo#comment-create",
    "input": {
      "videoId": "<videoId>",
      "text": "<text>"
    }
  }
}

Every tool names its target with a single ref. The app: form above doesn't name a connection at all — the host resolves which of the caller's Vimeo connections to sign with, and refuses rather than guesses when the answer is ambiguous.

What the agent gets

Credentials it can't read

The token is attached host-side, at the moment of the call. It is never a tool argument, never in the model's context, and never in a transcript — so a prompt injection has nothing to exfiltrate.

A tool surface scoped to the caller

Tools are derived per end user from what that person has actually connected and is entitled to — not one shared bot identity carrying the union of everyone's access.

A durable workflow in one call

Multi-step work runs on the workflow engine and returns a run handle the agent can poll — retries, branching and state survive the conversation that started them.

Health-aware discovery

Vimeo's declared health checks are on the surface too, so an agent can tell "the vendor is down" from "your credential expired" before it burns a retry on either.

The MCP surface is part of the hosted platform. Vimeo itself is MIT, and the runtime that executes it is source-available (FSL).

Request MCP access

Health checks

Vimeo declares its own checks, so its health is a property of the app rather than something the host guesses at.

service

Vimeo platform status

Component status from www.vimeostatus.com, Vimeo's Atlassian Statuspage. Reports all 16 published components, including API, Upload and Conversion — the three this app depends on.

quota

API request headroom

Reads X-RateLimit-Limit / -Remaining / -Reset from a filtered GET /me. The figures Vimeo reports already assume field filtering; a caller not using `fields` must halve them.