YouTube에서 LinkedIn MCP 서버로
YouTube 동영상에서 LinkedIn 게시물 초안을 자동으로 생성하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 YouTube 동영상 대본을 기반으로 고품질의 편집 가능한 콘텐츠 초안을 제공합니다.
특징
YouTube 대본 추출 : 비디오 URL을 사용하여 YouTube 비디오에서 대본 추출
대본 요약 : OpenAI GPT를 사용하여 비디오 콘텐츠의 간결한 요약을 생성합니다.
LinkedIn 게시물 생성 : 사용자 정의 가능한 톤과 스타일로 전문적인 LinkedIn 게시물 초안을 작성하세요
모듈식 API 디자인 : 명확하게 정의된 엔드포인트를 갖춘 깔끔한 FastAPI 구현
컨테이너화된 배포 : Smithery에 배포 준비 완료
Related MCP server: YouTube Translate MCP
설치 지침
필수 조건
파이썬 3.8 이상
Docker(컨테이너화된 배포용)
OpenAI API 키
YouTube 데이터 API 키(선택 사항이지만 더 나은 메타데이터를 위해 권장됨)
지역 개발
저장소를 복제합니다.
지엑스피1
가상 환경을 만들고 종속성을 설치합니다.
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txtAPI 키로 프로젝트 루트에
.env파일을 만듭니다.OPENAI_API_KEY=your_openai_api_key YOUTUBE_API_KEY=your_youtube_api_key애플리케이션을 실행합니다.
uvicorn app.main:app --reloadhttp://localhost:8000/docs 에서 API 문서에 액세스하세요.
도커 배포
Docker 이미지를 빌드합니다.
docker build -t yt-to-linkedin-mcp .컨테이너를 실행합니다.
docker run -p 8000:8000 --env-file .env yt-to-linkedin-mcp
대장간 배치
Smithery CLI가 설치되고 구성되어 있는지 확인하세요.
대장간에 배치:
smithery deploy
API 엔드포인트
1. 전사본 추출
엔드포인트 : /api/v1/transcript
방법 : POST
설명 : YouTube 비디오에서 대본 추출
요청 본문 :
{
"youtube_url": "https://www.youtube.com/watch?v=VIDEO_ID",
"language": "en",
"youtube_api_key": "your_youtube_api_key" // Optional, provide your own YouTube API key
}응답 :
{
"video_id": "VIDEO_ID",
"video_title": "Video Title",
"transcript": "Full transcript text...",
"language": "en",
"duration_seconds": 600,
"channel_name": "Channel Name",
"error": null
}2. 필사본 요약
엔드포인트 : /api/v1/summarize
방법 : POST
설명 : 비디오 대본에서 요약을 생성합니다.
요청 본문 :
{
"transcript": "Video transcript text...",
"video_title": "Video Title",
"tone": "professional",
"audience": "general",
"max_length": 250,
"min_length": 150,
"openai_api_key": "your_openai_api_key" // Optional, provide your own OpenAI API key
}응답 :
{
"summary": "Generated summary text...",
"word_count": 200,
"key_points": [
"Key point 1",
"Key point 2",
"Key point 3"
]
}3. LinkedIn 게시물 생성
엔드포인트 : /api/v1/generate-post
방법 : POST
설명 : 비디오 요약에서 LinkedIn 게시물 생성
요청 본문 :
{
"summary": "Video summary text...",
"video_title": "Video Title",
"video_url": "https://www.youtube.com/watch?v=VIDEO_ID",
"speaker_name": "Speaker Name",
"hashtags": ["ai", "machinelearning"],
"tone": "professional",
"voice": "first_person",
"audience": "technical",
"include_call_to_action": true,
"max_length": 1200,
"openai_api_key": "your_openai_api_key" // Optional, provide your own OpenAI API key
}응답 :
{
"post_content": "Generated LinkedIn post content...",
"character_count": 800,
"estimated_read_time": "About 1 minute",
"hashtags_used": ["#ai", "#machinelearning"]
}4. 출력 형식
엔드포인트 : /api/v1/output
방법 : POST
설명 : 출력을 위한 LinkedIn 게시물 형식 지정
요청 본문 :
{
"post_content": "LinkedIn post content...",
"format": "json"
}응답 :
{
"content": {
"post_content": "LinkedIn post content...",
"character_count": 800
},
"format": "json"
}환경 변수
변하기 쉬운 | 설명 | 필수의 |
OPENAI_API_KEY | 요약 및 사후 생성을 위한 OpenAI API 키 | 아니요(요청 시 제공 가능) |
유튜브 API 키 | 비디오 메타데이터를 가져오기 위한 YouTube 데이터 API 키 | 아니요(요청 시 제공 가능) |
포트 | 서버를 실행할 포트(기본값: 8000) | 아니요 |
참고 : API 키 환경 변수는 선택 사항이지만(각 요청에서 제공할 수 있으므로) 로컬 개발 및 테스트용으로 설정하는 것이 좋습니다. Smithery에 배포하는 경우 사용자는 요청에 자체 API 키를 제공해야 합니다.
특허
MIT