YouTube to LinkedIn MCP Server
Leverages OpenAI GPT models to summarize video transcripts and generate professional LinkedIn post content with customizable tone, voice, and audience targeting.
Extracts transcripts from YouTube videos to be used for content generation, supporting multiple languages and retrieving video metadata like title and channel name.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
YouTube to LinkedIn MCP Server
A Model Context Protocol (MCP) server that automates generating LinkedIn post drafts from YouTube videos. This server provides high-quality, editable content drafts based on YouTube video transcripts.
Features
YouTube Transcript Extraction: Extract transcripts from YouTube videos using video URLs
Transcript Summarization: Generate concise summaries of video content using OpenAI GPT
LinkedIn Post Generation: Create professional LinkedIn post drafts with customizable tone and style
Modular API Design: Clean FastAPI implementation with well-defined endpoints
Containerized Deployment: Ready for deployment on Smithery
Related MCP server: YouTube Translate MCP
Setup Instructions
Prerequisites
Python 3.8+
Docker (for containerized deployment)
OpenAI API Key
YouTube Data API Key (optional, but recommended for better metadata)
Local Development
Clone the repository:
git clone <repository-url> cd yt-to-linkedinCreate a virtual environment and install dependencies:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txtCreate a
.envfile in the project root with your API keys:OPENAI_API_KEY=your_openai_api_key YOUTUBE_API_KEY=your_youtube_api_keyRun the application:
uvicorn app.main:app --reloadAccess the API documentation at http://localhost:8000/docs
Docker Deployment
Build the Docker image:
docker build -t yt-to-linkedin-mcp .Run the container:
docker run -p 8000:8000 --env-file .env yt-to-linkedin-mcp
Smithery Deployment
Ensure you have the Smithery CLI installed and configured.
Deploy to Smithery:
smithery deploy
API Endpoints
1. Transcript Extraction
Endpoint: /api/v1/transcript
Method: POST
Description: Extract transcript from a YouTube video
Request Body:
{
"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
}Response:
{
"video_id": "VIDEO_ID",
"video_title": "Video Title",
"transcript": "Full transcript text...",
"language": "en",
"duration_seconds": 600,
"channel_name": "Channel Name",
"error": null
}2. Transcript Summarization
Endpoint: /api/v1/summarize
Method: POST
Description: Generate a summary from a video transcript
Request Body:
{
"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
}Response:
{
"summary": "Generated summary text...",
"word_count": 200,
"key_points": [
"Key point 1",
"Key point 2",
"Key point 3"
]
}3. LinkedIn Post Generation
Endpoint: /api/v1/generate-post
Method: POST
Description: Generate a LinkedIn post from a video summary
Request Body:
{
"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
}Response:
{
"post_content": "Generated LinkedIn post content...",
"character_count": 800,
"estimated_read_time": "About 1 minute",
"hashtags_used": ["#ai", "#machinelearning"]
}4. Output Formatting
Endpoint: /api/v1/output
Method: POST
Description: Format the LinkedIn post for output
Request Body:
{
"post_content": "LinkedIn post content...",
"format": "json"
}Response:
{
"content": {
"post_content": "LinkedIn post content...",
"character_count": 800
},
"format": "json"
}Environment Variables
Variable | Description | Required |
OPENAI_API_KEY | OpenAI API key for summarization and post generation | No (can be provided in requests) |
YOUTUBE_API_KEY | YouTube Data API key for fetching video metadata | No (can be provided in requests) |
PORT | Port to run the server on (default: 8000) | No |
Note: While environment variables for API keys are optional (as they can be provided in each request), it's recommended to set them for local development and testing. When deploying to Smithery, users will need to provide their own API keys in the requests.
License
MIT
This server cannot be deployed
Related MCP Connectors
Hosted MCP server for AI agents to post to LinkedIn profiles and X and upload to YouTube.
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
Related MCP Servers
- AlicenseAqualityFmaintenanceA Model Context Protocol server that enables retrieval of transcripts from YouTube videos. This server provides direct access to video captions and subtitles through a simple interface.11,316 npm603MIT
- AlicenseAqualityBmaintenanceA Model Context Protocol server that enables access to YouTube video content through transcripts, translations, summaries, and subtitle generation in various languages.55MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables retrieval of transcripts from YouTube videos. This server provides direct access to video transcripts and subtitles through a simple interface, making it ideal for content analysis and processing.1290 npm40MIT
- AlicenseDqualityCmaintenanceA Model Context Protocol (MCP) server that automates generating LinkedIn post drafts from YouTube videos. This server provides high-quality, editable content drafts based on YouTube video transcripts.622MIT