Vimeo MCP Server

Vimeo MCP Server

An MCP server that provides tools for interacting with the Vimeo API, enabling management of videos, transcripts, and retrieval of video statistics through a standardized interface.

Category
Visit Server

README

Vimeo MCP Server

A Model Context Protocol (MCP) server that provides tools for interacting with the Vimeo API. This server allows you to manage videos, transcripts, and retrieve video statistics through a standardized interface.

Features

  • List Videos: Search and filter videos in your Vimeo account
  • Get Video Details: Retrieve comprehensive metadata and statistics for specific videos
  • Update Videos: Modify video titles, descriptions, tags, and privacy settings
  • Manage Transcripts: Download and upload video transcripts/captions in multiple formats
  • Video Statistics: Access play counts and other video metrics

Installation

npm install @mcp/vimeo

Or install from source:

git clone <repository-url>
cd vimeo-mcp
npm install
npm run build

Configuration

Authentication

The Vimeo MCP server supports two authentication methods:

1. Personal Access Token (Recommended)

Create a personal access token in your Vimeo Developer Settings with the following scopes:

  • private - Access private videos
  • edit - Edit video metadata
  • upload - Upload transcripts
  • stats - View video statistics

Set the environment variable:

export VIMEO_ACCESS_TOKEN="your_access_token_here"

2. OAuth2 Authentication

For OAuth2 authentication, you'll need:

export VIMEO_CLIENT_ID="your_client_id"
export VIMEO_CLIENT_SECRET="your_client_secret"

Claude Desktop Configuration

Add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "vimeo": {
      "command": "node",
      "args": ["/path/to/vimeo-mcp/dist/index.js"],
      "env": {
        "VIMEO_ACCESS_TOKEN": "your_access_token_here"
      }
    }
  }
}

Available Tools

vimeo_list_videos

List videos from your Vimeo account with optional filtering.

Parameters:

  • page (number, optional): Page number (default: 1)
  • per_page (number, optional): Results per page, max 100 (default: 25)
  • query (string, optional): Search query
  • sort (string, optional): Sort order - "date", "alphabetical", "plays", "likes", "duration"
  • direction (string, optional): Sort direction - "asc" or "desc"

Example:

List my most played videos

vimeo_get_video_details

Get detailed information about a specific video.

Parameters:

  • video_id (string, required): The ID of the video

Example:

Get details for video 123456789

vimeo_update_video

Update video metadata.

Parameters:

  • video_id (string, required): The ID of the video to update
  • title (string, optional): New video title
  • description (string, optional): New video description
  • tags (array, optional): Array of tag strings
  • privacy (string, optional): Privacy setting - "anybody", "nobody", "password", "disable"

Example:

Update video 123456789 with title "My New Title" and tags ["tutorial", "coding"]

vimeo_download_transcript

Download video transcript or captions.

Parameters:

  • video_id (string, required): The ID of the video
  • language (string, optional): Language code (default: "en")
  • format (string, optional): Format - "webvtt" or "srt" (default: "webvtt")

Example:

Download English transcript for video 123456789 in SRT format

vimeo_upload_transcript

Upload a new transcript or captions for a video.

Parameters:

  • video_id (string, required): The ID of the video
  • content (string, required): The transcript content
  • language (string, optional): Language code (default: "en")
  • format (string, optional): Format - "webvtt" or "srt" (default: "webvtt")

Example:

Upload this transcript for video 123456789:
WEBVTT

00:00:00.000 --> 00:00:05.000
Hello, welcome to my video.

00:00:05.000 --> 00:00:10.000
Today we'll be learning about MCP servers.

vimeo_get_video_stats

Get statistics for a video.

Parameters:

  • video_id (string, required): The ID of the video

Example:

Get stats for video 123456789

Error Handling

The server implements comprehensive error handling:

  • Rate Limiting: Automatically detects rate limit errors and provides retry information
  • API Errors: Detailed error messages for failed API calls
  • Network Errors: Graceful handling of connection issues
  • Validation Errors: Clear messages for invalid parameters

Rate Limiting

Vimeo's API has rate limits. The server handles these automatically by:

  • Detecting 429 (Too Many Requests) responses
  • Extracting retry-after headers
  • Providing clear feedback about when to retry

Development

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

# Watch for changes
npm run watch

License

MIT

Support

For issues and feature requests, please visit the GitHub repository.

For Vimeo API documentation, see: https://developer.vimeo.com/api/reference

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured