yt-transcript-mcp
v0.1.3
Published
MCP server that fetches YouTube video transcripts using yt-dlp - supports local (stdio) and remote (HTTP/SSE) deployment
Maintainers
Readme
yt-transcript-mcp
MCP server that fetches YouTube video transcripts. Works with Claude Code, Claude Desktop, OpenCode, and any MCP-compatible client.
🚀 Now supports both local and remote deployment!
- Local mode: stdio transport via
npx(for desktop apps) - Remote mode: HTTP/SSE transport (for mobile apps, cloud deployment)
Quick Install
Claude Code
claude mcp add yt-transcript -- npx -y yt-transcript-mcpClaude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"yt-transcript": {
"command": "npx",
"args": ["-y", "yt-transcript-mcp"]
}
}
}Restart Claude Desktop after saving.
OpenCode
Edit ~/Library/Application Support/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"yt-transcript": {
"type": "local",
"command": ["npx", "-y", "yt-transcript-mcp"],
"enabled": true
}
}
}Restart OpenCode after saving.
Usage
Once connected, the agent has access to the get_transcript tool.
Examples:
- "Get the transcript of https://youtu.be/dQw4w9WgXcQ and summarize it"
- "Fetch the transcript from this video and list the main topics"
- "Get the Spanish transcript (lang: es) for this YouTube link"
Tool Parameters:
| Parameter | Required | Default | Description |
| --------- | -------- | ------- | ---------------------------------------------------- |
| url | Yes | - | YouTube video URL |
| lang | No | en | Subtitle language code (e.g. es, fr, de, ja) |
The tool returns the video title and full transcript as plain text.
Remote Deployment
Deploy this MCP server to the cloud for remote access (e.g., from Claude mobile app).
Deploy to Render (Free Tier)
- Fork this repository on GitHub
- Sign up for Render
- Click "New +" → "Web Service"
- Connect your GitHub repository
- Render will automatically detect the
render.yamlconfiguration - Click "Create Web Service"
- Wait for deployment to complete
- Copy your service URL (e.g.,
https://yt-transcript-mcp.onrender.com)
Configure in Claude Desktop for remote access:
{
"mcpServers": {
"yt-transcript": {
"url": "https://your-service.onrender.com/mcp",
"transport": "sse"
}
}
}Note: Render free tier has 750 hours/month limit and services may spin down after inactivity (cold starts).
Deploy to Hetzner (or any Docker host)
- SSH into your server
- Clone the repository:
git clone https://github.com/alialfredji/yt-transcript-mcp.git cd yt-transcript-mcp - Deploy with Docker Compose:
docker-compose up -d - The server will be available at
http://your-server-ip:3000/mcp - Set up a reverse proxy (nginx/caddy) with HTTPS for production use
Configure in Claude Desktop:
{
"mcpServers": {
"yt-transcript": {
"url": "https://your-domain.com/mcp",
"transport": "sse"
}
}
}Manual Docker Deployment
# Build the image
docker build -t yt-transcript-mcp .
# Run the container
docker run -d \
--name yt-transcript-mcp \
-p 3000:3000 \
-e NODE_ENV=production \
--restart unless-stopped \
yt-transcript-mcp
# Check health
curl http://localhost:3000/healthLocal Development
git clone https://github.com/alialfredji/yt-transcript-mcp.git
cd yt-transcript-mcp
npm install
npm run build
# Run in stdio mode (default)
npm start
# Or run in HTTP mode for testing
npm run dev:http