YouTube to LinkedIn MCP Server について
YouTube to LinkedIn MCP Serverは、YouTube動画の文字起こしから要約と編集可能なLinkedIn投稿案を作成します。動画内容を再利用したい人向けで、トーン、文体、出力形式を指定できます。
主な機能
- 01YouTubeの文字起こし取得
- 02文字起こしの要約
- 03設定可能なLinkedIn投稿案の生成
- 04投稿出力のフォーマット
活用シーン
- 01動画をもとにしたLinkedIn投稿の下書き
- 02要点を含む要約の作成
- 03生成した投稿の整形
MCP 対応
YouTube動画の内容からLinkedIn投稿案を作成するMCPサーバーです。APIは文字起こし取得、要約、投稿生成、出力整形に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
YouTube to LinkedIn MCP Server
YouTube 動画から LinkedIn 投稿の下書きを自動生成する Model Context Protocol(MCP)サーバーです。YouTube 動画の文字起こしに基づき、高品質で編集可能なコンテンツの下書きを提供します。
Features
- YouTube の文字起こしの抽出:動画 URL を使用して YouTube 動画の文字起こしを抽出します
- 文字起こしの要約:OpenAI GPT を使用して動画の内容を簡潔に要約します
- LinkedIn 投稿の生成:トーンやスタイルをカスタマイズできる、プロフェッショナルな LinkedIn 投稿の下書きを作成します
- モジュール式 API 設計:明確に定義されたエンドポイントを備えた、シンプルな FastAPI 実装です
- コンテナ化されたデプロイ:Smithery へのデプロイに対応しています
Setup Instructions
Prerequisites
- Python 3.8+
- Docker(コンテナ化されたデプロイに使用)
- OpenAI API Key
- YouTube Data API Key(任意ですが、より正確なメタデータを取得するために推奨します)
Local Development
-
リポジトリをクローンします。
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.txt -
プロジェクトのルートに
.envファイルを作成し、API キーを設定します。OPENAI_API_KEY=your_openai_api_key YOUTUBE_API_KEY=your_youtube_api_key -
アプリケーションを実行します。
uvicorn app.main:app --reload -
http://localhost:8000/docs で API ドキュメントにアクセスします
Docker Deployment
-
Docker イメージをビルドします。
docker build -t yt-to-linkedin-mcp . -
コンテナを実行します。
docker run -p 8000:8000 --env-file .env yt-to-linkedin-mcp
Smithery Deployment
-
Smithery CLI がインストールされ、設定済みであることを確認します。
-
Smithery にデプロイします。
smithery deploy
API Endpoints
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"
}
Environment Variables
| 変数 | 説明 | 必須 |
|---|---|---|
| OPENAI_API_KEY | 要約と投稿の生成に使用する OpenAI API キー | いいえ(リクエストで指定できます) |
| YOUTUBE_API_KEY | 動画のメタデータ取得に使用する YouTube Data API キー | いいえ(リクエストで指定できます) |
| PORT | サーバーを実行するポート(デフォルト:8000) | いいえ |
注:API キーの環境変数は任意(各リクエストで指定できるため)ですが、ローカルでの開発やテストでは設定することをおすすめします。Smithery にデプロイする場合、ユーザーはリクエストで自身の API キーを指定する必要があります。
License
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。