The LinkedIn Post Generator server automates the creation of professional LinkedIn posts from YouTube videos by extracting transcripts, summarizing content, and generating tailored posts.
Extract Transcripts: Pull transcripts directly from YouTube video URLs
Summarize Content: Create concise summaries with customizable tone, audience, and word count
Generate LinkedIn Posts: Craft professional posts with options for tone, hashtags, speaker name, and call-to-action inclusion
All-in-One Workflow: Perform the entire process from YouTube URL to LinkedIn post in a single operation
Set API Keys: Configure OpenAI (required) and YouTube (optional) API keys
Integration: Compatible with AI assistants that support the Model Context Protocol (MCP)
LinkedIn Post Generator
A Model Context Protocol (MCP) server that automates generating professional LinkedIn post drafts from YouTube videos. This tool streamlines content repurposing by extracting transcripts from YouTube videos, summarizing the content, and generating engaging LinkedIn posts tailored to your preferences.
Table of Contents
Features
YouTube Transcript Extraction: Automatically extract transcripts from any YouTube video
Content Summarization: Generate concise summaries with customizable tone and target audience
LinkedIn Post Generation: Create professional LinkedIn posts with customizable style and tone
All-in-One Workflow: Go from YouTube URL to LinkedIn post in a single operation
Customization Options: Adjust tone, audience, word count, and more to match your personal brand
MCP Integration: Works seamlessly with AI assistants that support the Model Context Protocol
Installation
Local Development
Clone the repository:
git clone https://github.com/NvkAnirudh/LinkedIn-Post-Generator.git cd LinkedIn-Post-GeneratorInstall dependencies:
npm installCreate a
.env
file based on the example:cp .env.example .envAdd your API keys to the
.env
file:OPENAI_API_KEY=your_openai_api_key YOUTUBE_API_KEY=your_youtube_api_keyRun the server:
npm run devTest with MCP Inspector:
npm run inspect
Using with Claude Desktop
This MCP server is designed to work with Claude Desktop and other AI assistants that support the Model Context Protocol. To use it with Claude Desktop:
Configure Claude Desktop by editing the configuration file at
~/Library/Application Support/Claude/claude_desktop_config.json
(Mac) or%APPDATA%\Claude\claude_desktop_config.json
(Windows):{ "mcpServers": { "linkedin-post-generator": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "@NvkAnirudh/linkedin-post-generator", "--key", "YOUR_SMITHERY_API_KEY", "--config", "{\"OPENAI_API_KEY\":\"YOUR_OPENAI_API_KEY\",\"YOUTUBE_API_KEY\":\"YOUR_YOUTUBE_API_KEY\"}", "--transport", "stdio" ] } } }Replace:
YOUR_SMITHERY_API_KEY
with your Smithery API keyYOUR_OPENAI_API_KEY
with your OpenAI API keyYOUR_YOUTUBE_API_KEY
with your YouTube API key (optional)
Restart Claude Desktop
In Claude Desktop, you can now access the LinkedIn Post Generator tools without needing to set API keys again
Configuration
The application requires API keys to function properly:
OpenAI API Key (required): Used for content summarization and post generation
YouTube API Key (optional): Enhances YouTube metadata retrieval
You can provide these keys in three ways:
1. Via Claude Desktop Configuration (Recommended)
When using with Claude Desktop and Smithery, the best approach is to include your API keys in the Claude Desktop configuration file as shown in the Using with Claude Desktop section. This way, the keys are automatically passed to the MCP server, and you don't need to set them again.
2. As Environment Variables
When running locally, you can set API keys as environment variables in a .env
file:
3. Using the Set API Keys Tool
If you haven't provided API keys through the configuration or environment variables, you can set them directly through the MCP interface using the set_api_keys
tool.
Usage
Available Tools
Set API Keys
Tool:
set_api_keys
Purpose: Configure your API keys
Parameters:
openaiApiKey
: Your OpenAI API key (required)youtubeApiKey
: Your YouTube API key (optional)
Check API Keys
Tool:
check_api_keys
Purpose: Verify your API key configuration status
Extract Transcript
Tool:
extract_transcript
Purpose: Get the transcript from a YouTube video
Parameters:
youtubeUrl
: URL of the YouTube video
Summarize Transcript
Tool:
summarize_transcript
Purpose: Create a concise summary of the video content
Parameters:
transcript
: The video transcript texttone
: Educational, inspirational, professional, or conversationalaudience
: General, technical, business, or academicwordCount
: Approximate word count for the summary (100-300)
Generate LinkedIn Post
Tool:
generate_linkedin_post
Purpose: Create a LinkedIn post from a summary
Parameters:
summary
: Summary of the video contentvideoTitle
: Title of the YouTube videospeakerName
: Name of the speaker (optional)hashtags
: Relevant hashtags (optional)tone
: First-person, third-person, or thought-leaderincludeCallToAction
: Whether to include a call to action
All-in-One: YouTube to LinkedIn Post
Tool:
youtube_to_linkedin_post
Purpose: Complete workflow from YouTube URL to LinkedIn post
Parameters:
youtubeUrl
: YouTube video URLtone
: Desired tone for the postPlus additional customization options
Workflow Example
Set your API keys using the
set_api_keys
toolUse the
youtube_to_linkedin_post
tool with a YouTube URLReceive a complete LinkedIn post draft ready to publish
Deployment
This server is deployed on Smithery, a platform for hosting and sharing MCP servers. The deployment configuration is defined in the smithery.yaml
file.
To deploy your own instance:
Create an account on Smithery
Install the Smithery CLI:
npm install -g @smithery/cliDeploy the server:
smithery deploy
Contributing
Contributions are welcome and appreciated! Here's how you can contribute to the LinkedIn Post Generator:
Reporting Issues
Use the GitHub issue tracker to report bugs or suggest features
Please provide detailed information about the issue, including steps to reproduce, expected behavior, and actual behavior
Include your environment details (OS, Node.js version, etc.) when reporting bugs
Pull Requests
Fork the repository
Create a new branch (
git checkout -b feature/your-feature-name
)Make your changes
Run tests to ensure your changes don't break existing functionality
Commit your changes (
git commit -m 'Add some feature'
)Push to the branch (
git push origin feature/your-feature-name
)Open a Pull Request
Development Guidelines
Follow the existing code style and conventions
Write clear, commented code
Include tests for new features
Update documentation to reflect your changes
Feature Suggestions
If you have ideas for new features or improvements:
Check existing issues to see if your suggestion has already been proposed
If not, open a new issue with the label 'enhancement'
Clearly describe the feature and its potential benefits
Documentation
Improvements to documentation are always welcome:
Fix typos or clarify existing documentation
Add examples or use cases
Improve the structure or organization of the documentation
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.
License
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
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.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA 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.Last updated -1257318MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enables access to YouTube video content through transcripts, translations, summaries, and subtitle generation in various languages.Last updated -53MIT License
- AsecurityAlicenseAqualityA 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.Last updated -114326MIT License
- -securityAlicense-qualityA 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.Last updated -1MIT License