mcpField
Y
YouTube MCP Server

YouTube MCP Server

Local
github.com/nattyrazMedia & Design5Updated 24w ago

About YouTube MCP Server

YouTube MCP Server provides video metadata, caption extraction, and Markdown conversion for clients and agents working with video content. It includes multiple output templates and caption search.

Key features

  1. 01Fetch YouTube video metadata
  2. 02Extract manual or auto-generated captions
  3. 03Support English and French captions
  4. 04Convert to Markdown with three templates
  5. 05Search within video captions

Use cases

  1. 01Extract captions for reading or review
  2. 02Create timestamped Markdown notes from a video
  3. 03Find keywords and context in captions

MCP support

It exposes MCP tools for video information, caption extraction, Markdown conversion, and listing templates; authentication supports an API key or OAuth2.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

YouTube MCP Server

A Model Context Protocol (MCP) server for interacting with YouTube videos. This server provides tools for extracting video metadata, captions, and converting them to markdown format with various templates.

Features

  • Video Metadata: Fetch comprehensive video information
  • Caption Extraction: Support for auto-generated and manual captions
  • Multiple Languages: Built-in support for English and French
  • Template System: Three built-in markdown templates:
    • Basic: Simple transcript format
    • Detailed: Full metadata with timestamps
    • Search: Results highlighting with context
  • Search Functionality: Search within video captions
  • Flexible Authentication: Supports both API key and OAuth2 authentication

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • A YouTube Data API key and/or OAuth2 credentials

Installation

  1. Clone the repository:
git clone [repository-url]
cd youtube-mcp
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Configuration

Create a .env file in the root directory with your YouTube credentials:

YOUTUBE_API_KEY=your_api_key
YOUTUBE_CLIENT_ID=your_client_id
YOUTUBE_CLIENT_SECRET=your_client_secret
YOUTUBE_REFRESH_TOKEN=your_refresh_token  # Optional, for OAuth2

MCP Configuration

Add the server to your MCP settings file (usually at ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json):

{
  "mcpServers": {
    "youtube": {
      "command": "node",
      "args": ["path/to/youtube-mcp/build/index.js"],
      "env": {
        "YOUTUBE_API_KEY": "your_api_key",
        "YOUTUBE_CLIENT_ID": "your_client_id",
        "YOUTUBE_CLIENT_SECRET": "your_client_secret"
      },
      "disabled": false,
      "alwaysAllow": []
    }
  }
}

Usage

The server provides the following tools:

1. Get Video Info
use_mcp_tool youtube get_video_info {
  "url": "https://www.youtube.com/watch?v=VIDEO_ID"
}
2. Get Captions
use_mcp_tool youtube get_captions {
  "url": "https://www.youtube.com/watch?v=VIDEO_ID",
  "language": "en"  // Optional, defaults to "en"
}
3. Convert to Markdown
use_mcp_tool youtube convert_to_markdown {
  "url": "https://www.youtube.com/watch?v=VIDEO_ID",
  "template_name": "detailed",  // Optional, "basic", "detailed", or "search"
  "language": "en",            // Optional
  "options": {                 // Optional
    "include_chapters": true,
    "search_term": "keyword"   // Only for search template
  }
}
4. List Templates
use_mcp_tool youtube list_templates

Dependencies

{
  "dependencies": {
    "@modelcontextprotocol/sdk": "latest",
    "googleapis": "^146.0.0",
    "google-auth-library": "^9.0.0",
    "youtube-captions-scraper": "^2.0.0",
    "express": "^4.18.2",
    "open": "^9.1.0"
  },
  "devDependencies": {
    "@types/node": "^20.0.0",
    "typescript": "^5.0.0",
    "tsx": "^4.0.0"
  }
}

OAuth2 Setup

For OAuth2 authentication (required for private video access):

  1. Create a project in the Google Cloud Console
  2. Enable the YouTube Data API v3
  3. Create OAuth2 credentials (Web application type)
  4. Run the authentication script:
node src/get-api-key.js
  1. Follow the browser prompts to authorize the application
  2. Copy the refresh token to your configuration

Customizing Templates

You can add custom templates by modifying the DEFAULT_TEMPLATES array in src/index.ts. Templates follow this structure:

interface MarkdownTemplate {
  name: string;
  description: string;
  format: {
    header?: string;
    chapter_format?: string;
    caption_block: string;
    timestamp_format?: string;
    search_result_format?: string;
  }
}

License

MIT

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.