FlowScope UX Flow Analyser
Overview
Description from the maker (original English)
Turn YouTube product demos into structured UX flow reports, and compare demos side by side.
PopNx MCP’s three pillars
These three are never merged into one score: opinions, measurements and popularity are different things.
- User voiceiNo reviews yetReviews open together with accounts in a later step
- Our basic checksi1 of 1 passedChecked from public information; code not scanned yet
- UsageiVery new↓ 23/wk · ★ –
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Runs on your computer
- Transport: stdio
- Category: Marketing & social media
- You need to fill in: FLOWSCOPE_API_TOKEN
Install
Pick the AI app you use, then copy the settings.
Before you install
- Basic checks: 1 of 1 passed
- Runs on your computer with your user’s permissions (files, network, apps).
- You fill in yourself:
FLOWSCOPE_API_URL,FLOWSCOPE_API_TOKEN,FLOWSCOPE_MAX_WAIT
Values marked secret are keys to your account. Never share them or paste them into a chat.
You need
- PyPIPython’s uv installed (for the uvx command)
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.
Or copy the settings yourself
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.
Or copy the settings yourself
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.
Values you fill in
FLOWSCOPE_API_URLenvBase URL of the running FlowScope backend. '/api' is appended if absent.- Bearer token, only needed when the backend sits behind an authenticating proxy.
FLOWSCOPE_MAX_WAITenvDefault seconds that flowscope_analyze_video waits for a job before returning a job id.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
What it can do
Runs on your computer; the tool list appears in your AI app after you install it.
Basic checksi
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 8, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified with the GitHub account DavidNgugi, which owns the repo
- … Not checked yet
Still maintained
We have not read this repo from GitHub yet
- … Not checked yet
Has a licence
We have not read this repo from GitHub yet
- – Not applicable
Endpoint responds
This one runs on your computer; there is no internet endpoint
- – Not applicable
Sign-in with OAuth
Runs on your computer and uses local settings instead
- … Not checked yet
No hidden instructions in tool descriptions
Runs on your computer; we can only read tool lists from internet endpoints
Compared with others in Marketing & social mediai
- More stars than 0% of the other 3597 servers in this category
- Published to the registry more recently than 48% of the other 3597 servers in this category
- Basic checks equal to or better than 100% of the other 3597 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is FlowScope UX Flow Analyser safe?
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.
What keys or codes does it need?
You need to fill in: FLOWSCOPE_API_TOKEN
Does it run on my computer or in the cloud?
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).
Is it still maintained?
The GitHub repo last changed –, and the latest version (0.1.1) reached the registry 32 days ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
What can I use instead?
In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Google Analytics MCP
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
BibiGPT YouTube Video Summarizer
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
README from the maker
Open the README
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.
flowscope-mcp
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:
Requirements
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.
Install
As a Claude Code plugin
One step, and it brings the skills, the prompts, and the server registration:
/plugin marketplace add DavidNgugi/flowscope
/plugin install flowscope@flowscope
From PyPI
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
From a git URL or a local checkout
uvx --from /absolute/path/to/flowscope/mcp flowscope-mcp
uvx --from "git+https://github.com/DavidNgugi/flowscope.git@main#subdirectory=mcp" flowscope-mcp
Environment
| 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.
Point a harness at it
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.
Use it
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.
Example prompts
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.
What happens after you press enter
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.
Answers are grounded, or should be
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.
Tools
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).
Cost and time
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:
- Results are cached by YouTube video id.
flowscope_list_videosreveals existing analyses, and resubmitting a finished video is free and instant. flowscope_analyze_videochecks the cache before starting work and only submits what is actually new.
The bundled skill teaches an agent to check the cache first.
Transports
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.
Skills
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