The all-in-one tool is the fast path, but the reason to keep the separate tools is control: summarising at 300 words for a technical audience and then writing in first person is a different post from the default, and each intermediate result is something you can read and correct before the next step runs. The output is a draft — nothing here posts to LinkedIn.
An MCP server for repurposing video into written content. It pulls a YouTube transcript, summarises it for a tone and audience you choose, and writes a LinkedIn post from that summary — each step available on its own, or chained end to end from a single URL.
- The transcript of any YouTube video, from its URL — `extract_transcript`
- A summary of that transcript at a length you set between 100 and 300 words, in an educational, inspirational, professional or conversational tone, aimed at a general, technical, business or academic audience — `summarize_transcript`
- A LinkedIn post written from the summary, with the video title, optional speaker name and hashtags, in first-person, third-person or thought-leader voice, with or without a call to action — `generate_linkedin_post`
- The whole chain from a YouTube URL to a finished post draft in one call — `youtube_to_linkedin_post`
- Keys set and checked from inside the conversation when they were not supplied in configuration — `set_api_keys`, `check_api_keys`
An OpenAI API key is required — it does the summarising and the writing — and goes in `OPENAI_API_KEY`. A YouTube API key in `YOUTUBE_API_KEY` is optional and improves metadata retrieval. The npm package name is `yt-to-linkedin-mcp` (1.0.0); run it from a clone with `npm run dev`, or through the hosted Smithery deployment, which takes both keys in its `--config` argument so you set them once.
One command plus a key — npx -y github:NvkAnirudh/LinkedIn-Post-Generator, then supply credentials
