Skip to main content

mcp-content-pipeline

PyPI version Downloads License: MIT Python

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 sync

Configuration

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" }
    }
  }
}

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_video Analyse a single YouTube video (English captions) — TL;DR and key points PIPELINE_API_KEY
sync_to_github Push analyses as markdown files to a GitHub repo GITHUB_TOKEN, GITHUB_REPO
analyse_x_feed Analyse recent posts from curated X accounts — daily digest PIPELINE_API_KEY, X_BEARER_TOKEN

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
PIPELINE_PROVIDER No anthropic | openai (default: anthropic)
PIPELINE_API_KEY Yes API key for the selected provider
PIPELINE_MODEL No Model name valid for the selected provider (default: claude-sonnet-4-6)

YouTube — transcripts come from public English captions, no key needed

Variable Required Description
MAX_TRANSCRIPT_TOKENS No Default: 100000

GitHub — required for sync_to_github

Variable Required Description
GITHUB_TOKEN Yes Personal access token
GITHUB_REPO Yes Target repo, owner/repo format
GITHUB_BRANCH No Default: main
GITHUB_OUTPUT_DIR No Default: content/youtube
GITHUB_X_OUTPUT_DIR No Default: content/x-digest

X/Twitter — required for analyse_x_feed

Variable Required Description
X_BEARER_TOKEN Yes X API v2 bearer token
X_ACCOUNTS No Default usernames, comma-separated — required unless usernames is passed to the tool
X_TOPICS No Default: AI,tech

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-6 driver and vary with PIPELINE_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.yml

Metadata

Release files for mcp-content-pipeline 0.15.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-content-pipeline 0.15.0
File Size Uploaded Provenance
mcp_content_pipeline-0.15.0.tar.gz 132.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-content-pipeline 0.15.0
File Interpreter ABI Platform
mcp_content_pipeline-0.15.0-py3-none-any.whl Python 3 none any Details

Total release size: 154.0 kB

Release files / mcp_content_pipeline-0.15.0.tar.gz

Download URL mcp_content_pipeline-0.15.0.tar.gz
Size 132.7 kB
Tags Source
SHA-256 checksum
How to use checksums
8662726a83d4916d2e8f9e0fc41e4aa907176246f6bab9b4fed5708965f110bb
BLAKE2b-256 checksum
How to use checksums
4f146179a51283089b09deec2c56218ebe331913ffa07106d917aa69f98ef851
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / mcp_content_pipeline-0.15.0-py3-none-any.whl

Download URL mcp_content_pipeline-0.15.0-py3-none-any.whl
Size 21.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
52593de7486c3870befd4196e92a4fe9c651cd75635ce0156674109e9bf40cf3
BLAKE2b-256 checksum
How to use checksums
e3edb3df830b827c213374394a0335c0cd571c124727d4cdd4113eb4d78e8d23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Security for mcp-content-pipeline 0.15.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mcp_content_pipeline-0.15.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.15.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page