Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者提供的说明(英文原文)
Video hosting: upload, organize and configure videos, analytics, AI subtitles and Shorts.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
Authorization标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http pandavideo https://mcp.pandavideo.com/mcp --header 'Authorization: your-value'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"pandavideo": {
"url": "https://mcp.pandavideo.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"pandavideo": {
"type": "http",
"url": "https://mcp.pandavideo.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
Authorization 机密 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月8日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
panda_list_videosList videos. Each video has: id, video_external_id, title, status, created_at, length (seconds), folder_id, config. `id` is what most tools take as video_id; video_external_id is what panda_get_best_times_by_videos / panda_get_viewers_by_videos take. Results are returned newest f
panda_get_videoGet full properties of a video by its ID, including video_external_id, config (config.ctas holds the pause/end thumbnail CTAs), profile, status, duration, folder, subtitles, etc.
panda_update_videoUpdate basic metadata of a video: title, description text, or move to a different folder. Do NOT use this for player settings, chapters, subtitles, thumbnails, or any playback configuration — use the specific tools for those.
panda_delete_videosDelete one or more videos by ID. Sends to trash for 30 days.
panda_get_videos_statusProcessing status of up to 100 videos in one call. Each item: {id, status, available_resolutions, pending_resolutions, encoding_resolutions, playable, conversion_percentage, estimated_time, ...}. No titles (use panda_get_video or panda_list_videos). IDs that don't exist or aren't
panda_get_videos_ai_resourcesWhich AI Package resources (e.g. eBook, quiz, mind map; one entry per type and language) up to 100 videos already have, in one call. Subtitles and dubbing are not included. Each item: {id, ai_resources: [{type, srclang}]} (type: abstract = eBook, mindmap, questions = quiz). A vid
panda_move_videosMove one or more videos to a folder
panda_duplicate_videoCreate a copy of a video. Only works for CONVERTED, non-external, non-funnel videos.
panda_reencode_videoRe-encode a video with a compression mode (no credit cost). The video is processed again from its original file (backup): without the backup the API refuses. Its current qualities are replaced by the re-encoded ones and it stays in processing until done. Encryption (HLS) is kept.
panda_upload_video_from_urlImport a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)
panda_list_foldersList all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}.
panda_create_folderCreate a new folder. Returns the created {id, name, parent_folder_id}.
panda_get_folderGet a folder's details and one page of its videos. Returns {id, name, parent_folder_id, status, videos: [...], pagination: {page, limit, total_count, total_pages, has_next, has_prev}}. Only videos directly in this folder; subfolders are not included (use panda_list_folders). To l
panda_update_folderUpdate folder properties (name, parent). Also used to recover deleted folders with status=true.
panda_delete_folderDelete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days.
panda_list_playlistsList all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}.
panda_create_playlistCreate a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}.
panda_get_playlistGet details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}.
panda_update_playlistUpdate a playlist's properties
panda_delete_playlistDelete a playlist. Videos are NOT deleted — only the collection is removed.
panda_get_playlist_videosList all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}.
panda_add_videos_to_playlistAdd videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}].
panda_remove_video_from_playlistRemove a video from a playlist. Does NOT delete the video.
panda_list_profilesList the account's player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns an array of {id, name, pullzone_name, is_default, updated_at, videos_count, feature_tags, colors, availableQualities}. The default profile ('Padrão') has is_default=tru
panda_create_profileCreate a player profile (POST /profile) already configured — colors, controls, caption appearance (colors.captionsColor / captionsBackgroundColor + captionsSize), VSL, save progress, general (speed, theme, gear menu, offline) and availableQualities, all in one call. Send only wha
panda_get_profileGet one player profile with all its settings: controls, colors (incl. caption colors and captionsFontSize), vsl, saveProgress, hideControlsOnStart, general (speed, theme, gear menu, offline, caption size), availableQualities, is_default and feature_tags.
panda_update_profileUpdate a player profile's settings. Changes EVERY video linked to the profile. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL mode (vsl.disablePause / disableForward / alternativeProgress), playback spee
panda_delete_profileDelete a player profile. The default profile ('Padrão') cannot be deleted. A profile with no videos is deleted directly. A profile WITH videos needs `strategy` — ask the user which one: 'keep' = each video keeps its current look (gets its own copy of the profile's settings); 'mig
panda_apply_profile_to_videosLink a player profile to videos — pass video_ids OR folder_id (every video in that folder, any status; subfolders are not included). A video that had its own customized player (exclusive profile) loses that customization. Up to 5 video_ids are applied immediately; more videos, or
panda_duplicate_profileCopy a player profile's settings into a new profile named ' (2)', '(3)'… The copy has no videos and is never the default. Exclusive profiles (a single video's own player) cannot be duplicated. Returns {id, name}.
panda_restore_profileReset a player profile to the account's global player settings (panda_get_player_config): controls, colors, VSL, general, save progress, hideControlsOnStart and availableQualities are all replaced — this also drops the profile's theme, gear menu, caption size and offline settings
panda_set_default_profileMake a profile the account's default player profile ('Padrão'). Exclusive profiles cannot be default. If the current default profile has videos, ASK the user what happens to them and pass unlinked_videos_strategy: 'apply-new' = they follow the new default; 'keep-current' = they s
panda_list_livesList all live streams. Returns array of {id, title, status, scheduled_at, region, quality_package, save_vod, stream_key_id, stream_key, rtmp, live_player, created_at}. Status: provisioning (channel starting), offline (waiting for signal or scheduled), online, finishing, finished,
panda_create_liveCreate a new live stream event. Trial accounts cannot create lives. A quality_package above the plan's maximum is silently lowered to the plan's maximum. Without stream_key_id the account's default stream key is used; a key held by another live (online, provisioning, expired, wai
panda_get_liveGet details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}. Status: provisioning (channel starting), offline (waiting for signal or scheduled), online, finishing, finished, finished_imported (recording became a video),
panda_regenerate_liveRegenerate an expired live so it can be broadcast again. Only works when status is expired (otherwise 400 with the current status). Keeps the same stream key, but the RTMP server may change: update it in OBS. Start broadcasting within 15 minutes or the live expires again. Returns
panda_finish_liveEnd a live broadcast
panda_delete_livesDelete one or more live streams
panda_list_stream_keysList all stream keys for live broadcasting. Returns array of {id, title, region, default, stream_key, in_use, in_use_by: {live_id, title, status}, created_at}. A key is held (in_use) by a live that is online, provisioning, expired, waiting to start or scheduled within 24h; an exp
panda_create_stream_keyCreate a new stream key for OBS or other streaming software. The account's first key becomes the default.
panda_get_live_viewersGet viewer history for a live stream. Returns time-series array of viewer counts.
panda_get_account_analyticsGet general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}.
panda_get_video_analyticsGet analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}.
panda_get_retention_analyticsGet audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point.
panda_get_ranking_analyticsGet ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}.
panda_get_realtime_analyticsGet the real-time snapshot of the account: how many viewers are watching now and on which devices. Returns {total_users, devices: {mobile, desktop, others}, geojson} — geojson (the dashboard map clusters) comes empty in this account-wide snapshot; no per-viewer data (IP, browser)
panda_get_bandwidth_analyticsGet bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries.
panda_get_unwatched_videosList the account's videos that had NO access at all in a period (the inverse of the ranking). Whole account only. Only videos that already existed on start_date are considered. Returns {start_date, end_date, data: [{id, video_external_id, title, created_at}], pagination: {limit,
panda_get_best_timesWhich weekday and 2-hour slot the audience of the WHOLE account plays the most (or sees the player the most) in a period — "best time to publish". Weekday × 2-hour slot grid, summed over the period — the same grid as the dashboard heatmap (Analytics → Best times), with the hours
panda_get_best_times_by_videosWhich weekday and 2-hour slot the audience of specific videos (or of every video in a folder) plays the most in a period. Weekday × 2-hour slot grid, summed over the period — the same grid as the dashboard heatmap (Analytics → Best times), with the hours exactly as Panda analytic
panda_get_viewers_by_videosWho watched specific videos (or any video of a folder) in a period: distinct viewers, identified by IP. The IP is returned MASKED (a.b.x.x) — the full list is in the dashboard (Analytics → Users). The selection only chooses WHICH viewers appear: each viewer's metrics (play, view,
panda_list_funnelsList all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders.
panda_create_funnelCreate a new video funnel
panda_get_funnelGet a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders.
panda_update_funnelUpdate a funnel's properties (rename)
panda_delete_funnelDelete a funnel by ID. WARNING: this is destructive. The funnel is removed and the videos inside it go to the trash for 30 days (restoring the funnel's folder brings them back; the funnel does not come back).
panda_add_videos_to_funnelAdd one or more videos to a funnel with optional coordinates. Every call must mark exactly one video with is_first: true — it becomes the entry video. To add a video without changing the entry, also send the current entry video (from panda_get_funnel) with is_first: true.
panda_remove_videos_from_funnelRemove one or more videos from a funnel. The videos leave the funnel and go to the library root — they are not deleted (the dashboard deletes them in a second call; this tool does not).
panda_get_watermark_statusCheck whether watermark/DRM is currently active on the account. Returns {active: boolean}.
panda_enable_watermarkEnable watermark protection for the account
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
注册名称已通过域名 pandavideo.com 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 344 毫秒内响应(HTTP 200)
无需登录
已读取 60 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:Authorization
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(2.1.0)于34天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Figma Context MCP, Claude Real Video, Figma MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ 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、图片和脚本已被移除。链接会离开本站。
Connect Panda Video to Claude, ChatGPT, Cursor and any other MCP client. Upload, organize and configure your videos, read their analytics, generate subtitles and Shorts — from the conversation.
The server is hosted by us: there is nothing to install and no code in this repository. Point your client at the URL below and sign in with your Panda Video account.
https://mcp.pandavideo.com/mcp
| Area | Examples |
|---|---|
| Videos | List and search videos, read one video, rename it, import a video from a URL |
| Folders and playlists | Create folders, move videos, build playlists |
| Analytics | Views, retention curve, top videos, account totals |
| Subtitles and thumbnails | Read subtitles, generate them with AI, add thumbnails |
| Player | Read and change the player and per-video configuration |
| Shorts | Import a video and list the Shorts cut from it |
Video listings already carry the public embed URL (video_player) and the HLS URL (video_hls), so the assistant can hand you a link that plays.
Tools that change or remove something are marked destructiveHint: true, so your assistant asks before running them. Read-only tools are marked readOnlyHint: true.
| Endpoint | Tools | For |
|---|---|---|
https://mcp.pandavideo.com/mcp | Full catalogue (177 tools) | Power users, Claude Code, Cursor, scripts |
https://mcp.pandavideo.com/mcp/directory | 29 core tools: videos, folders, playlists, analytics, subtitles, thumbnails, player, Shorts | Chat assistants (ChatGPT, Claude) |
The directory endpoint leaves out credits, billing, users and sub-accounts.
Settings → Connectors → Add custom connector, and paste:
https://mcp.pandavideo.com/mcp/directory
Claude opens the Panda Video sign-in page, you approve the access, and the tools appear in the conversation. No API key to copy.
Settings → Apps & Connectors → Create (Developer Mode), same URL and OAuth as the authentication. Same sign-in flow.
claude mcp add --transport http panda-video https://mcp.pandavideo.com/mcp \
--header "Authorization: panda-YOUR_API_KEY"
~/.cursor/mcp.json:
{
"mcpServers": { "panda-video": { "url": "https://mcp.pandavideo.com/mcp", "headers": { "Authorization": "panda-YOUR_API_KEY" } } } }
The server speaks Streamable HTTP (stateless) at /mcp and /mcp/directory. Two ways to authenticate:
OAuth 2.1 — recommended, and what the chat clients above use. Discovery follows the specs, so a compliant client needs nothing but the URL:
| Document | URL |
|---|---|
| Protected resource metadata (RFC 9728) | https://mcp.pandavideo.com/.well-known/oauth-protected-resource |
| Authorization server metadata (RFC 8414) | https://mcp.pandavideo.com/.well-known/oauth-authorization-server |
Dynamic client registration (RFC 7591) and PKCE with S256 are supported, with public clients (token_endpoint_auth_method: none). Scopes are videos:read (read-only tools) and videos:write.
API key — for scripts and local clients. Copy it in the Panda Video dashboard under Settings → Advanced → API Key and send it as is in the Authorization header. Treat it like a password:
curl -X POST https://mcp.pandavideo.com/mcp \
-H "Authorization: panda-YOUR_API_KEY" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"panda_list_videos","arguments":{"limit":5}}}'
initialize and tools/list answer without credentials, so a directory can read the catalogue before anyone signs in. Every call that touches your account requires authentication; without it the server answers 401 with a WWW-Authenticate header pointing to the OAuth metadata.
Requests are limited to 60 per minute per account.
You need a Panda Video account. See pandavideo.com for the plans.
Directories ask for a repository URL, and this is it. The server runs on our infrastructure, so listing it does not require shipping the implementation — what a client needs is the URL above and the discovery documents, both public. This repository holds the registry descriptor (server.json), the logos and these instructions.
Panda Video is a product of PANDA VIDEOS LTDA.