tubemcp
Search YouTube and fetch video transcripts.
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., "@tubemcpsearch YouTube for machine learning tutorials"
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.
TubeMCP
MCP server that lets AI agents search YouTube and fetch transcripts. Zero config — just install and go.
What is MCP? Model Context Protocol lets AI assistants like Claude call external tools. TubeMCP gives your AI agent the ability to search YouTube and read any video's transcript — useful for summarization, Q&A, research, and content analysis.
Prerequisites
Python 3.10+ — download
Related MCP server: ytt-mcp
Installation
pip install tubemcpor
uv tool install tubemcpThen add it to your client:
Claude Code:
claude mcp add tubemcp -- tubemcpClaude Desktop — add to your claude_desktop_config.json:
{
"mcpServers": {
"tubemcp": {
"command": "tubemcp"
}
}
}Cursor — add to .cursor/mcp.json:
{
"mcpServers": {
"tubemcp": {
"command": "tubemcp"
}
}
}Windsurf — add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"tubemcp": {
"command": "tubemcp"
}
}
}What you get
youtube_get_transcript
Fetch the English transcript and metadata for any YouTube video.
Input: A YouTube URL or video ID in any of these formats:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDhttps://www.youtube.com/v/VIDEO_IDVIDEO_ID(bare 11-character ID)
Returns:
video_id— the video IDtitle— video titlechannel_name— channel namethumbnail_url— thumbnail URLduration_seconds— video durationpublish_date— publish datetranscript— full transcript textfrom_cache— whether the result was served from cache
youtube_search
Search YouTube with multiple queries for broader coverage. Results are deduplicated by video ID. Returns metadata only — no transcripts.
Input:
queries(list[str]) — search queries to run. Use 2–3 from different angles for best results.max_results_per_query(int, default3) — max results returned per query.
Returns a list of results, each containing:
video_id— the video IDtitle— video titlechannel_name— channel nameurl— video URLduration_seconds— video duration
Caching
Transcripts are cached locally in ~/.tubemcp/cache.db (SQLite). Subsequent requests for the same video are served instantly from cache.
Troubleshooting
spawn uvx ENOENT
This means your MCP client can't find the uvx command. Three fixes:
uv not installed — Install it: https://docs.astral.sh/uv/getting-started/installation/
uv not on PATH — Use the full path to
uvxin your config (find yours withwhich uvx):"command": "/Users/you/.local/bin/uvx"Switch to pip — Skip uv entirely. Install with
pip install tubemcpand use"command": "tubemcp"in your config (see pip installation above).
Verify uv is working:
uvx --versionDevelopment
git clone https://github.com/BlockBenny/tubemcp.git
cd tubemcp
pip install -e ".[dev]"
pytestContributing
See CONTRIBUTING.md for development setup and guidelines.
License
MIT
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/BlockBenny/tubemcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server