logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-youtube-stream-processor

Retrieves captions from YouTube media using yt-dlp and subsequently synthesizes summaries via the Claude.ai service, adhering to the Model Context Protocol specifications.

Author

mcp-youtube-stream-processor logo

anaisbetts

MIT License

Quick Info

GitHub GitHub Stars 454
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

youtubeapissubtitlessubtitles youtubedownloads subtitlesyoutube downloads

YouTube MCP Server Utility

This utility employs yt-dlp to fetch video subtitles from YouTube sources and interfaces with claude.ai through the established Model Context Protocol. To invoke its functionality, instruct Claude with a prompt such as, "Generate a summary for the YouTube video at <>". A prerequisite for operation is the local installation of yt-dlp, often accomplished via package managers like Homebrew.

Operational Setup Guide

  1. Secure the installation of yt-dlp (both Homebrew on macOS/Linux and WinGet on Windows are supported platforms).
  2. Integrate this component using the [mcp-installer], specifying the identifier @anaisbetts/mcp-youtube.

Note: The following content regarding XMLHttpRequest (XHR) is ancillary context relevant to HTTP interaction standards, not directly the function of this specific MCP tool.

Wikipedia Snippet: XMLHttpRequest (XHR) represents an Application Programming Interface instantiated as a JavaScript object, enabling the transmission of HTTP requests from a web browser to a remote server. These methods permit browser-based applications to issue requests post-page load completion and obtain resultant data. XHR is a core element of Ajax programming methodology. Before Ajax adoption, the primary server interaction vectors were traditional hyperlinks and form submissions, typically necessitating a full page refresh.

== Chronology == The foundational concept for XMLHttpRequest originated in the year 2000, conceived by Microsoft Outlook developers. This idea was first realized within the Internet Explorer 5 browser release (1999). However, the initial syntax did not use the XMLHttpRequest identifier; developers instead utilized ActiveXObject("Msxml2.XMLHTTP") and ActiveXObject("Microsoft.XMLHTTP"). By the release of Internet Explorer 7 (2006), universal browser support for the standardized XMLHttpRequest identifier was achieved. The XMLHttpRequest identifier has since become the established convention across all principal browser engines, including Mozilla's Gecko layout engine (from 2002), Safari 1.2 (2004), and Opera 8.0 (2005).

=== Formalization === The World Wide Web Consortium (W3C) published the initial Working Draft specification for the XMLHttpRequest object on April 5, 2006. On February 25, 2008, the W3C issued the Level 2 specification draft. Level 2 introduced capabilities for monitoring request progress events, enabling cross-site communication, and managing byte stream transfers. By the conclusion of 2011, the Level 2 additions were merged back into the foundational specification. At the close of 2012, development stewardship transitioned to WHATWG, which now maintains the evolving specification document using Web IDL.

== Implementation Pattern == Generally, issuing a request via XMLHttpRequest involves several sequential programming phases.

  1. Instantiate an XMLHttpRequest object via its constructor call:
  2. Invoke the open method to define the request methodology, pinpoint the targeted resource URI, and select either synchronous or asynchronous execution:
  3. For asynchronous operations, establish a handler function that triggers upon state transitions:
  4. Commence the transmission by executing the send method:
  5. Process state changes within the designated event listener. Should the server furnish response data, it is typically aggregated in the responseText attribute by default. Upon completion of server processing, the state transitions to 4, signifying the "done" status. Beyond these fundamental steps, XMLHttpRequest offers extensive configuration options for controlling request transmission and response handling. Custom header fields can be appended to modify server behavior expectations, and data can be uploaded to the server via arguments passed to the send call. The received payload can be parsed from JSON structure into an immediately usable JavaScript object, or processed incrementally as chunks arrive rather than waiting for the entirety of the text. The request can also be terminated prematurely or configured with a timeout limit.

See Also

`