YouTube MCP Server
by Nocodeboy
Verified
# YouTube MCP Server
<div align="center">
<img src="https://img.shields.io/badge/YouTube_API-v3-red" alt="YouTube API Version">
<img src="https://img.shields.io/badge/MCP-Model_Context_Protocol-green" alt="MCP">
<img src="https://img.shields.io/badge/Claude-compatible-blue" alt="Claude Compatible">
<img src="https://img.shields.io/badge/license-MIT-orange" alt="License">
</div>
This is an MCP (Model Context Protocol) server that allows Claude and other AI assistants to interact with the YouTube API. The server provides tools to search for videos, get details about specific videos, search for channels, and obtain detailed information about channels.
## What is MCP?
Model Context Protocol (MCP) is an open standard developed by Anthropic (creators of Claude) to connect AI assistants with external data sources and tools. It allows models like Claude to access up-to-date information and perform actions in external systems in a standardized way.
MCP functions as a "universal bridge" for AI, providing a standardized way for models to access various content repositories, business services, or applications.
## Requirements
- Node.js v16 or higher
- A YouTube API key (obtained from the Google Developer Console)
## Installation
1. Clone this repository:
```bash
git clone https://github.com/Nocodeboy/youtube-mcp-server.git
cd youtube-mcp-server
```
2. Install dependencies:
```bash
npm install
```
3. Create a `.env` file in the project root and add your YouTube API key:
```
YOUTUBE_API_KEY=your_api_key_here
```
## Execution
To start the server, run:
```bash
npm start
```
## Integration with Claude Desktop
To use this MCP server with Claude Desktop, add the following configuration to your `claude_desktop_config.json` file (usually located in `%APPDATA%\Claude\` on Windows or `~/Library/Application Support/Claude/` on macOS):
```json
{
"mcpServers": {
"youtube": {
"command": "node",
"args": ["path/to/youtube-mcp-server/index.js"],
"env": {
"YOUTUBE_API_KEY": "your_api_key_here"
}
}
}
}
```
Replace `"path/to/youtube-mcp-server/index.js"` with the absolute path to the `index.js` file, and `"your_api_key_here"` with your YouTube API key.
## Available Tools
### 1. Search Videos
Search for videos on YouTube based on a query.
```
search_videos
```
Parameters:
- `query` (string, required): Search terms
- `maxResults` (number, optional): Maximum number of results (between 1 and 50)
- `pageToken` (string, optional): Token to get the next page of results
### 2. Get Video Details
Get detailed information about a specific video.
```
get_video_details
```
Parameters:
- `videoId` (string, required): YouTube video ID
### 3. Get Channel Details
Get detailed information about a specific channel.
```
get_channel_details
```
Parameters:
- `channelId` (string, required): YouTube channel ID
### 4. Search Channels
Search for channels on YouTube based on a query.
```
search_channels
```
Parameters:
- `query` (string, required): Search terms
- `maxResults` (number, optional): Maximum number of results (between 1 and 50)
- `pageToken` (string, optional): Token to get the next page of results
## Available Resources
- `youtube://popular/videos`: List of currently popular videos on YouTube
## Usage Examples
With Claude Desktop, you can ask questions like:
- "Search for Python programming videos"
- "Show me details of video with ID dQw4w9WgXcQ"
- "Search for cooking-related channels"
- "Give me information about the GoogleDevelopers channel"
- "What are the most popular videos right now?"
## Getting a YouTube API Key
To get a YouTube API key:
1. Go to the [Google Developer Console](https://console.developers.google.com/)
2. Create a new project (or select an existing one)
3. In the sidebar, select "API Library"
4. Search for "YouTube Data API v3" and enable it
5. In the sidebar, select "Credentials"
6. Click on "Create credentials" and select "API key"
7. Copy the generated key and use it in your `.env` file or in the Claude Desktop configuration
## Troubleshooting
If you encounter errors, check:
1. That you have installed all dependencies with `npm install`
2. That your YouTube API key is valid
3. That you have the YouTube Data API v3 enabled in your Google project
4. That you are using Node.js version 16 or higher
5. If you use Claude Desktop, check the logs in `%APPDATA%\Claude\logs\` (Windows) or `~/Library/Logs/Claude/` (macOS)
## Contributions
Contributions are welcome. You can collaborate in several ways:
1. Reporting bugs or issues
2. Suggesting new features
3. Sending pull requests with improvements or fixes
4. Improving documentation
## Connect & Support
- Follow me on X (Twitter): [@Nocodeboy](https://x.com/Nocodeboy)
- If you find this project useful and want to show your support:
<a href="https://www.buymeacoffee.com/germanhuertas" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
## License
This project is licensed under the MIT License. See the LICENSE file for more details.