mcp-content-pipeline
This server provides MCP tools to analyse YouTube videos and X/Twitter feeds, generate infographics, and sync results to GitHub.
Analyse a YouTube video — extracts transcript and generates key takeaways, TLDR, and social hook.
Batch analyse multiple YouTube videos from a list of URLs or a config file.
Fetch recent videos from a YouTube channel.
Analyse recent X/Twitter posts from specified or default accounts, with topic filtering and time range.
Generate a comic-book style infographic image from analysis results.
Sync video analyses, X digests, and images as markdown files to a GitHub repository.
Syncs analysis results and generated images to a specified GitHub repository as markdown files.
Generates comic-book style infographics using the Gemini API for visual summaries of analyzed content.
Analyzes YouTube videos by extracting transcripts and generating summaries, key takeaways, TLDRs, and social hooks.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-content-pipeline Analyse this YouTube video and generate a comic infographic: https://youtu.be/xyz"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-content-pipeline
A content analysis and digest pipeline for YouTube videos and X (Twitter) feeds, exposed as MCP tools: extract English transcripts, fetch posts from curated accounts, generate TL;DRs and key points, sync to GitHub.
flowchart LR
A[YouTube URL<br/>or X feed] --> B[Extract content<br/>YouTube captions / X API]
B --> C[LLM analysis<br/>TL;DR, key points]
C --> D[Sync to GitHub<br/>markdown]Quick Start
git clone https://github.com/berkayildi/mcp-content-pipeline.git
cd mcp-content-pipeline
cp .env.example .env # fill in the keys for the tools you use
uv syncConfiguration
All config lives in a local .env (gitignored). On startup the server loads the nearest .env from its working directory upwards; set MCP_CP_ENV_FILE to load one from an explicit path instead. Variables already present in the process environment take precedence over .env.
MCP client
Launch the server from the clone so it picks up .env — the same block works for Claude Desktop, Claude Code (.mcp.json), and other MCP clients:
{
"mcpServers": {
"content-pipeline": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-content-pipeline", "mcp-content-pipeline"]
}
}
}To run the published package without a clone, use uvx mcp-content-pipeline and point it at your .env:
{
"mcpServers": {
"content-pipeline": {
"command": "uvx",
"args": ["mcp-content-pipeline"],
"env": { "MCP_CP_ENV_FILE": "/path/to/.env" }
}
}
}Related MCP server: YouTube Transcripts MCP Server
Usage
YouTube Analysis
"Use content-pipeline to analyse this video: https://www.youtube.com/watch?v=..." "Sync the analysis to GitHub"
Or all in one prompt:
"Use content-pipeline to analyse this video and sync to GitHub: https://www.youtube.com/watch?v=..."
X Feed Digest
"Analyse the X feed" "Analyse the X feed for karpathy, bcherny, atmoio, and steipete about AI today" "Analyse the X feed from the last 7 days"
Or with the full pipeline:
"Analyse the X feed and sync to GitHub"
Tools
Tool | Description | Requires |
| Analyse a single YouTube video (English captions) — TL;DR and key points |
|
| Push analyses as markdown files to a GitHub repo |
|
| Analyse recent posts from curated X accounts — daily digest |
|
Environment Variables
All prefixed with MCP_CP_ and set in .env — see .env.example for a ready-to-copy template.
Pipeline driver — required for analyse_video, analyse_x_feed
Variable | Required | Description |
| No |
|
| Yes | API key for the selected provider |
| No | Model name valid for the selected provider (default: |
YouTube — transcripts come from public English captions, no key needed
Variable | Required | Description |
| No | Default: |
GitHub — required for sync_to_github
Variable | Required | Description |
| Yes | Fine-grained token: target repo only, Contents read/write |
| Yes | Target repo, |
| No | Default: |
| No | Default: |
| No | Default: |
X/Twitter — required for analyse_x_feed
Variable | Required | Description |
| Yes | X API v2 bearer token |
| No | Default usernames, comma-separated — required unless |
| No | Default: |
Cost Projections
Estimated monthly costs for two usage patterns:
Service | Daily (every day) | Weekly X + daily YouTube |
YouTube analysis (LLM API) | ~$3–5/mo (1 video/day) | ~$3–5/mo (1 video/day) |
X feed digest (LLM API) | ~$2–3/mo | ~$0.50/mo |
X API reads | ~$4/mo ($0.13/day) | ~$0.60/mo ($0.15/week) |
Total (excl. LLM API) | ~$4/mo | ~$0.60/mo |
LLM costs are estimated for the default
claude-sonnet-4-6driver and vary withPIPELINE_PROVIDER/PIPELINE_MODEL; they are billed per token by the provider's API (a chat subscription such as Claude Pro does not cover API usage) and are not included in the totals. The X API spending cap can be configured in the developer console.
What this replaces
Subscription | Monthly cost | What the pipeline covers instead |
X Premium | ~$8/mo | X feed reading via API (~$0.60–4/mo) |
YouTube Premium | ~$14/mo | Transcript extraction from public captions (free) |
Total saved | ~$22/mo | Pipeline cost: ~$0.60–4/mo (plus LLM API usage) |
Eval Gate
PRs touching services/, tools/, config.py, server.py, eval/, .eval-gate.yml or pyproject.toml run .github/workflows/eval-gate.yml: mcp-llm-eval scores faithfulness/relevance of 4 Anthropic/OpenAI models against eval/dataset.json and blocks the PR below the thresholds in .eval-gate.yml. Needs ANTHROPIC_API_KEY and OPENAI_API_KEY repo secrets.
Run it locally (keys exported, unprefixed):
uvx --with "mcp<2" --with anthropic --with openai mcp-llm-eval run --config .eval-gate.yml --dataset eval/dataset.json --output-dir eval/results
uvx --with "mcp<2" mcp-llm-eval check --results eval/results/latest_summary.json --config .eval-gate.ymlAvailable Tools
3 toolsanalyse_videoA
Analyse a single YouTube video — extracts the English transcript, generates a TL;DR and key points.
Use this tool when the user provides a YouTube URL or asks to analyse a YouTube video. Supports youtube.com/watch, youtu.be, youtube.com/shorts, and youtube.com/live URLs. The video must have English captions.
Args: url: YouTube video URL custom_prompt: Additional analysis instructions (optional)
Inputs: url (required), custom_prompt. Returns: result
analyse_x_feedA
Analyse recent X (Twitter) posts and tweets from specified accounts or configured defaults.
Fetches posts from X/Twitter user timelines, filters by topic, and generates a digest with a TL;DR and key points. Use this tool when the user asks about X posts, tweets, Twitter feed, what someone posted on X, or wants a digest of X/Twitter activity.
Args: usernames: X/Twitter usernames to analyse (defaults to configured MCP_CP_X_ACCOUNTS) topics: Topics to focus on (defaults to configured MCP_CP_X_TOPICS) hours_back: How far back to fetch posts (default: 24, use 168 for weekly)
Inputs: topics, usernames, hours_back. Returns: result
sync_to_githubA
Push analysed content as markdown files to a GitHub repository.
Syncs video analyses and X feed digests to a configured GitHub repo. Use after analyse_video or analyse_x_feed to persist results.
Args: analyses: List of analysis result objects from analyse_video commit_message: Git commit message (default: 'Add video analyses') x_digests: Optional list of X digest analysis objects from analyse_x_feed
Inputs: analyses (required), x_digests, commit_message. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
The three tools have distinct roles: video analysis, X/Twitter feed analysis, and GitHub syncing. The two 'analyse_' tools could be momentarily confused if a user says 'analyse this content' without naming the source, but their descriptions clearly separate YouTube from X/Twitter.
All tools follow a consistent verb_noun pattern: analyse_video, analyse_x_feed, sync_to_github. The use of 'analyse' for the two source-specific tools and 'sync_to' for the persistence step is predictable and readable.
Three tools are well-scoped for a focused content-analysis-to-GitHub pipeline. Each tool earns its place: two analysis sources and one persistence step, with no redundant or trivial tools.
The surface covers the core pipeline: analyse a video, analyse an X feed, and sync results to GitHub. Minor gaps remain around retrieving or listing previously synced analyses and managing configuration, but agents can work around these for the stated purpose.
Maintenance
Related MCP Connectors
YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP.
YouTube transcripts, Instagram profiles and posts, and TikTok data as MCP tools.
Real-time YouTube transcripts, comments, channels & video search MCP. Local npx or hosted OAuth.
Social media analytics, video analysis, and competitor intel for any MCP-compatible AI agent.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConverts YouTube and Bilibili videos into structured knowledge articles using local transcription or subtitle extraction combined with AI-powered summarization. It supports multiple summary styles and provides tools to process URLs, track job status, and retrieve results directly within MCP-compatible agents.65MIT
- FlicenseAqualityDmaintenanceProvides YouTube video transcripts (text and metadata) as MCP tools for AI hosts like Claude Code, enabling summarization, search, and Q&A without watching the video.2-
- FlicenseNot gradedqualityAmaintenanceEnables users to ingest YouTube videos, analyze transcripts and scene-change frames, and query a compounding wiki knowledge base through MCP clients like Claude and Copilot.-
- FlicenseNot gradedqualityAmaintenanceTransforms YouTube videos into a persistent, compounding knowledge wiki by extracting transcripts plus scene-change frames described by a vision model, then merging entities, topics, and concepts into cross-referenced pages. Enables natural-language questioning over that compiled knowledge, letting Claude, Copilot, or other MCP clients reason over the results without needing an API key.-