py-mcp-youtube-툴박스



YouTube와 상호작용할 수 있는 강력한 도구를 AI 어시스턴트에게 제공하는 MCP 서버로, 비디오 검색, 대본 추출, 댓글 검색 등이 포함됩니다.
개요
py-mcp-youtube-toolbox는 다음과 같은 YouTube 관련 기능을 제공합니다.
- 고급 필터링 옵션으로 YouTube 동영상 검색
- 비디오 및 채널에 대한 자세한 정보를 얻으세요
- 정렬 옵션을 사용하여 비디오 댓글 검색
- 여러 언어로 비디오 대본과 자막을 추출합니다.
- 주어진 비디오와 관련된 비디오를 찾으세요
- 지역별 인기 영상 보기
- 대본을 기반으로 비디오 콘텐츠 요약 생성
- 필터링, 검색 및 다중 비디오 기능을 갖춘 고급 대본 분석
목차
필수 조건
- Python : Python 3.12 이상 설치
- YouTube API 키 :
- Google Cloud Console 로 이동
- 새 프로젝트를 만들거나 기존 프로젝트를 선택하세요
- YouTube 데이터 API v3 활성화:
- "API 및 서비스" > "라이브러리"로 이동하세요.
- "YouTube Data API v3"를 검색하여 활성화하세요.
- 자격 증명을 만듭니다.
- "API 및 서비스" > "자격 증명"으로 이동하세요.
- "자격 증명 만들기" > "API 키"를 클릭하세요.
- API 키를 적어 두세요
설치
Git 복제
지엑스피1
구성
- UV 패키지 관리자를 설치하세요:
curl -LsSf https://astral.sh/uv/install.sh | sh
- 가상 환경을 만들고 활성화하세요.
uv venv -p 3.12
source .venv/bin/activate # On MacOS/Linux
# or
.venv\Scripts\activate # On Windows
- 종속성 설치:
uv pip install -r requirements.txt
- 환경 변수:
cp env.example .env
vi .env
# Update with your YouTube API key
YOUTUBE_API_KEY=your_youtube_api_key
Docker 사용
- Docker 이미지를 빌드합니다.
docker build -t py-mcp-youtube-toolbox .
- 컨테이너를 실행합니다.
docker run -e YOUTUBE_API_KEY=your_youtube_api_key py-mcp-youtube-toolbox
로컬 사용
- 서버를 실행합니다:
- MCP 검사기를 실행합니다.
MCP 설정 구성
MCP 설정 파일에 서버 구성을 추가합니다.
클로드 데스크톱 앱
- Smithery를 통해 자동으로 설치하려면:
npx -y @smithery/cli install @jikime/py-mcp-youtube-toolbox --client claude
- 수동으로 설치하려면
~/Library/Application Support/Claude/claude_desktop_config.json
엽니다.
mcpServers
개체에 다음을 추가합니다.
{
"mcpServers": {
"YouTube Toolbox": {
"command": "/path/to/bin/uv",
"args": [
"--directory",
"/path/to/py-mcp-youtube-toolbox",
"run",
"server.py"
],
"env": {
"YOUTUBE_API_KEY": "your_youtube_api_key"
}
}
}
}
커서 IDE
~/.cursor/mcp.json
엽니다
mcpServers
개체에 다음을 추가합니다.
{
"mcpServers": {
"YouTube Toolbox": {
"command": "/path/to/bin/uv",
"args": [
"--directory",
"/path/to/py-mcp-youtube-toolbox",
"run",
"server.py"
],
"env": {
"YOUTUBE_API_KEY": "your_youtube_api_key"
}
}
}
}
도커를 위해
{
"mcpServers": {
"YouTube Toolbox": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "YOUTUBE_API_KEY=your_youtube_api_key",
"py-mcp-youtube-toolbox"
]
}
}
}
도구 문서
비디오 도구
search_videos
: 고급 필터링 옵션(채널, 길이, 지역 등)을 사용하여 YouTube 동영상을 검색합니다.get_video_details
: 특정 YouTube 동영상에 대한 자세한 정보(제목, 채널, 조회수, 좋아요 등)를 가져옵니다.get_video_comments
: 정렬 옵션을 사용하여 YouTube 비디오에서 댓글 검색get_related_videos
: 특정 YouTube 동영상과 관련된 동영상을 찾습니다.get_trending_videos
: 지역별 YouTube 인기 영상 받기
채널 도구
get_channel_details
: YouTube 채널에 대한 자세한 정보(이름, 구독자, 조회수 등)를 가져옵니다.
필사 도구
get_video_transcript
: 지정된 언어로 된 YouTube 비디오에서 대본/캡션을 추출합니다.get_video_enhanced_transcript
: 필터링, 검색 및 다중 비디오 기능을 갖춘 고급 대본 추출
프롬프트 도구
transcript_summary
: 사용자 정의 옵션을 사용하여 대본을 기반으로 YouTube 비디오 콘텐츠 요약을 생성합니다.
리소스 도구
youtube://available-youtube-tools
: 사용 가능한 모든 YouTube 도구 목록을 가져옵니다.youtube://video/{video_id}
: 특정 비디오에 대한 자세한 정보를 가져옵니다.youtube://channel/{channel_id}
: 특정 채널에 대한 정보를 가져옵니다.youtube://transcript/{video_id}?language={language}
: 특정 비디오의 대본을 가져옵니다.
개발
로컬 테스트를 위해 포함된 클라이언트 스크립트를 사용할 수 있습니다.
# Example: Search videos
uv run client.py search_videos query="MCP" max_results=5
# Example: Get video details
uv run client.py get_video_details video_id=zRgAEIoZEVQ
# Example: Get channel details
uv run client.py get_channel_details channel_id=UCRpOIr-NJpK9S483ge20Pgw
# Example: Get video comments
uv run client.py get_video_comments video_id=zRgAEIoZEVQ max_results=10 order=time
# Example: Get video transcript
uv run client.py get_video_transcript video_id=zRgAEIoZEVQ language=ko
# Example: Get related videos
uv run client.py get_related_videos video_id=zRgAEIoZEVQ max_results=5
# Example: Get trending videos
uv run client.py get_trending_videos region_code=ko max_results=10
# Example: Advanced transcript extraction
uv run client.py get_video_enhanced_transcript video_ids=zRgAEIoZEVQ language=ko format=timestamped include_metadata=true start_time=100 end_time=200 query=에이전트 case_sensitive=true segment_method=equal segment_count=2
# Example:
특허
MIT 라이센스