Skip to content
Back to search
100
MCP live MCP 2025-11-25 streamable-http

io.github.tryflask/flask

io.github.tryflask/flask

Feedback layer for video. Reviewers talk through feedback; agents read it as structured comments.

Watch this dependency

Get before/after evidence when observed tools, schemas, authentication access, availability or the endpoint changes.

Inspect evidence and set up a watch Share public evidence report
Uptime
100.0%
4 direct probes · 30d
Response
594ms
last probe
Tools
29
callable
Resources
0
readable
Prompts
3
available
Score: 100/100
Handshake verified by our own probe.
why this score
pass Answers the MCP handshake 50/50
The handshake and the list calls succeeded on the primary URL.
pass Lists tools, resources or prompts 30/30
29 tools, 0 resources, 3 prompts returned.
pass 3 or more catalogue items 10/10
32 items in total; 3 or more earns these points.
pass Describes itself 10/10
97 characters; more than 30 earns these points.

Tools · 29

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 14 KB) is the playbook for working with Flask: whe…

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 …

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 f…

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_…

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…

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, b…

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 b…

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, rece…

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) li…

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: …

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 O…

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 and files (can_view_notes: …

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 fee…

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…

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_i…

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. Idempo…

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 ment…

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…

upload_file_start

Start uploading a LOCAL video or image file from the user's machine into Flask. VIDEO: creates the asset immediately (container_id + shareable url, live before any bytes move) with the file as its ver…

upload_file_complete

Finalize a local file upload started with upload_file_start. Call this only AFTER the upload command (or, for an image or zip, the curl PUT) has finished successfully. Pass exactly one of: asset_id (a…

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. Sco…

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 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 (r…

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 uploade…

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…

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 …

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; files are what made it (by convention the working files as one source.zip). Call t…

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): …

version_file_upload

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_siz…

Prompts · 3

review-feedback

Review and summarize all feedback on a video asset

catch-up

Catch up on what the team has been doing recently

find-everything

Search for a topic across all folders, assets, and comments at once

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "io.github.tryflask/flask": {
      "url": "https://api.flask.do/api/mcp/mcp",
      "transport": "streamable-http"
    }
  }
}