Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者提供的说明(英文原文)
Video review for agents: upload renders, read time-coded feedback, iterate version by version.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://api.flask.do/api/mcp/mcp在终端中运行这条命令
claude mcp add --transport http flask https://api.flask.do/api/mcp/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"flask": {
"url": "https://api.flask.do/api/mcp/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"flask": {
"type": "http",
"url": "https://api.flask.do/api/mcp/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://api.flask.do/api/mcp/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
get_guideReturns 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
contentsBrowse 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_listList 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_getGet 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_feedbackWait 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_postCreate 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_updateEdit 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_framesThe 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_frameFallback 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_statusCheck 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_downloadGet 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_getRead 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
searchSearch 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_activityGet 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
tagsList 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_createCreate 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
membersList 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_videoUpload 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_startStart 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_completeFinalize 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_statsAggregate 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_createCreate 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_updateRename, 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_addMake 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_splitMove 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_reorderSet 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_getRead 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_updateReplace 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_uploadAttach 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
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 tryflask 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 344 毫秒内响应(HTTP 200)
无需登录
已读取 29 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.4.1)于13天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Figma Context MCP, Claude Real Video, Figma MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
The Figma MCP server brings Figma design context directly into your AI workflow.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
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.
/plugin marketplace add tryflask/video-feedback-collaboration
/plugin install flask@flask
Then sign in once: /mcp, choose flask, complete the browser sign-in.
npx flask-feedback
It connects the Flask MCP server to whichever of them are installed.
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.
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.
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.
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
Flask is a paid product with a free plan, and you need a Flask account to use it.
Details: https://flask.do/pricing