YouTube MCP Server

by coyaSONG
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows querying YouTube data, including searching for videos, retrieving video and channel information, and fetching video comments through the YouTube Data API.

YouTube MCP 서버

YouTube 데이터와 상호작용하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 stdio 인터페이스를 통해 YouTube 동영상, 채널, 댓글, 대본을 쿼리하는 리소스와 도구를 제공합니다.

특징

  • 고급 필터링 옵션을 사용하여 YouTube 동영상 검색
  • 특정 비디오 및 채널에 대한 자세한 정보를 얻으세요
  • 여러 비디오의 통계를 비교하세요
  • 지역 및 카테고리별 인기 영상을 찾아보세요
  • 채널 성과 및 비디오 통계 분석
  • 비디오 댓글 및 대본/자막 검색
  • 비디오 분석 및 대본 요약 생성

필수 조건

  • Node.js(v16+)
  • YouTube 데이터 API 키

설치

Smithery를 통해 설치

Smithery 를 통해 Claude Desktop에 YouTube MCP 서버를 자동으로 설치하는 방법:

지엑스피1

수동 설치

  1. 이 저장소를 복제하세요:
    git clone https://github.com/coyaSONG/youtube-mcp-server.git cd youtube-mcp-server
  2. 종속성 설치:
    npm install
  3. 루트 디렉토리에 .env 파일을 만듭니다.
    YOUTUBE_API_KEY=your_youtube_api_key_here PORT=3000

용법

건물과 운영

  1. 프로젝트를 빌드하세요:
    npm run build
  2. 서버를 실행합니다:
    npm start
  3. 개발 모드에서 실행:
    npm run dev
  4. 빌드 아티팩트 정리:
    npm run clean

도커 배포

이 프로젝트에는 컨테이너화된 배포를 위한 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

감사의 말

ID: nuyw49oscd