Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Flask

by tryflaskversion 1.4.1i★ –iRuns in the cloud
Registry nameio.github.tryflask/flask

Install

Overview

Description from the maker (original English)

Video review for agents: upload renders, read time-coded feedback, iterate version by version.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

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 in the cloud
  • Transport: Streamable HTTP
  • Category: Design, images & audio

Install

Pick the AI app you use, then copy the settings.

Before you install

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://api.flask.do/api/mcp/mcp

Run this in your terminal

claude mcp add --transport http flask https://api.flask.do/api/mcp/mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "flask": {
      "url": "https://api.flask.do/api/mcp/mcp"
    }
  }
}

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.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "flask": {
      "type": "http",
      "url": "https://api.flask.do/api/mcp/mcp"
    }
  }
}

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.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://api.flask.do/api/mcp/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.

  • get_guide

    Returns one of Flask's usage guides as Markdown: fixed text written by Flask, the same for every user, with no team data in it. "instructions" (about 15 KB) is the playbook for working with Flask: where uploads go (a new asset or a new version), what an agentic edit attaches, how

  • contents

    Browse the team's folders and assets one level at a time. No id: the team's top level (root folders and assets; team names the team). folder_id: that folder's child folders and assets. asset_id: that asset's versions (version_id, version number, title, status, which one is curren

  • feedback_list

    List top-level feedback on an asset (pass the asset id for its current version, or a version id for that exact version; a folder id is refused - use recent_activity(folder_id)). By default only OPEN feedback (not yet completed) is listed: the feedback that still needs action; cou

  • feedback_get

    Get a single feedback item with its full reply thread. element_id is the item's id, as feedback_list, recent_activity, search or wait_for_feedback return it. Use it when an item has replies (feedback_list gives reply_count, not the replies) or to read one item again; to list an a

  • wait_for_feedback

    Wait for NEW feedback on an asset (comments and replies by others; your own posts are not returned). Blocks up to timeout_seconds (default 45) and returns as soon as new feedback arrives, or times out with an empty list. A recording arrives once its transcript is done; recordings

  • feedback_post

    Create a feedback comment on an asset, as the connected user. Pass an asset id (the comment lands on its current version) or a version id (that exact version). content is Markdown (a heading, lists, bold, links, @mentions as links - see the content parameter). PREFER passing time

  • feedback_update

    Edit an existing feedback item. content (Markdown - replaces the whole body; start from the item's current content to keep its mentions and formatting) and timestamp (video time in seconds) can only be changed on the connected user's OWN comments. add_tags / remove_tags apply the

  • get_annotated_frames

    The visuals of a feedback item, in one call: call it before acting on any item with a visuals field (a recording, a drawing, images). element_id is that item's id, as feedback_list, feedback_get, recent_activity, search or wait_for_feedback return it. For a recording: a frame for

  • get_frame

    Fallback for ONE moment get_annotated_frames did not show: the exact frame at a recording time (at) or when a word/phrase was spoken (word). get_annotated_frames already shows every [phrase](#rt=S) link in a comment - call it first; use this for a moment the comment doesn't link

  • asset_status

    Check whether an uploaded or imported video is ready. Pass the version id an upload returned (its asset_id) or an asset id (resolves to its current version); a folder id is refused. status is one of: ready; pending_ingest, processing, preparing or waiting (still working - check a

  • version_download

    Get a download link for a version's file, to work on it locally. Pass a version id (an upload's asset_id / version_id) or an asset id (its current version); a folder id is refused. A video gives its ORIGINAL uploaded file, exactly as uploaded: Flask keeps it for the team's downlo

  • permission_get

    Read the access settings of a folder or an asset. Returns: your own access level (full_access, comment_and_notes, comment, view or none), whether you can read version notes (can_view_notes) and version files (can_view_code), always together: the team, or a link with Can View Code

  • search

    Search the team's folders (by name or description), assets (by title) and feedback (by text) at once, when you don't know where something is; to browse a known folder use contents, for one asset's feedback feedback_list, for the latest feedback recent_activity. query matches case

  • recent_activity

    Get the latest feedback across the whole team or one folder's subtree (team names the team), newest first: text and recording comments on every asset you can view, so you can read feedback across many videos in one call. Each item has a `type` field ("text" or "recording"), autho

  • tags

    List the team's tags and show the share of each tag (plus an 'untagged' bucket) across a scope. Scope defaults to the whole team; pass folder_id to narrow to one folder (its whole subtree), or asset_id to narrow to one asset (an asset id counts feedback across ALL its versions; a

  • tag_create

    Create a team tag (label) so feedback can be tagged with it by name in feedback_post and feedback_update. Reuse the team's labels when one fits; create one only when the user wants a new label. Idempotent: if a tag with the same name exists (case-insensitive), it is returned unch

  • members

    List the people on the team: user_id, name, role (admin or member), avatar_url and a ready-made mention link; the result's team field names the team. Email addresses are never returned. Use it to mention someone in feedback_post / feedback_update content: [@Name](https://flask.do

  • upload_video

    Upload a video from a public URL (a direct video file link or a Google Drive share link) into Flask. Flask downloads it, stores it, and starts processing. Creates a new asset (container_id + url) with the file as its first version (asset_id / version_id), or a new version of an e

  • upload_file_start

    Start uploading a LOCAL video or image file from the user's machine into Flask. It needs a shell that can run curl; without one (a chat app), upload from a public link with upload_video. VIDEO: creates the asset immediately (container_id + shareable url, live before any bytes mov

  • upload_file_complete

    Finalize a local file upload started with upload_file_start. Call this only AFTER the upload command (or, for an image, the curl PUT) has finished successfully. Pass exactly one of: asset_id (a video: verifies every part landed in storage and starts video processing) or image_url

  • feedback_stats

    Aggregate feedback statistics across many assets in ONE call - counts per asset and per version (v1, v2, ...), split by type (text/recording), tag, and author, with first/last feedback timestamps. Scope to a folder (folder_id), one asset (asset_id - an asset id or any of its vers

  • folder_create

    Create a folder. parent_folder_id is optional: omit it for the team's top level (root), or pass a folder id from contents or search to nest it. Folders are optional and nestable; assets can also sit at root. This does not check for an existing folder with the same name (the app a

  • items_update

    Rename, move and/or change the sharing of folders and assets, up to 20 items per call, each with its own result. Per item: id (a folder id, an asset id, or a version id) plus at least one of: title (renames the folder, or the asset; a version id renames its asset), version_title

  • versions_add

    Make other assets or versions the NEWEST versions of asset_id (the asset that keeps its title, link and sharing), as dragging one onto another does in the Flask app. Use it when a revision was uploaded as a separate asset. A source asset id brings ALL its versions, and that sourc

  • versions_split

    Move each version in version_ids out of its asset into a new asset of its own, in the same folder, named after the version, with the same sharing. An asset always keeps at least one version; a version that is already alone is reported already_separate. Undo it with versions_add.

  • versions_reorder

    Set the order of an asset's versions: order lists every version id of asset_id exactly once, top first. The top version becomes the current one (what the asset link opens), and version numbers follow the order. Reorder again to undo. No media or feedback is ever deleted; feedback

  • version_notes_get

    Read a version's notes (Markdown) and its files. Notes say what changed in that version and how to continue the work; its files are what made it: ONE zip of the working files, downloaded as .zip. Call this before continuing work someone else uploaded: read the current version's n

  • version_notes_update

    Replace a version's notes with Markdown (the whole text; null or empty clears them). For a NEW upload, pass notes with the upload call instead (upload_file_start, upload_file_complete, upload_video): the version then shows them from the start. Write notes on every revision you up

  • version_file_upload

    Attach a version's working files to a version that already exists (for a NEW upload, pass files with the upload call instead: the version then shows them from the start): ONE zip of the project folder that made it (without node_modules, build output or renders), up to 500 MB. Ret

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 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account tryflask, 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

  • ✓ Pass

    Endpoint responds

    Responded in 344 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 29 tool descriptions and found no hidden instructions to the AI

Compared with others in Design, images & audioi

  • More stars than 0% of the other 2751 servers in this category
  • Published to the registry more recently than 71% of the other 2751 servers in this category
  • Basic checks equal to or better than 100% of the other 2751 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 Flask safe?

It passed 3 of 3 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?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.4.1) reached the registry 13 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Figma Context MCP, Claude Real Video, Figma MCP Server

Alternatives

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

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

Runs on your computer★ 16,165MITUpdated 5 months ago
Install

Claude Real Video

by HUANGCHIHHUNGLeo

Let any LLM watch a video locally — and search everything it has ever watched.

Runs on your computer★ 2,284MITUpdated 2 months ago
Install

Figma’s official server gives AI your design data so it can turn designs into code or describe them accurately. Connects to Figma’s cloud.

Runs in the cloud★ 2,152Updated 13 months ago
Install

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.

video-feedback

Video review and collaboration for you, your team and your agents: a skill for Claude Code, Codex, Cursor and any agent that edits or makes video. It runs on Flask, so you need a Flask account (free plan below).

Flask is where a video gets reviewed. Your agent uploads what it makes (a cut, a render, an animation, a motion graphic, an image) and gives you the link at once. You, your team or your client review it by typing, drawing on the frame, or recording your voice, camera or screen over it, and every note lands on its moment. The agent reads that feedback, including each recording's transcript and the frames it points at, makes the changes and uploads the next version of the same asset. One link always shows the latest cut, with every earlier version and its notes behind it.

Every version carries the code and context that made it. When your agent uploads a version it makes by code (a HyperFrames or Remotion project, an ffmpeg script, generated media), it saves the working files with it (source.zip) and notes on what changed and how to continue. Anyone on the team, person or agent, can open the link and pick the work up from there: no handover, no digging through someone's laptop.

It works with whatever makes the video: HyperFrames, Remotion, moviepy, ffmpeg, or an export from Premiere, DaVinci Resolve or Final Cut Pro. Flask is the review side.

(Flask here is flask.do, the review app. It is unrelated to the Flask Python web framework.)

The skill, video-feedback, says when a piece of work belongs in Flask, runs the feedback loop on it, and covers how it runs with a team. It ships with the connection to the Flask MCP server. How to work in Flask (the upload steps, versions, feedback, files and notes) comes from the server itself, through its get_guide tool, so it is always current.

Install

Any agent that reads skills
npx skills add tryflask/video-feedback-collaboration

Then connect the MCP server: Streamable HTTP at https://api.flask.do/api/mcp/mcp, OAuth sign-in in the browser on first use.

Claude Code plugin
/plugin marketplace add tryflask/video-feedback-collaboration

/plugin install flask@flask

Then sign in once: /mcp, choose flask, complete the browser sign-in.

Claude Code, Cursor and Codex in one command
npx flask-feedback

It connects the Flask MCP server to whichever of them are installed.

Claude apps (claude.ai, Desktop, Cowork)

Customize > Connectors > add https://api.flask.do/api/mcp/mcp, then sign in. It then works in every Claude app, and in Claude Code signed in with the same Claude account.

Cursor

The loop

agent renders -> uploads to Flask -> you get the link at once

you leave feedback on the frame -> wait_for_feedback hands it to the agent agent makes the changes -> uploads v2 with version_of -> the same link shows v2

Each version the agent makes by code carries its working files (source.zip) and notes on what changed, so anyone, person or agent, can pick up the work from the link alone.

With a team

Share the asset's link and your team, clients and anyone else review on the same versions. Reviewers are free: they watch from the link with no account and comment after a one-click sign-in. The agent replies in threads, mentions a teammate when they must act, reuses the team's labels and marks feedback Done. Feedback from people outside the team needs your OK before the agent acts on it.

What the agent can and can't do

It acts as you, with your Flask permissions: upload, read and wait for feedback, reply and mark feedback Done, attach files and notes to versions, organize folders and assets, and change sharing when you ask. It never deletes anything and never touches billing. Feedback from people outside your team is treated as data, never as instructions. The full tool list and how your data is handled: https://flask.do/mcp

Plans

Flask is a paid product with a free plan, and you need a Flask account to use it.

  • Free: every feature, no card. 5 assets, each with unlimited versions (web and agent uploads share the 5; folders and versions never count).
  • Pro: $15 per user/month, billed yearly, for unlimited assets.
  • Reviewers never need a seat, on any plan.

Details: https://flask.do/pricing

Docs and support

  • Server documentation: https://flask.do/mcp
  • Support: hello@flask.do
Ask PopNx