YouTube MCP Server
YouTube MCP 서버
YouTube용 MCP(모델 컨텍스트 프로토콜) 서버 구현으로, AI 언어 모델이 표준화된 인터페이스를 통해 YouTube 콘텐츠와 상호 작용할 수 있습니다.
특징
비디오 정보
비디오 세부 정보(제목, 설명, 길이 등)를 받으세요.
채널 비디오 목록
비디오 통계(조회수, 좋아요, 댓글)를 얻으세요
YouTube에서 동영상 검색
성적증명서 관리
비디오 대본 검색
여러 언어 지원
타임스탬프가 찍힌 캡션을 받으세요
대본 내 검색
채널 관리
채널 세부 정보 가져오기
채널 재생목록 나열
채널 통계 가져오기
채널 콘텐츠 내 검색
재생목록 관리
재생 목록 항목 나열
재생 목록 세부 정보 가져오기
재생 목록 내에서 검색
재생목록 비디오 대본 받기
Related MCP server: mcp-youtube-transcript
설치
Smithery를 통해 설치
Smithery 를 통해 Claude Desktop에 YouTube MCP 서버를 자동으로 설치하는 방법:
지엑스피1
수동 설치
npm install zubeid-youtube-mcp-server구성
다음 환경 변수를 설정하세요.
YOUTUBE_API_KEY: YouTube 데이터 API 키YOUTUBE_TRANSCRIPT_LANG: 대본의 기본 언어(선택 사항, 기본값은 'en')
MCP 클라이언트와 함께 사용
MCP 클라이언트 구성(예: Claude Desktop)에 다음을 추가합니다.
{
"mcpServers": {
"youtube": {
"command": "npx",
"args": ["-y", "zubeid-youtube-mcp-server"],
"env": {
"YOUTUBE_API_KEY": "<YOUR_API_KEY>"
}
}
}
}VS Code와 함께 사용
한 번의 클릭으로 설치하려면 아래 설치 버튼 중 하나를 클릭하세요.
수동 설치
수동 설치를 원하시면 먼저 이 섹션 상단의 설치 버튼을 확인하세요. 그렇지 않은 경우 다음 단계를 따르세요.
VS Code의 사용자 설정(JSON) 파일에 다음 JSON 블록을 추가합니다. Ctrl + Shift + P 를 누르고 Preferences: Open User Settings (JSON) 입력하면 됩니다.
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "YouTube API Key",
"password": true
}
],
"servers": {
"youtube": {
"command": "npx",
"args": ["-y", "zubeid-youtube-mcp-server"],
"env": {
"YOUTUBE_API_KEY": "${input:apiKey}"
}
}
}
}
}선택적으로 작업 공간의 .vscode/mcp.json 이라는 파일에 추가할 수 있습니다.
{
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "YouTube API Key",
"password": true
}
],
"servers": {
"youtube": {
"command": "npx",
"args": ["-y", "zubeid-youtube-mcp-server"],
"env": {
"YOUTUBE_API_KEY": "${input:apiKey}"
}
}
}
}YouTube API 설정
Google Cloud Console로 이동
새 프로젝트를 만들거나 기존 프로젝트를 선택하세요
YouTube 데이터 API v3 활성화
API 자격 증명(API 키) 생성
구성을 위해 API 키를 복사하세요
예시
비디오 관리
// Get video details
const video = await youtube.videos.getVideo({
videoId: "video-id"
});
// Get video transcript
const transcript = await youtube.transcripts.getTranscript({
videoId: "video-id",
language: "en"
});
// Search videos
const searchResults = await youtube.videos.searchVideos({
query: "search term",
maxResults: 10
});채널 관리
// Get channel details
const channel = await youtube.channels.getChannel({
channelId: "channel-id"
});
// List channel videos
const videos = await youtube.channels.listVideos({
channelId: "channel-id",
maxResults: 50
});재생 목록 관리
// Get playlist items
const playlistItems = await youtube.playlists.getPlaylistItems({
playlistId: "playlist-id",
maxResults: 50
});
// Get playlist details
const playlist = await youtube.playlists.getPlaylist({
playlistId: "playlist-id"
});개발
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Lint
npm run lint기여하다
이 저장소에 기여하는 방법에 대한 자세한 내용은 CONTRIBUTING.md를 참조하세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
Available Tools
1 toolvideos_searchVideosC
Search for videos on YouTube
| Name | Required | Description | Default |
|---|---|---|---|
| order | No | Sort order for results, such as relevance or date | |
| query | Yes | Search query | |
| sortBy | No | Optional ranking mode such as relevance, indie_priority, subscribers_asc, subscribers_desc, or recent_activity | |
| channelId | No | Restrict results to a specific channel ID | |
| maxResults | No | Maximum number of results to return | |
| creatorOnly | No | Only include channels heuristically classified as creators | |
| publishedAfter | No | Only include videos published after this ISO 8601 date | |
| uniqueChannels | No | Return only one matched video per unique channel | |
| publishedBefore | No | Only include videos published before this ISO 8601 date | |
| channelMaxSubscribers | No | Maximum subscriber count for the matched video channel | |
| channelMinSubscribers | No | Minimum subscriber count for the matched video channel | |
| channelLastUploadAfter | No | Only include videos whose channel latest upload is after this ISO 8601 date | |
| channelLastUploadBefore | No | Only include videos whose channel latest upload is before this ISO 8601 date |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavioral traits. It only says 'Search for videos,' omitting any details about rate limits, pagination, return format, or side effects. This is insufficient for an agent to anticipate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is too brief for a tool with 13 parameters. While concise, it is under-specified and does not earn its place; it should include more context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (13 parameters, no output schema), the description lacks completeness. It does not explain return values, default behaviors, or interaction effects between parameters, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema itself documents each parameter. The tool description adds no additional meaning beyond the schema, making the baseline score of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Search') and resource ('videos on YouTube'), making the tool's purpose immediately understandable. However, it lacks any differentiation from potential sibling tools (none provided) and is somewhat generic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, when not to use it, or any alternatives. With no sibling tools mentioned, the description could at least imply typical search scenarios, but it does not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v1.0.2- Removed
channels_getChannel - Removed
channels_listVideos - Removed
playlists_getPlaylist - Removed
playlists_getPlaylistItems - Removed
transcripts_getTranscript - Removed
videos_getVideo - Changed
videos_searchVideos11 fields changed- added
Input schema / properties / channelIdAdded value: +{ + "description": "Restrict results to a specific channel ID", + "type": "string" +} - added
Input schema / properties / channelLastUploadAfterAdded value: +{ + "description": "Only include videos whose channel latest upload is after this ISO 8601 date", + "type": "string" +} - added
Input schema / properties / channelLastUploadBeforeAdded value: +{ + "description": "Only include videos whose channel latest upload is before this ISO 8601 date", + "type": "string" +} - added
Input schema / properties / channelMaxSubscribersAdded value: +{ + "description": "Maximum subscriber count for the matched video channel", + "type": "number" +} - added
Input schema / properties / channelMinSubscribersAdded value: +{ + "description": "Minimum subscriber count for the matched video channel", + "type": "number" +} - added
Input schema / properties / creatorOnlyAdded value: +{ + "description": "Only include channels heuristically classified as creators", + "type": "boolean" +} - added
Input schema / properties / orderAdded value: +{ + "description": "Sort order for results, such as relevance or date", + "type": "string" +} - added
Input schema / properties / publishedAfterAdded value: +{ + "description": "Only include videos published after this ISO 8601 date", + "type": "string" +} - added
Input schema / properties / publishedBeforeAdded value: +{ + "description": "Only include videos published before this ISO 8601 date", + "type": "string" +} - added
Input schema / properties / sortByAdded value: +{ + "description": "Optional ranking mode such as relevance, indie_priority, subscribers_asc, subscribers_desc, or recent_activity", + "type": "string" +} - added
Input schema / properties / uniqueChannelsAdded value: +{ + "description": "Return only one matched video per unique channel", + "type": "boolean" +}
7 tool updates
v1.0.0- First observed
channels_getChannel - First observed
channels_listVideos - First observed
playlists_getPlaylist - First observed
playlists_getPlaylistItems - First observed
transcripts_getTranscript - First observed
videos_getVideo - First observed
videos_searchVideos
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools, so disambiguation is perfect.
The single tool name 'videos_searchVideos' mixes camelCase and an awkward verb_noun structure ('videos' as prefix then 'searchVideos'), showing internal inconsistency and lack of a clear pattern.
One tool is far too few for a YouTube MCP server, which typically requires multiple operations (search, video details, channel info, etc.), making the tool count extremely inadequate.
The tool only supports searching for videos, missing critical operations like retrieving video details, listing playlists, or managing subscriptions, leaving severe gaps in covering the YouTube domain.
Maintenance
Related MCP Connectors
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
YouTube transcripts, search, and channel and playlist listings for any AI app. Hosted.
YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP.
YouTube for AI agents: transcripts, comments, video stats, channel monitor, Shorts captions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI language models to interact with YouTube content through a standardized interface, providing tools for retrieving video information, transcripts, channel analytics, and trend analysis.189 npm65MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables retrieval of transcripts from YouTube videos. This server provides direct access to video transcripts and subtitles through a simple interface, making it ideal for content analysis and processing.1290 npm40MIT
- AlicenseBqualityAmaintenanceA server that enables interaction with YouTube data through the Model Context Protocol, allowing users to search videos, retrieve detailed information about videos/channels, and fetch comments.12141 npm27MIT
- AlicenseAqualityDmaintenanceExtracts YouTube video metadata, titles, and descriptions along with transcripts generated from subtitles or OpenAI Whisper speech-to-text. This server enables users to retrieve and analyze detailed video content directly within MCP-compatible environments.15 npmMIT