get_video_infoLABSCO SUMMARY
The templates are what separate this from a caption dump.
A raw caption track is nearly unreadable and expensive to feed into a model. Rendering it as Markdown — with chapters if the video has them, or with only the matching passages when you supply a search term — is the difference between quoting a video and pasting it. The search template is the one to reach for on a long talk.
What it is
A server for reading videos rather than watching them: it fetches metadata and caption tracks — auto-generated or manual — and renders them through templates so the transcript arrives as a document rather than a wall of timed lines.
What you get
get_video_inforeturns the video's metadata from a URLget_captionspulls the caption track, with alanguageparameter that defaults to English; English and French are supported out of the boxconvert_to_markdownrenders the transcript through one of three templates — basic for a plain transcript, detailed for full metadata with timestamps, search for matches highlighted in context — with options for chapters and a search termlist_templatesshows what is available, and the template list is editable in the source
Requirements
Node.js v16 or higher. Clone the repository, install, build, and point the client at the compiled entry point; published as youtube-mcp, version 0.1.0. A YouTube Data API key in YOUTUBE_API_KEY covers public videos. Private videos need OAuth2 — a project in Google Cloud Console with the YouTube Data API v3 enabled, then YOUTUBE_CLIENT_ID, YOUTUBE_CLIENT_SECRET and a refresh token obtained through the included script.
Setup effort
Build from source — git clone https://github.com/nattyraz/youtube-mcp.git
USE CASES
Quoting a conference talk accurately
Fetch the captions and render them with timestamps, so the quote comes with a place to point at.
Finding where a topic comes up in a long video
Render with the search template and get the matching passages with their surrounding context rather than the whole transcript.
Summarising a video without watching it
Pull the metadata and the transcript in one pass and work from the text.
4 tools
Listed in project docs. Your client may show a different list.
get_captionsconvert_to_markdownlist_templatesBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
- node on PATH
- Node.js
- YOUTUBE_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/nattyraz/youtube-mcp.git
cd youtube-mcp
npm install
npm run buildMCP Clients
Roo Code
{
"mcpServers": {
"youtube": {
"command": "node",
"args": [
"<YOUR_PATH_TO_YOUTUBE_MCP>/build/index.js"
],
"env": {
"YOUTUBE_API_KEY": "<YOUR_YOUTUBE_API_KEY>",
"YOUTUBE_CLIENT_ID": "<YOUR_YOUTUBE_CLIENT_ID>",
"YOUTUBE_CLIENT_SECRET": "<YOUR_YOUTUBE_CLIENT_SECRET>"
},
"disabled": false,
"alwaysAllow": []
}
}
}<YOUR_PATH_TO_YOUTUBE_MCP> is the full path to your clone. YOUTUBE_API_KEY is enough for public videos; YOUTUBE_CLIENT_ID and YOUTUBE_CLIENT_SECRET are only for private videos (OAuth2) and can be removed otherwise.