Skip to main content

MCP server that fetches YouTube transcripts for AI agents

Project description

License: MIT Python 3.10+

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

Installation

pip install tubemcp

or

uv tool install tubemcp

Then add it to your client:

Claude Code:

claude mcp add tubemcp -- tubemcp

Claude 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_ID
  • https://youtu.be/VIDEO_ID
  • https://www.youtube.com/embed/VIDEO_ID
  • https://www.youtube.com/v/VIDEO_ID
  • VIDEO_ID (bare 11-character ID)

Returns:

  • video_id — the video ID
  • title — video title
  • channel_name — channel name
  • thumbnail_url — thumbnail URL
  • duration_seconds — video duration
  • publish_date — publish date
  • transcript — full transcript text
  • from_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, default 3) — max results returned per query.

Returns a list of results, each containing:

  • video_id — the video ID
  • title — video title
  • channel_name — channel name
  • url — video URL
  • duration_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:

  1. uv not installed — Install it: https://docs.astral.sh/uv/getting-started/installation/
  2. uv not on PATH — Use the full path to uvx in your config (find yours with which uvx):
    "command": "/Users/you/.local/bin/uvx"
    
  3. Switch to pip — Skip uv entirely. Install with pip install tubemcp and use "command": "tubemcp" in your config (see pip installation above).

Verify uv is working:

uvx --version

Development

git clone https://github.com/BlockBenny/tubemcp.git
cd tubemcp
pip install -e ".[dev]"
pytest

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tubemcp-0.1.3.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tubemcp-0.1.3-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file tubemcp-0.1.3.tar.gz.

File metadata

  • Download URL: tubemcp-0.1.3.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for tubemcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ef4f0c58b2ca5baf6f72147c47369a4df1e72446f29113cf7fd159832f7eb8ae
MD5 d56094a3a20cf7a94d8af40eecdb5d2d
BLAKE2b-256 f5ca186a34e44bbb21f7d083eea3d9b7aa457b60358dbf0d6f1f5c3d8137458c

See more details on using hashes here.

File details

Details for the file tubemcp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: tubemcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for tubemcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 344cefaf7bce2ee335687064f0e5fa6f441d6ce7620d5dd6420b79a905d1998f
MD5 ea35d956055f5f79f3de5bd420971cca
BLAKE2b-256 793fbe02fcf02dffd4e4ffc0e3d8a482a9c7b663eccac5736ab429078ef92820

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page