MCP Directory

How to add YouTube Transcript MCP Server to Windsurf

Fetch YouTube video transcripts (plain or timestamped), metadata, and available caption languages — no API key. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.

Last updated June 14, 2026 · 416 · stdio · no auth

Windsurf config for YouTube Transcript MCP Server

uvx --from git+https://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript
{
  "mcpServers": {
    "youtube-transcript-mcp-server": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/jkawamoto/mcp-youtube-transcript",
        "mcp-youtube-transcript"
      ]
    }
  }
}

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Setup steps

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the YouTube Transcript MCP Server config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 5YouTube Transcript MCP Server's tools become available to Cascade.

Before you start

  • uv installed (provides the uvx command)
  • No YouTube API key or account needed
  • Optional: Webshare or HTTP/HTTPS proxy credentials if your network/IP is blocked by YouTube

What YouTube Transcript MCP Server can do in Windsurf

get_transcript

Fetch a video's transcript by URL, optional language (default en), paginated via next_cursor.

get_timed_transcript

Fetch the transcript with timestamps, same URL/lang/cursor parameters.

get_video_info

Fetch metadata for a video URL.

get_available_languages

List caption languages available for a video.

Security

Read-only against public YouTube caption data with no credentials to leak. YouTube rate-limits and sometimes IP-bans automated transcript fetching (especially from cloud IPs); if you configure Webshare or HTTP proxies, those proxy credentials go in env vars, and your traffic routes through the proxy provider.

YouTube Transcript MCP Server + Windsurf FAQ

Where is the Windsurf config file?

Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the YouTube Transcript MCP Server config there under the "mcpServers" key and restart the client.

Is YouTube Transcript MCP Server safe to use with Windsurf?

Read-only against public YouTube caption data with no credentials to leak. YouTube rate-limits and sometimes IP-bans automated transcript fetching (especially from cloud IPs); if you configure Webshare or HTTP proxies, those proxy credentials go in env vars, and your traffic routes through the proxy provider.

Is it free, and do I need a YouTube API key?

Free and no API key: it reads caption data the same way youtube-transcript-api does, without OAuth or Google Cloud setup. The only potential cost is an optional proxy subscription if YouTube blocks your IP.

What happens with very long videos?

Transcripts over 50,000 characters are split automatically; the response includes a next_cursor you pass to the next call to continue. You can shrink chunks further with the --response-limit argument.

Why do I get blocked/empty results on a server?

YouTube aggressively blocks transcript requests from datacenter IPs. The README's fix is a residential proxy — set WEBSHARE_PROXY_USERNAME/PASSWORD (Webshare) or HTTP_PROXY/HTTPS_PROXY for a generic proxy.

View repo Full YouTube Transcript MCP Server page