YouTube MCP 서버
YouTube 데이터와 상호작용하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 stdio 인터페이스를 통해 YouTube 동영상, 채널, 댓글, 대본을 쿼리하는 리소스와 도구를 제공합니다.
특징
- 고급 필터링 옵션을 사용하여 YouTube 동영상 검색
- 특정 비디오 및 채널에 대한 자세한 정보를 얻으세요
- 여러 비디오의 통계를 비교하세요
- 지역 및 카테고리별 인기 영상을 찾아보세요
- 채널 성과 및 비디오 통계 분석
- 비디오 댓글 및 대본/자막 검색
- 비디오 분석 및 대본 요약 생성
필수 조건
- Node.js(v16+)
- YouTube 데이터 API 키
설치
Smithery를 통해 설치
Smithery 를 통해 Claude Desktop에 YouTube MCP 서버를 자동으로 설치하는 방법:
지엑스피1
수동 설치
- 이 저장소를 복제하세요:
git clone https://github.com/coyaSONG/youtube-mcp-server.git
cd youtube-mcp-server
- 종속성 설치:
- 루트 디렉토리에
.env
파일을 만듭니다.YOUTUBE_API_KEY=your_youtube_api_key_here
PORT=3000
용법
건물과 운영
- 프로젝트를 빌드하세요:
- 서버를 실행합니다:
- 개발 모드에서 실행:
- 빌드 아티팩트 정리:
도커 배포
이 프로젝트에는 컨테이너화된 배포를 위한 Dockerfile이 포함되어 있습니다.
# Build the Docker image
docker build -t youtube-mcp-server .
# Run the container
docker run -p 3000:3000 --env-file .env youtube-mcp-server
API 참조
자원
youtube://video/{videoId}
- 특정 비디오에 대한 자세한 정보를 얻습니다.youtube://channel/{channelId}
- 특정 채널에 대한 정보를 가져옵니다.youtube://transcript/{videoId}
- 특정 비디오의 대본을 가져옵니다.- 선택적 쿼리 매개변수:
?language=LANGUAGE_CODE
(예: en
, ko
, ja
)
도구
기본 도구
search-videos
- 고급 필터링 옵션을 사용하여 YouTube 비디오 검색get-video-comments
- 특정 비디오에 대한 댓글 가져오기get-video-transcript
- 특정 비디오의 대본을 선택 언어로 받아보세요enhanced-transcript
- 필터링, 검색 및 다중 비디오 기능을 갖춘 고급 대본 추출get-key-moments
- 비디오 대본에서 타임스탬프가 포함된 주요 순간을 추출하여 탐색을 더욱 쉽게 합니다.get-segmented-transcript
- 비디오 대본을 세그먼트로 나누어 더 쉽게 분석할 수 있습니다.
통계 도구
get-video-stats
- 특정 비디오에 대한 통계 정보를 가져옵니다.get-channel-stats
- 구독자 수, 조회수 및 기타 채널 통계를 가져옵니다.compare-videos
- 여러 비디오의 통계 비교
디스커버리 도구
get-trending-videos
- 지역 및 카테고리별 인기 동영상 검색get-video-categories
- 특정 지역에 사용 가능한 비디오 카테고리를 가져옵니다.
분��� 도구
analyze-channel-videos
- 특정 채널의 비디오 성과 추세 분석
프롬프트
video-analysis
- YouTube 비디오 분석 생성transcript-summary
- 사용자 정의 길이 및 키워드 추출을 통해 대본을 기반으로 비디오 요약을 생성합니다.segment-by-segment-analysis
- 비디오의 각 세그먼트를 분석하여 콘텐츠에 대한 자세한 분석을 제공합니다.
예시
비디오 대본에 접근하기
youtube://transcript/dQw4w9WgXcQ
특정 언어로 된 성적증명서 받기
youtube://transcript/dQw4w9WgXcQ?language=en
통계 도구 사용
// Get video statistics
{
"type": "tool",
"name": "get-video-stats",
"parameters": {
"videoId": "dQw4w9WgXcQ"
}
}
// Compare multiple videos
{
"type": "tool",
"name": "compare-videos",
"parameters": {
"videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"]
}
}
대본 요약 프롬프트 사용
{
"type": "prompt",
"name": "transcript-summary",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"language": "en"
}
}
향상된 대본 도구 사용
// Basic multi-video transcript extraction
{
"type": "tool",
"name": "enhanced-transcript",
"parameters": {
"videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"],
"format": "timestamped"
}
}
// With search and time filtering
{
"type": "tool",
"name": "enhanced-transcript",
"parameters": {
"videoIds": ["dQw4w9WgXcQ"],
"filters": {
"timeRange": {
"start": 60, // Start at 60 seconds
"end": 180 // End at 180 seconds
},
"search": {
"query": "never gonna",
"contextLines": 2
}
},
"format": "merged"
}
}
// With smart segmentation for easier analysis
{
"type": "tool",
"name": "enhanced-transcript",
"parameters": {
"videoIds": ["dQw4w9WgXcQ"],
"filters": {
"segment": {
"count": 5,
"method": "smart" // Breaks at natural pauses
}
},
"format": "timestamped",
"language": "en"
}
}
향상된 전사 분석 기능 사용
// Get key moments from a video
{
"type": "tool",
"name": "get-key-moments",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"maxMoments": "5"
}
}
// Get a segmented transcript
{
"type": "tool",
"name": "get-segmented-transcript",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"segmentCount": "4"
}
}
// Get a segment-by-segment analysis
{
"type": "prompt",
"name": "segment-by-segment-analysis",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"segmentCount": "4"
}
}
// Get customized transcript summary
{
"type": "prompt",
"name": "transcript-summary",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"language": "en",
"summaryLength": "detailed",
"includeKeywords": "true"
}
}
오류 처리
서버는 다음을 포함한 다양한 오류 조건을 처리합니다.
- 잘못된 API 키
- 비디오 또는 채널을 찾을 수 없습니다.
- 대본을 사용할 수 없습니다
- 네트워크 문제
특허
MIT
감사의 말