YouTubeからLinkedIn MCPサーバーへ
YouTube動画からLinkedIn投稿の下書きを自動生成するモデルコンテキストプロトコル(MCP)サーバー。YouTube動画のトランスクリプトに基づいて、高品質で編集可能なコンテンツの下書きを提供します。
特徴
YouTube トランスクリプト抽出: 動画 URL を使用して YouTube 動画からトランスクリプトを抽出します
トランスクリプト要約: OpenAI GPTを使用してビデオコンテンツの簡潔な要約を生成します
LinkedIn 投稿生成: カスタマイズ可能なトーンとスタイルでプロフェッショナルな LinkedIn 投稿の下書きを作成します
モジュラーAPI設計:明確に定義されたエンドポイントを備えたクリーンなFastAPI実装
コンテナ化されたデプロイメント:Smitheryへのデプロイメント準備完了
Related MCP server: YouTube Translate MCP
セットアップ手順
前提条件
Python 3.8以上
Docker(コンテナ化されたデプロイメント用)
OpenAI APIキー
YouTube データ API キー (オプションですが、メタデータの精度向上のため推奨)
地域開発
リポジトリをクローンします。
git clone <repository-url> cd yt-to-linkedin仮想環境を作成し、依存関係をインストールします。
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 --reloadAPIドキュメントはhttp://localhost:8000/docsからアクセスできます。
Docker デプロイメント
Docker イメージをビルドします。
docker build -t yt-to-linkedin-mcp .コンテナを実行します。
docker run -p 8000:8000 --env-file .env yt-to-linkedin-mcp
鍛冶屋の展開
Smithery CLI がインストールされ、設定されていることを確認してください。
Smithery にデプロイ:
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キー | いいえ(リクエストで提供可能) |
YOUTUBE_API_KEY | 動画のメタデータを取得するための YouTube Data API キー | いいえ(リクエストで提供可能) |
ポート | サーバーを実行するポート(デフォルト: 8000) | いいえ |
注:APIキーの環境変数はオプション(各リクエストで指定可能)ですが、ローカル開発およびテストでは設定することをお勧めします。Smitheryにデプロイする場合、ユーザーはリクエストで独自のAPIキーを指定する必要があります。
ライセンス
マサチューセッツ工科大学