yt-mcp-server
The yt-mcp-server is designed to facilitate operations with YouTube data, including URLs, video IDs, and thumbnails. It provides an easy-to-use interface to work with YouTube links in a Model Context Protocol (MCP) environment.
yt-mcp-server
MCP server with various utility functions for dealing with YouTube data. This server provides tools for working with YouTube URLs, video IDs, and thumbnails.

📖 Resources
Prerequisites
- Python 3.12 or higher
- UV package manager
Setup
1. Install UV
If you haven't installed UV yet, you can install it using:
brew install uv
# alternatively curl -LsSf https://astral.sh/uv/install.sh | sh
2. Installation Methods
Method 1: Install from GitHub (Recommended)
This is the simplest way to install and run the server:
uvx --from git+https://github.com/kdr/yt-mcp-server.git server
Method 2: Local Development Setup
If you want to modify the code locally:
git clone https://github.com/kdr/yt-mcp-server.git
cd yt-mcp-server
uv venv
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows
uv pip install -e .
3. Configure MCP Client
Add the following configuration to your MCP client settings:
{
"mcpServers": {
"yt-mcp-server": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/kdr/yt-mcp-server.git",
"server"
]
}
}
}
For local development (Method 2), use this configuration instead:
{
"mcpServers": {
"yt-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/yt-mcp-server/yt_mcp_server",
"run",
"main.py"
]
}
}
}
Available Tools
The following tools are available to the LLM:
-
get_watch_url
: Returns the YouTube watch URL for a given video ID, optionally starting at a specific time- Parameters:
video_id
: The YouTube video IDstart_time
: (Optional) The start time in seconds
- Parameters:
-
get_thumbnail_url
: Returns the thumbnail URL for a given YouTube video ID- Parameters:
video_id
: The YouTube video ID
- Parameters:
-
get_normalized_url
: Normalizes various YouTube URL formats to the canonical watch URL and extracts the video ID- Parameters:
url
: The YouTube URL to normalize
- Parameters: