MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
Description from the maker (original English)
Turn YouTube product demos into structured UX flow reports, and compare demos side by side.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
FLOWSCOPE_API_URL, FLOWSCOPE_API_TOKEN, FLOWSCOPE_MAX_WAITValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"flowscope": {
"command": "uvx",
"args": [
"flowscope-mcp"
],
"env": {
"FLOWSCOPE_API_URL": "your-value",
"FLOWSCOPE_API_TOKEN": "your-value",
"FLOWSCOPE_MAX_WAIT": "your-value"
}
}
}
}Run this in your terminal
claude mcp add flowscope --env FLOWSCOPE_API_URL=your-value --env FLOWSCOPE_API_TOKEN=your-value --env FLOWSCOPE_MAX_WAIT=your-value -- uvx flowscope-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"flowscope": {
"command": "uvx",
"args": [
"flowscope-mcp"
],
"env": {
"FLOWSCOPE_API_URL": "your-value",
"FLOWSCOPE_API_TOKEN": "your-value",
"FLOWSCOPE_MAX_WAIT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"flowscope": {
"type": "stdio",
"command": "uvx",
"args": [
"flowscope-mcp"
],
"env": {
"FLOWSCOPE_API_URL": "your-value",
"FLOWSCOPE_API_TOKEN": "your-value",
"FLOWSCOPE_MAX_WAIT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
FLOWSCOPE_API_URL envFLOWSCOPE_MAX_WAIT envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account DavidNgugi, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: FLOWSCOPE_API_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.1) reached the registry 30 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server that exposes the FlowScope UX-analysis pipeline to any LLM client. Speaks MCP protocol 2026-07-28 and ships two spec-portable Agent Skills.
uvx flowscope-mcp # stdio server; needs a local FlowScope backend
FlowScope takes a YouTube product-demo URL, downloads the video, transcribes it, extracts and de-duplicates screenshots of each distinct screen, describes every screen with a vision model, and synthesises a step-by-step UX flow. This package turns that pipeline into tools an agent can call.
Ask your agent something like:
Compare the onboarding flows in these two videos:
and
Tear down the checkout UX in this demo:
This server is a client of a running FlowScope backend; it does not run the pipeline itself. Start the backend first:
cd backend
uvicorn app.main:app --port 8000
The backend needs ffmpeg, a Python environment with backend/requirements.txt, and one LLM provider key in backend/.env. The server's flowscope_health_check tool reports exactly which of these is missing, so you can ask your agent to check rather than guessing.
One step, and it brings the skills, the prompts, and the server registration:
/plugin marketplace add DavidNgugi/flowscope
/plugin install flowscope@flowscope
Nothing needs a permanent install — uvx runs it in a throwaway environment. uv is the only prerequisite (brew install uv):
uvx flowscope-mcp # starts a stdio server
uvx flowscope-mcp --version # confirm the published version uvx flowscope-mcp@0.1.0 # pin, when reproducibility matters
uvx --from /absolute/path/to/flowscope/mcp flowscope-mcp
uvx --from "git+https://github.com/DavidNgugi/flowscope.git@main#subdirectory=mcp" flowscope-mcp
| Variable | Default | Purpose |
|---|---|---|
FLOWSCOPE_API_URL | http://127.0.0.1:8000 | Backend base URL. /api is appended if absent, so either form works. |
FLOWSCOPE_API_TOKEN | _(empty)_ | Sent as Authorization: Bearer …. Only needed behind an authenticating proxy. |
FLOWSCOPE_HTTP_TIMEOUT | 30 | Seconds for ordinary requests. |
FLOWSCOPE_MAX_WAIT | 900 | Default wait budget for flowscope_analyze_video. |
FLOWSCOPE_POLL_INTERVAL | 5 | Seconds between job-status polls. |
These are read from the process environment on each call. The MCP Python SDK v2 deliberately stopped reading MCP_* variables and .env files, so set them in your client's server configuration instead.
The config shapes genuinely differ — VS Code's own file uses `servers` where every other client uses `mcpServers`, Codex is TOML, and Claude Desktop does not expand ${VAR} placeholders — so generating the file is more reliable than copying a snippet:
uvx --from flowscope-mcp flowscope-mcp-install --help # every client + its path
uvx --from flowscope-mcp flowscope-mcp-install print # portable JSON, writes nothing
uvx --from flowscope-mcp flowscope-mcp-install claude-code uvx --from flowscope-mcp flowscope-mcp-install cursor uvx --from flowscope-mcp flowscope-mcp-install vscode uvx --from flowscope-mcp flowscope-mcp-install codex uvx --from flowscope-mcp flowscope-mcp-install gemini uvx --from flowscope-mcp flowscope-mcp-install claude-desktop
It merges into an existing config file and leaves other servers alone.
| Harness | File | Key | Syntax |
|---|---|---|---|
| Claude Code | .mcp.json, ~/.claude.json | mcpServers | JSON |
| Claude Desktop | claude_desktop_config.json | mcpServers | JSON |
| Cursor | .cursor/mcp.json, ~/.cursor/mcp.json | mcpServers | JSON |
| VS Code | .vscode/mcp.json | `servers` | JSON |
| Codex CLI | ~/.codex/config.toml | [mcp_servers.flowscope] | TOML |
| Gemini CLI | ~/.gemini/settings.json | mcpServers | JSON |
VS Code additionally reads the portable /.mcp.json shape (key mcpServers), which flowscope-mcp-install vscode-portable writes when you want one config shared with Claude Code and Cursor.
Remote / shared deployment
Run one server for several clients, or for a harness that cannot spawn a process:
flowscope-mcp --transport streamable-http --host 127.0.0.1 --port 8765
Clients connect to POST http://127.0.0.1:8765/mcp:
claude mcp add --transport http flowscope http://127.0.0.1:8765/mcp
docs/install.md has the full per-harness reference, the placeholder syntax each one accepts, and the two traps that most often break an install.
Restart your client, open a new chat, and check the install first:
Check whether FlowScope is ready to use.
That runs flowscope_health_check and names anything missing — usually ffmpeg or an LLM provider key on the backend host. Then ask for what you want.
One video, fully analysed
Tear down the onboarding UX in this demo:
What does this product actually do, based on this demo? Walk me through the flow screen by screen:
Analyse
and tell me where a first-time user would get stuck.
A specific question about a flow
In this demo, how many steps does signup take, and what does each one ask for?
Does this demo show any error or empty states?
What's above the fold on the first screen, and what's the primary call to action?
Several videos, compared
Compare the onboarding flows in these two demos. Where do they diverge, and what's the trade-off each one makes?
-
-
I'm designing a checkout flow. What do these two demos do differently, and what should I borrow?
Which of these three gets a new user to first value fastest, judging by the demos?
Working with what already exists
What videos has FlowScope already analysed?
Show me the screenshot of the pricing screen from that report.
You do not need to phrase these carefully. Analyses are cached by YouTube video id, so a vague prompt costs a lookup rather than a re-analysis — the agent checks the cache before spending anything.
Analysing a video downloads it, transcribes it, extracts and de-duplicates screenshots, then makes one vision call per distinct screen plus a synthesis call. A five-minute demo typically yields 15–40 screens. Expect 2–10 minutes and real money per video.
flowscope_analyze_video waits by default and usually returns the finished report directly, so one prompt is normally enough. If the video needs longer than the budget it returns status: "running" with a video_id, and the agent should poll flowscope_job_status. If it resubmits the URL instead, stop it — that starts duplicate work.
Reports have three layers: ux_insights (the synthesis), flow_steps (the ordered user path), and frames (the evidence — one entry per screen, with its purpose, UI elements, and aligned narration). A good answer leads with the insights and cites the screen behind each claim. The bundled skills enforce this, including saying "the demo does not show this" rather than inferring.
docs/usage.md has the full walkthrough, prompt patterns that produce better answers, and a troubleshooting table.
Ten tools, split between read-only inspection and actions that cost money.
| Tool | Annotations | What it does |
|---|---|---|
flowscope_health_check | read-only | Backend up? ffmpeg, yt-dlp, provider key present? |
flowscope_list_videos | read-only | Every stored video with its latest job status. |
flowscope_job_status | read-only | Progress of one analysis job. |
flowscope_get_report | read-only | The finished UX report: flow, insights, per-screen findings. |
flowscope_frame_image | read-only | The actual screenshot for one screen, as an image. |
flowscope_compare_videos | open-world | Cross-video common patterns, divergences, stage matrix. |
flowscope_analyze_video | open-world | Download and analyse one or more URLs. Costs money. |
flowscope_retry_video | idempotent | Re-queue a failed job; completed stages are reused. |
flowscope_reanalyze_video | destructive | Discard derived results and redo analysis. |
flowscope_delete_video | destructive | Remove a video; optionally delete media from disk. |
Plus two prompts (flowscope_ux_teardown, flowscope_compare_flows) and two resources (flowscope://videos, flowscope://videos/{video_id}/report).
Analysing a video downloads it, transcribes it, and makes one vision call per distinct screen plus a synthesis call. That is minutes and real money per video. Two things protect against waste:
flowscope_list_videos reveals existing analyses, and resubmitting a finished video is free and instant.flowscope_analyze_video checks the cache before starting work and only submits what is actually new.The bundled skill teaches an agent to check the cache first.
flowscope-mcp # stdio (default)
flowscope-mcp --transport streamable-http --port 8765
Streamable HTTP serves POST /mcp. The SDK serves the 2026-07-28 protocol revision and the older handshake era from the same endpoint, so legacy clients work without extra configuration. Legacy clients create server-side sessions, which are stored in-process — if you run more than one worker behind a load balancer, enable sticky routing.
Two Agent Skills ship alongside the server, written to the open specification so they install into any compatible client:
| Skill | Use it when |
|---|---|
analyzing-product-demo-ux | You want a teardown of one recorded flow — how onboarding, signup, or checkout works, screen by screen. |
comparing-product-demo-ux | You want several products compared: shared conventions, real divergences, and what is worth borrowing. |
They carry the operational knowledge the tool descriptions cannot: check the health and the cache before spending money, read the synthesis rather than re-deriving it from the raw transcript, say "the demo does not show this" rather than inferring, and treat an auto-caption's product names with suspicion.
The skills and the server are independent — the skills are useful on a report you already have, and the server
Only the beginning is shown; read the rest in the repo