MCP server
Flask Official
io.github.tryflask/flask
Checked 25 Oct 2026, 20:29 UTC · Connected to it and listed its tools
Video review for agents: upload renders, read time-coded feedback, iterate version by version.
Working at last checkOfficial: flask.do's GitHub account (tryflask)About 13,885 tokens per request once connected29 tools
https://api.flask.do/api/mcp/mcp
At a glance
- Type
- MCP server
- Publisher
- flask.do (verified by the MCP Registry)
- Status
- Working at last check
- Tools
- 29
- Token cost
- About 13,885 tokens per request
- Sets up in
- Claude Code, Claude Desktop, Codex, Gemini CLI, Cursor, VS Code, Antigravity, ChatGPT, OpenAI API, Grok
- Last checked
- 25 Oct 2026, 20:29 UTC
Connect it to your agent
Opens the app, which shows the server and asks you to confirm. For other apps, copy the setup below.
Claude Code
claude mcp add --transport http flask https://api.flask.do/api/mcp/mcp
Claude Desktop
Settings → Connectors → Add custom connector, and paste the URL.
Codex (config.toml)
[mcp_servers.flask] url = "https://api.flask.do/api/mcp/mcp"
Gemini CLI
{"mcpServers":{"flask":{"httpUrl":"https://api.flask.do/api/mcp/mcp"}}}
Cursor
{"mcpServers":{"flask":{"url":"https://api.flask.do/api/mcp/mcp"}}}
VS Code
{"servers":{"flask":{"type":"http","url":"https://api.flask.do/api/mcp/mcp"}}}
Antigravity
agy mcp add flask https://api.flask.do/api/mcp/mcp
ChatGPT
Settings → Apps & Connectors → Advanced settings: turn on Developer mode, then Create a connector and paste the URL. Which plans can do this varies.
OpenAI API (Responses tools)
{"type":"mcp","server_label":"flask","server_url":"https://api.flask.do/api/mcp/mcp","require_approval":"always"}
Grok (xAI API tools)
{"type":"mcp","server_label":"flask","server_url":"https://api.flask.do/api/mcp/mcp"}
Tools
asset_status~264 tokens
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 again in a few secondcontents~455 tokens
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 current), top first, not pfeedback_get~462 tokens
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 asset's feedback usefeedback_list~650 tokens
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; counts says how many arfeedback_post~767 tokens
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 timestamp (seconds intofeedback_stats~625 tokens
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 version ids; the whole afeedback_update~434 tokens
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 team's existing tagfolder_create~346 tokens
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 allows duplicates): cget_annotated_frames~460 tokens
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 EVERY pointing linkget_frame~403 tokens
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 (something the transget_guide~383 tokens
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 14 KB) is the playbook for working with Flask: where uploads go (a new asset or a new version), what an agentic edit attaches, how feedback is read, aitems_update~778 tokens
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 (names that one versmembers~266 tokens
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/members?user=USER_Ipermission_get~306 tokens
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 and files (can_view_notes: full_access or comment_and_notes) and whether you are its creator / a member of its team, the creatorecent_activity~490 tokens
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"), author, timestamp, a linksearch~400 tokens
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-insensitively anywhtag_create~278 tokens
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 unchanged with created:tags~294 tokens
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 version id widens tupload_file_completeChanges files · ~815 tokens
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 (an image). An imagupload_file_startChanges files · ~1210 tokens
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 move) with the file asupload_video~963 tokens
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 existing asset with vversion_download~395 tokens
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 download window, 14 days fversion_file_upload~514 tokens
Add a file 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): returns a presigned upload URL for exactly file_size bytes; upload with the curl command from next_step (this needs a shell that can run curl). The filversion_notes_get~331 tokens
Read a version's notes (Markdown) and its files. Notes say what changed in that version and how to continue the work; files are what made it (by convention the working files as one source.zip). Call this before continuing work someone else uploaded: read the current version's notes, download its filversion_notes_update~354 tokens
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 upload, so any agent cversions_add~397 tokens
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 source asset then stops eversions_reorder~226 tokens
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 stays on its versioversions_split~227 tokens
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. No media or feedbackwait_for_feedback~392 tokens
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 still being made or
Browse
- More Flask tools
- GitHub tools
- Figma tools
- Converting to Markdown
- GitHub and code hosting
- Design tools
Related MCP servers
- Dock
AI workspace for you, your team, and every agent. Tables, docs (images, 4K video), formulas. - Future Video Studio
Create and manage cinematic AI video renders through the Future Video Studio Agent API. - Siren
Deterministic visual marketing engine. Your agent plans, renders, and posts on-brand campaigns. - LyricVideoGenerator
Turn a song and its lyrics into a word-synced lyric video, with three styles to choose from. - ScanBIM MCP
AI Hub for AEC — 50+ 3D formats, clash detection, ACC integration via Autodesk Platform Services. - Tutorializer Video Tutorials
Write and update video tutorials, voiceovers and pronunciation rules across your projects. - txtreel
Free iMessage, WhatsApp, Instagram DM and Reddit chat videos (1080x1920 MP4) and screenshots. - aicut
Generate AI videos, images, audio and staged AI Video Story episodes, and publish them to social.
Badge for your README
[](https://aptlynx.net/servers/io.github.tryflask/flask)
Listing text is written by the maker; AptLynx lists tools and does not vouch for them. Find another tool · Browse by topic · For agents