youtube-mcp
Provides tools for fetching video metadata and timestamped transcripts from YouTube.
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., "@youtube-mcpget the transcript and metadata for video dQw4w9WgXcQ"
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.
youtube-mcp
MCP server for YouTube. Exposes two tools to any MCP client (Claude Desktop, etc.):
get_video— fetch video metadata (title, description, views, duration, etc.)get_transcript— fetch timestamped transcript/caption segments
Setup
1. Get a YouTube Data API v3 key
Go to console.cloud.google.com
Create a project → APIs & Services → Enable APIs → search "YouTube Data API v3" → Enable
APIs & Services → Credentials → Create Credentials → API Key
Copy the key
2. Install
git clone https://github.com/your-username/youtube-mcp.git
cd youtube-mcp
pip install -e ".[dev]"3. Configure
cp .env.example .env
# edit .env and paste your API key4. Run tests
pytest -v5. Wire up Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"youtube": {
"command": "python",
"args": ["-m", "youtube_mcp.server"],
"cwd": "/path/to/youtube-mcp",
"env": {
"YOUTUBE_API_KEY": "your_key_here"
}
}
}
}Restart Claude Desktop. You can then ask Claude things like:
"Get me the transcript for video dQw4w9WgXcQ" "What is the view count and duration of this YouTube video: ..."
Related MCP server: YouTube MCP
Tools
get_video(video_id: str) -> VideoMetadata
Field | Type | Description |
| str | YouTube video ID |
| str | Video title |
| str | Full description |
| str | Channel name |
| int | Total views |
| int | None | Likes (None if hidden) |
| str | ISO 8601 duration (e.g. |
| str | ISO 8601 publish date |
| str | Default thumbnail URL |
get_transcript(video_id: str, language: str | None = None) -> list[TranscriptSegment]
Field | Type | Description |
| float | Segment start time (seconds) |
| float | Segment duration (seconds) |
| str | Caption text |
language: BCP-47 code (e.g. "en", "fr"). Defaults to first available language.
Project structure
src/youtube_mcp/
server.py # MCP entry point, tool registry
api.py # YouTube Data API v3 wrapper
transcript.py # youtube-transcript-api wrapper
models.py # Pydantic models
tests/
test_api.py
test_transcript.pyThis 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/sparsh-gaurav/youtube-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server