Provides tools for managing videos, transcripts, and retrieving video statistics through the Vimeo API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Vimeo MCP Serverlist my videos sorted by plays"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: YouTube MCP
Installation
npm install @mcp/vimeoOr install from source:
git clone <repository-url>
cd vimeo-mcp
npm install
npm run buildConfiguration
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 videosedit- Edit video metadataupload- Upload transcriptsstats- 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 querysort(string, optional): Sort order - "date", "alphabetical", "plays", "likes", "duration"direction(string, optional): Sort direction - "asc" or "desc"
Example:
List my most played videosvimeo_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 123456789vimeo_update_video
Update video metadata.
Parameters:
video_id(string, required): The ID of the video to updatetitle(string, optional): New video titledescription(string, optional): New video descriptiontags(array, optional): Array of tag stringsprivacy(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 videolanguage(string, optional): Language code (default: "en")format(string, optional): Format - "webvtt" or "srt" (default: "webvtt")
Example:
Download English transcript for video 123456789 in SRT formatvimeo_upload_transcript
Upload a new transcript or captions for a video.
Parameters:
video_id(string, required): The ID of the videocontent(string, required): The transcript contentlanguage(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 123456789Error 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 watchLicense
MIT
Support
For issues and feature requests, please visit the GitHub repository.
For Vimeo API documentation, see: https://developer.vimeo.com/api/reference
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/galacoder/vimeo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
