Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Panda Video

REMOTE · MCP.PANDAVIDEO.COM

Video hosting: upload, organize and configure videos, analytics, AI subtitles and Shorts.

+3 this week 92 Trust /100

Last scanned (12 hours ago)

Scores higher than 99% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security89
Transport & Reachability100
Schema Quality & AI Usability80
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 27581 tokens (~126/item across 218 items; 216 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management99
  • Stability check failed: schema churn in the 30 days we've observed: 0 tool removals, 2 breaking changes, 0 auth/transport breaks, 39 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 29 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 217 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
What we tested

Checks we ran (13)

  • TLS certificate
  • Authorization
  • HTTPS
  • HSTS header
  • DNSSEC
  • Transport
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this hosted endpoint (2)

  • Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
  • Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1
    • Tool “panda_action_dub_folder_videos” rewrote its description, which is the text the model reads security
    • Tool “panda_create_ai_dubbing” rewrote its description, which is the text the model reads security
    • “panda_action_dub_folder_videos” reworded the description of “mode” cosmetic
    • “panda_create_ai_dubbing” reworded the description of “is_lipsync” cosmetic
  • 4 Nov 26 0
    • Tool “panda_add_videos_to_funnel” rewrote its description, which is the text the model reads security
    • Tool “panda_delete_funnel” rewrote its description, which is the text the model reads security
    • Tool “panda_get_business_rules” rewrote its description, which is the text the model reads security
    • Tool “panda_help_search” rewrote its description, which is the text the model reads security
    • Tool “panda_remove_videos_from_funnel” rewrote its description, which is the text the model reads security
  • 3 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 89 to 93.

  • 31 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 79 to 83.

  • 30 Oct 26 0
    • New tool “panda_delete_ai_resource”, which the server declares destructive security
    • New tool “panda_regenerate_ai_resource”, which the server declares destructive security
    • New tool “panda_update_ai_resource”, which the server declares destructive security
    • Tool “panda_action_credit_preflight” rewrote its description, which is the text the model reads security
    • Tool “panda_action_enable_ai_package_for_folder” rewrote its description, which is the text the model reads security
    • Tool “panda_delete_ai_workflow” rewrote its description, which is the text the model reads security
    • Tool “panda_get_ai_workflows” rewrote its description, which is the text the model reads security
    • Tool “panda_get_videos_ai_resources” rewrote its description, which is the text the model reads security
    • Schema quality: 24596 → 27392 ▼ functional
    • New tool “panda_confirm_ai_ebook_pdf” functional
    • New tool “panda_create_ai_resource” functional
    • New tool “panda_generate_ai_resource” functional
    • New tool “panda_get_ai_ebook_images” functional
    • New tool “panda_get_ai_ebook_upload_url” functional
    • New tool “panda_get_ai_resource_content” functional
    • New tool “panda_list_ai_works” functional
    • New tool “panda_set_ai_resource_download” functional
    • “panda_action_enable_ai_package_for_folder” added an optional parameter “resources” cosmetic
    • “panda_action_enable_ai_package_for_folder” added an optional parameter “to_langs” cosmetic
    • “panda_action_credit_preflight” reworded the description of “target_langs” cosmetic
    • “panda_action_enable_ai_package_for_folder” reworded the description of “dry_run” cosmetic
    • “panda_action_enable_ai_package_for_folder” reworded the description of “from_lang” cosmetic
  • 29 Oct 26 +1
    • New tool “panda_encrypt_videos”, which the server declares destructive security
    • New tool “panda_set_exclusive_playback”, which the server declares destructive security
    • New tool “panda_set_new_uploads_encryption”, which the server declares destructive security
    • New tool “panda_update_library_qualities”, which the server declares destructive security
    • Tool “panda_action_reencode_folder_videos” rewrote its description, which is the text the model reads security
    • Tool “panda_action_set_allowed_domains” rewrote its description, which is the text the model reads security
    • Tool “panda_action_set_anti_download” rewrote its description, which is the text the model reads security
    • Tool “panda_reencode_video” rewrote its description, which is the text the model reads security
    • Tool “panda_set_block_none_refer” rewrote its description, which is the text the model reads security
    • Tool “panda_update_folder_refer” rewrote its description, which is the text the model reads security
    • Tool “panda_reencode_video” is now declared destructive security
    • New tool “panda_get_exclusive_playback” functional
    • New tool “panda_get_hls_encryption_batches” functional
    • New tool “panda_get_library_qualities” functional
    • New tool “panda_get_new_uploads_encryption” functional
    • New tool “panda_list_hls_encrypted_videos” functional
    • “panda_action_reencode_folder_videos” reworded the description of “compression_mode” cosmetic
    • “panda_action_set_allowed_domains” reworded the description of “block_none_refer” cosmetic
    • “panda_reencode_video” reworded the description of “compression_mode” cosmetic
    • “panda_set_block_none_refer” reworded the description of “block_none_refer” cosmetic
    • Tool “panda_set_block_none_refer” changed its title: Toggle Block-No-Referer Policy → Turn Domain Protection On/Off cosmetic
  • 28 Oct 26 0
    • New tool “panda_remove_tutor_video”, which the server declares destructive security
    • Tool “panda_action_add_folder_videos_to_tutor” rewrote its description, which is the text the model reads security
    • Tool “panda_add_tutor_videos” rewrote its description, which is the text the model reads security
    • Tool “panda_update_ai_assistant_video_bindings” rewrote its description, which is the text the model reads security
    • Tool “panda_update_ai_assistant_video_bindings” no longer declares itself destructive security
    • “panda_add_tutor_videos” added an optional parameter “lang” cosmetic
    • “panda_update_ai_assistant_video_bindings” reworded the description of “lang” cosmetic
    • “panda_update_ai_assistant_video_bindings” reworded the description of “video_ids” cosmetic
  • 27 Oct 26 0
    • New tool “panda_cancel_partial_deletion”, which the server declares destructive security
    • New tool “panda_request_partial_deletion”, which the server declares destructive security
    • New tool “panda_update_sign_language_display”, which the server declares destructive security
    • Tool “panda_action_apply_profile_to_folder” rewrote its description, which is the text the model reads security
    • Tool “panda_action_dub_folder_videos” rewrote its description, which is the text the model reads security
    • Tool “panda_action_request_folder_downloads” rewrote its description, which is the text the model reads security
    • Tool “panda_check_download_status” rewrote its description, which is the text the model reads security
    • Tool “panda_create_ai_dubbing” rewrote its description, which is the text the model reads security
    • Tool “panda_get_folder” rewrote its description, which is the text the model reads security
    • Tool “panda_request_download” rewrote its description, which is the text the model reads security
    • New tool “panda_get_videos_ai_resources” functional
    • New tool “panda_get_videos_status” functional
    • New tool “panda_list_partial_deletions” functional
    • “panda_get_folder” added an optional parameter “limit” cosmetic
    • “panda_get_folder” added an optional parameter “page” cosmetic
    • “panda_action_dub_folder_videos” reworded the description of “from_lang” cosmetic
    • “panda_action_dub_folder_videos” reworded the description of “mode” cosmetic
    • “panda_action_request_folder_downloads” reworded the description of “language” cosmetic
    • “panda_action_request_folder_downloads” reworded the description of “quality” cosmetic
    • “panda_check_download_status” reworded the description of “language” cosmetic
    • “panda_check_download_status” reworded the description of “quality” cosmetic
    • “panda_create_ai_dubbing” reworded the description of “from_lang” cosmetic
    • “panda_create_ai_dubbing” reworded the description of “is_lipsync” cosmetic
    • “panda_create_ai_dubbing” reworded the description of “replace_existing_subtitles” cosmetic
    • “panda_request_download” reworded the description of “language” cosmetic
    • “panda_request_download” reworded the description of “quality” cosmetic
    • “panda_create_ai_dubbing” made “from_lang” optional cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://mcp.pandavideo.com/mcp

TLS valid

Negotiated TLS 1.2 with TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.pandavideo.com CN=Amazon RSA 2048 M01,O=Amazon,C=US 22 Oct 2026 7 May 2027 RSA 2048 SHA256-RSA a6b4f4ff4ff56832987356f0d55e10a
SANs: *.pandavideo.com
CN=Amazon RSA 2048 M01,O=Amazon,C=US (CA) CN=Amazon Root CA 1,O=Amazon,C=US 23 Aug 2022 23 Aug 2030 RSA 2048 SHA256-RSA 77312380b9d6688a33b1ed9bf9ccda68e0e0f
CN=Amazon Root CA 1,O=Amazon,C=US (CA) CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US 25 May 2015 31 Dec 2037 RSA 2048 SHA256-RSA 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.pandavideo.com. — Not signed

Zone DS Keys Algorithms Outcome
. Trust anchor 20326, 38696 8, 8 Verified
com. DS published 19718 13 Verified
pandavideo.com. No DS Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://mcp.pandavideo.com/.well-known/oauth-protected-resource/mcp", scope="videos:read videos:write"

Bearer resource_metadata="https://mcp.pandavideo.com/.well-known/oauth-protected-resource/mcp", scope="videos:read videos:write"

Protected resource metadata

Document https://mcp.pandavideo.com/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://mcp.pandavideo.com/mcp
Authorisation server https://mcp.pandavideo.com

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.pandavideo.com/mcp Verified 200
http (plaintext) http://mcp.pandavideo.com/mcp HTTPS enforced 301 https://mcp.pandavideo.com:443/mcp
MCP tools · 216 exposed · ~27,542 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
panda_action_add_folder_videos_to_funnel ~121

Deterministically resolve a funnel (by name or ID) and a folder, then add every CONVERTED folder video to the funnel (POST /funnels/add_videos). dry_run=true (default) previews the additions.

NameTypeReqDescription
dry_runboolean–true = preview only; false = add
folder_refstringyesFolder name, ID, or dashboard URL
funnel_refstringyesFunnel name or ID
idempotency_keystring–Reserved client-supplied retry key

No output schema declared.

No examples provided.

panda_action_add_folder_videos_to_playlist ~117

Deterministically resolve a folder and an existing playlist (by name or ID), then append every CONVERTED folder video to the playlist after its current items. dry_run=true (default) previews the additions.

NameTypeReqDescription
dry_runboolean–true = preview only; false = add
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key
playlist_refstringyesPlaylist name or ID

No output schema declared.

No examples provided.

panda_action_add_folder_videos_to_tutor ~198

Deterministically resolve an existing AI Tutor (by name or ID) and a folder, then bind every CONVERTED folder video to the tutor (PUT /assist-ai/update_assistant_video_bind/{id}). Additive: videos already bound stay as they are and nothing is unbound. Billing: each NEW video without a subtitle in the tutor's language gets a transcription, charged at ceil(minutes/5) credits per video (Gold/Enterprise plans outside trial get free transcriptions up to a daily limit); without enough credits the API refuses before binding anything. dry_run=true (default) previews the additions.

NameTypeReqDescription
dry_runboolean–true = preview only; false = bind
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key
tutor_refstringyesTutor name or ID

No output schema declared.

No examples provided.

panda_action_apply_profile_to_folder ~213

Deterministically resolve a player profile and a folder and link the profile to ALL videos of the folder in one call (sends folder_id, like the dashboard). Subfolders are not included; videos in any status (not only converted ones) also receive the profile. Videos with their own customized player lose that customization. The work is queued: the result is status 'executed' with api_status 'pending' — confirm later with panda_get_profile (videos_count). api_status 'ok' only means the API found no videos in the folder: nothing was changed. Free action (no credits). dry_run=true (default) returns a preview.

NameTypeReqDescription
dry_runboolean–true = preview only; false = apply
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied key to make retries safe (not yet enforced server-side)
profile_refstringyesPlayer profile name or ID

No output schema declared.

No examples provided.

panda_action_apply_video_config_to_folder ~284

Deterministically resolve a folder and apply per-video player config to every CONVERTED video (POST /player?type=video). Supports: default_subtitle (lang code or 'false'), default_audio (dubbing language code or 'false'), on_funnel, and the AI toggles questions/mindmap/abstract. Send only the fields you want to change. dry_run=true (default) previews the affected videos.

NameTypeReqDescription
abstractboolean–Enable/disable AI eBook/Abstract
default_audiostring–Default audio language — code of a dubbing the videos have (e.g. 'es') or 'false' for the original audio. Only takes effect with the dubbing item on in the gear menu and without lipsync.
default_subtitlestring–Default subtitle language code (e.g. 'pt-BR') or 'false' to disable
dry_runboolean–true = preview only; false = apply
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key
mindmapboolean–Enable/disable AI MindMap
on_funnelboolean–Enable/disable funnel integration
questionsboolean–Enable/disable AI Quiz

No output schema declared.

No examples provided.

panda_action_apply_watermark_group_to_folder ~137

Deterministically resolve a watermark/DRM group (by name or ID) and a folder, then add the folder to the group so all its videos (current and future) inherit the forensic watermark (PUT /drm/videos/{id} folders.increment). dry_run=true (default) previews.

NameTypeReqDescription
dry_runboolean–true = preview only; false = apply
folder_refstringyesFolder name, ID, or dashboard URL
group_refstringyesWatermark group name or ID
idempotency_keystring–Reserved client-supplied retry key

No output schema declared.

No examples provided.

panda_action_configure_folder_profile ~534

Deterministically apply player-profile settings to every CONVERTED video in a folder, without touching videos outside it. Covers everything a profile holds: colors (Cores) incl. caption colors, captionsSize, controls incl. the big play button 'play-large' (Controles / Botão de Play Grande), VSL, save-progress, general (speed, theme, gear menu, offline) and availableQualities — pass any subset. Per video: its own (exclusive) profile is updated; a video on a SHARED or the default profile first gets its own copy of that profile (like the dashboard does), so the other videos of that profile do not change; a video without a profile gets a new one. Colors are merged with the current ones. dry_run=true (default) first VALIDATES each video and previews the plan — including which shared profiles end up with no videos — without changing anything.

NameTypeReqDescription
availableQualitiesarray–Qualities the viewer can pick, e.g. ["480p","720p","1080p"]. Empty list = all qualities.
captionsSizestring–Caption font size by the dashboard name: extra_small (10px), small (12px), normal (14px, default), large (16px), extra_large (18px). Use the user's word ('legenda grande' / 'large captions' → large).
colorsobject–Player colors, including caption text/background. Only the colors you send change — the others are kept.
controlsarray–Array of enabled player controls (incl. "play-large" = Botão de Play Grande). Values: "play-large", "rewind", "play", "fast-forward", "progress", "current-time", "volume", "captions", "settings", "pi…
dry_runboolean–true = validate + preview only; false = apply
folder_refstringyesFolder name, ID, or dashboard URL
generalobject–General player settings (speed, search-in-video, theme, gear menu, offline). Merged into the current values — keys you omit are kept.
hideControlsOnStartboolean–Hide controls until user interacts
idempotency_keystring–Reserved client-supplied retry key
saveProgressobject–Save progress / resume settings
vslobject–VSL (Video Sales Letter) settings — controls autoplay, smart autoplay, fake progress bar, muted indicator

No output schema declared.

No examples provided.

panda_action_create_ab_test ~130

Create an A/B comparison from 2+ videos (POST /comparison) and optionally start it immediately (PUT /comparison/{id}?type=start). dry_run=true (default) previews.

NameTypeReqDescription
descriptionstring–Optional description
dry_runboolean–true = preview only; false = create
idempotency_keystring–Reserved client-supplied retry key
namestringyesComparison name
startboolean–Start the test immediately after creating
video_idsarrayyesVideo IDs to compare (at least 2)

No output schema declared.

No examples provided.

panda_action_create_folder_path ~127

Deterministically ensure a nested folder path exists (e.g. 'Courses/2026/Module 1'), creating only the missing segments and returning the leaf folder ID. Idempotent: existing segments are reused. dry_run=true (default) previews which segments would be created.

NameTypeReqDescription
dry_runboolean–true = preview only; false = create
idempotency_keystring–Reserved client-supplied retry key
pathstringyesSlash-separated folder path by name, e.g. 'Courses/2026/Module 1'

No output schema declared.

No examples provided.

panda_action_create_playlist_from_folder ~178

Deterministically resolve a folder, create a new playlist, and add every CONVERTED video to it in folder order. dry_run=true (default) previews the playlist and its videos without creating anything.

NameTypeReqDescription
access_typestring–Playlist access type (the Panda API requires it; defaults to anyone_with_link)
creator_namestring–Creator name shown in the player (the Panda API requires it; defaults to the playlist name)
dry_runboolean–true = preview only; false = create
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key
passwordstring–Password (for password-protected playlists)
playlist_namestringyesName for the new playlist

No output schema declared.

No examples provided.

panda_action_create_review_link_for_folder ~175

Deterministically resolve a folder and create a review link for every CONVERTED video (POST /video-review/{id}?action=link). dry_run=true (default) previews the links that would be created.

NameTypeReqDescription
allow_commentboolean–Allow reviewers to comment
allow_status_editboolean–Allow reviewers to change status
dry_runboolean–true = preview only; false = create
expires_atinteger–Expiry as a Unix timestamp (0 = never)
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key
link_namestringyesName applied to each review link
show_resolvedboolean–Show resolved comments

No output schema declared.

No examples provided.

panda_action_create_tutor_from_folder ~177

Deterministically resolve a folder, estimate the credit cost via purchase_overview, and create an AI Tutor bound to every CONVERTED video in the folder. dry_run=true (default) returns the cost preview without creating anything.

NameTypeReqDescription
dry_runboolean–true = preview only; false = create
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key
initial_questionstring–Optional initial question shown in chat
langstring–Tutor language code (default 'pt-BR')
namestringyesName for the new tutor
open_new_tabboolean–Open links in a new tab
question_suggestionsboolean–Show suggested questions

No output schema declared.

No examples provided.

panda_action_create_watermark_group_for_folder ~117

Deterministically resolve a folder and create a new watermark/DRM group seeded with all its videos (POST /drm/videos). dry_run=true (default) previews the group and its videos.

NameTypeReqDescription
dry_runboolean–true = preview only; false = create
folder_refstringyesFolder name, ID, or dashboard URL
group_namestringyesName for the new watermark group
idempotency_keystring–Reserved client-supplied retry key

No output schema declared.

No examples provided.

panda_action_credit_preflight ~210

Estimate the credit cost of running a paid operation (dub / subtitles / ai_package) across every CONVERTED video in a folder and compare it to the current balance — WITHOUT executing anything. ai_package = eBook + mind map + quiz in target_langs (default 1 language), 1 credit/min per resource per language, minus the free daily AI quota of an active Gold/Enterprise plan (1 use per video × resource); resources the videos already have aren't subtracted (panda_action_enable_ai_package_for_folder with dry_run=true gives the exact preview). Read-only; use before the real action to decide whether to proceed.

NameTypeReqDescription
folder_refstringyesFolder name, ID, or dashboard URL
modestring–Dubbing mode
operationstringyesWhich paid operation to price
target_langsarray–Target languages (for dub/subtitles/ai_package); count drives the cost
tierstring–Subtitle tier

No output schema declared.

No examples provided.

panda_action_delete_folder_videos ~133

Deterministically resolve a folder and send every video inside it to the trash (30-day recovery). DESTRUCTIVE. dry_run=true (default) returns a preview of what would be deleted; set dry_run=false AND confirm=true to actually delete.

NameTypeReqDescription
confirmboolean–Required safety flag — must be true (with dry_run=false) to delete
dry_runboolean–true = preview only; false = delete
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key

No output schema declared.

No examples provided.

panda_action_dub_folder_videos ~332

Deterministically resolve a folder, list eligible (CONVERTED) videos, estimate the dubbing cost in credits, and optionally create AI dubbing jobs for one or more target languages. dry_run=true (default) returns a preview without creating any job. standard mode (AI dubbing, HeyGen audio only) = 5 credits/min, lipsync = 14 credits/min, per language (minimum 1 min; a partial minute counts only past 1 s). Skips videos that already have the other dubbing technology (standard and lipsync can't be mixed) and, in lipsync, videos over 60 minutes. Each video follows its subtitles like the dashboard: targets already subtitled get audio only (DUBBING), the others TRANSLATION (source subtitled) or TRANSCRIPTION + dubbing. Stops at the first insufficient-credits (402) answer and lists the videos not attempted.

NameTypeReqDescription
dry_runboolean–true = preview only; false = create jobs
folder_refstringyesFolder name, ID, or dashboard URL
from_langstring–Source language code (default 'auto' = each video's original language)
idempotency_keystring–Reserved client-supplied key to make retries safe (not yet enforced server-side)
modestring–standard = AI dubbing (HeyGen, audio only), 5 credits/min, lipsync = 14 credits/min
target_langsarrayyesTarget language codes to dub into, e.g. ['en','es']

No output schema declared.

No examples provided.

panda_action_duplicate_folder_videos ~114

Deterministically resolve a folder and create a copy of every CONVERTED video inside it. Duplication only works for non-external, non-funnel videos (the API rejects others, surfaced per-video). dry_run=true (default) previews the affected videos.

NameTypeReqDescription
dry_runboolean–true = preview only; false = duplicate
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key

No output schema declared.

No examples provided.

panda_action_enable_ai_package_for_folder ~287

Deterministically resolve a folder and generate AI package resources — eBook, mind map and/or quiz — for every CONVERTED video, one request per video × resource (POST /aiworkflow ABSTRACT | MINDMAP | QUESTIONS, like the dashboard). Default: the three resources in each video's own language. Resources a video already has in a language (or is still generating) are skipped. PAID: 1 credit per minute of video per resource per language (minimum 1 min; a partial minute counts only past 1 s); on an active Gold/Enterprise plan the free daily AI quota covers the first requests while it lasts (1 use per request). dry_run=true (default) returns the cost preview; execution is refused when the balance doesn't cover the cost.

NameTypeReqDescription
dry_runboolean–true = preview only; false = generate
folder_refstringyesFolder name, ID, or dashboard URL
from_langstring–Spoken language of the videos. Default: each video's original language, else 'auto'
idempotency_keystring–Reserved client-supplied retry key
resourcesarray–Which resources to generate (default all three)
to_langsarray–Languages to generate in, e.g. ['pt-BR','en']. Default: each video's own language

No output schema declared.

No examples provided.

panda_action_export_folder_analytics ~101

Deterministically resolve a folder and aggregate per-video play analytics over a date range (GET /general/{videoId} on the analytics host). Read-only — returns a per-video breakdown and folder total. No dry_run.

NameTypeReqDescription
end_datestringyesEnd date (YYYY-MM-DD)
folder_refstringyesFolder name, ID, or dashboard URL
start_datestringyesStart date (YYYY-MM-DD)

No output schema declared.

No examples provided.

panda_action_folder_ai_status ~82

Deterministically resolve a folder and report the aggregate status of all its AI workflow jobs (subtitles, dubbing, AI package) via GET /aiworkflow?folder_id. Read-only — returns counts by status and by type. No dry_run (nothing is mutated).

NameTypeReqDescription
folder_refstringyesFolder name, ID, or dashboard URL

No output schema declared.

No examples provided.

panda_action_generate_shorts_from_folder ~176

Deterministically resolve a folder and submit each eligible video (CONVERTED, 5min–5h) for AI Shorts generation (POST /shorts/import-video). Each job consumes Shorts processing. dry_run=true (default) previews eligible videos. DRM-protected videos are rejected by the API and surfaced per-video.

NameTypeReqDescription
aspect_ratiostring–Output aspect ratio
contextsarray–AI context hints (e.g. 'engajamento','educacional','humor')
dry_runboolean–true = preview only; false = submit
duration_presetstring–Clip duration range in seconds
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key

No output schema declared.

No examples provided.

panda_action_generate_subtitles_for_folder ~215

Deterministically resolve a folder, list eligible (CONVERTED) videos, estimate the AI subtitle cost in credits, and optionally generate subtitles in one or more languages. Tiers: essential (only en/pt-BR/es, 1 credit/30min), advanced (34 langs, 1 credit/5min), pro (34 langs, 1 credit/min). dry_run=true (default) returns a preview.

NameTypeReqDescription
dry_runboolean–true = preview only; false = generate
folder_refstringyesFolder name, ID, or dashboard URL
from_langstring–Source language code (default 'auto')
idempotency_keystring–Reserved client-supplied key to make retries safe (not yet enforced server-side)
target_langsarrayyesSubtitle language codes to generate, e.g. ['en','es']
tierstring–Quality tier (essential restricts languages to en/pt-BR/es)

No output schema declared.

No examples provided.

panda_action_move_videos_by_folder ~171

Deterministically resolve a source and target folder and move every video from the source into the target in one call. Pass target_folder_ref='root' to move to the root (no folder). Skips videos already being deleted. Free action (no credits). dry_run=true (default) returns a preview of which videos would move.

NameTypeReqDescription
dry_runboolean–true = preview only; false = move
idempotency_keystring–Reserved client-supplied key to make retries safe (not yet enforced server-side)
source_folder_refstringyesSource folder name, ID, or dashboard URL
target_folder_refstringyesTarget folder name, ID, or dashboard URL — or 'root' to move to the root (no folder)

No output schema declared.

No examples provided.

panda_action_preview_storage_reduction ~285

How much the invoice will be if the account reduces its ADDITIONAL storage — to a new total (target_total_gb) or by removing an amount (remove_gb), in GB (1 TB = 1024 GB). Without an amount, returns the current storage, what is in use and the smallest possible total. Refuses totals below what is already in use or below what the plan includes (plan storage only changes by changing plans). It never applies the change (that is done in the dashboard). dry_run=true (default) checks the new total against the plan and usage without calling billing; dry_run=false also gets the price from billing (same calculation as the dashboard cart: next invoice, next cycles, savings). Side effect of dry_run=false, same as opening the preview in the dashboard: if the account has a subscription but no default payment method, Panda's billing sets its first saved card as the default payment method.

NameTypeReqDescription
dry_runboolean–true = check the new total only; false = also get the price from billing
remove_gbnumber–How much to remove from the current total, in GB. Use this OR target_total_gb.
target_total_gbnumber–Desired new TOTAL storage, in GB (1 TB = 1024 GB). Use this OR remove_gb.

No output schema declared.

No examples provided.

panda_action_provision_user ~137

Create a team user, resolving the role by name (or original_name/ID) to its role_id (POST /users). dry_run=true (default) previews. Validates the email format up front.

NameTypeReqDescription
dry_runboolean–true = preview only; false = create
emailstringyesUser email
idempotency_keystring–Reserved client-supplied retry key
namestringyesUser's display name
phonestring–Optional phone number
role_refstringyesRole name or ID (e.g. 'viewer', 'editor')

No output schema declared.

No examples provided.

panda_action_reencode_folder_videos ~182

Deterministically resolve a folder and re-encode every CONVERTED video with a given compression mode (no credit cost). Each video is processed again from its original file (backup): videos without the backup are refused and listed in failed. The current qualities are replaced by the re-encoded ones; encryption (HLS) is kept. dry_run=true (default) previews the affected videos.

NameTypeReqDescription
compression_modestringyesCompression mode applied to every video: size = 'Econômica', balanced = 'Equilibrada', quality = 'Maior qualidade' (dashboard names)
dry_runboolean–true = preview only; false = reencode
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key

No output schema declared.

No examples provided.

panda_action_remove_subtitle_language_from_folder ~154

Deterministically resolve a folder and delete a subtitle language from every CONVERTED video that has it (DELETE /subtitles/{id}). DESTRUCTIVE. dry_run=true (default) previews; set dry_run=false AND confirm=true to delete. Videos without that language are simply skipped by the API.

NameTypeReqDescription
confirmboolean–Required safety flag to delete
dry_runboolean–true = preview only; false = delete
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key
languagestringyesSubtitle language code to remove (e.g. 'en')

No output schema declared.

No examples provided.

panda_action_rename_folder ~103

Deterministically resolve a folder by name/ID/URL and rename it (PUT /folders/{id}). dry_run=true (default) previews the rename.

NameTypeReqDescription
dry_runboolean–true = preview only; false = rename
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key
new_namestringyesNew folder name

No output schema declared.

No examples provided.

panda_action_request_folder_downloads ~266

Deterministically resolve a folder and request an async download for every CONVERTED video (POST /download-async/{externalId}). Without quality, each video is requested at the highest quality it has; with a quality, videos that don't have it are skipped with the reason. Results list each video's status and `url` when it is already ready (temporary signed link); poll the others with panda_check_download_status. dry_run=true (default) previews the requests.

NameTypeReqDescription
dry_runboolean–true = preview only; false = request
folder_refstringyesFolder name, ID, or dashboard URL
formatstring–Download format
idempotency_keystring–Reserved client-supplied retry key
languagestring–Audio language: 'default' (original audio) or the code of a dubbed audio (e.g. 'en'). 'original' is read as 'default'.
qualitystring–Quality: one of 240p, 360p, 480p, 720p, 1080p, 1440p, 2160p, original ('1080' is read as '1080p'). Default: the highest quality of each video.

No output schema declared.

No examples provided.

panda_action_schedule_lives ~155

Create one or more scheduled live streams in a single call (POST /lives), optionally recording into a resolved folder. Defaults like the dashboard: region us, quality_package hd, save_vod true. Refuses trial accounts and quality above the plan's maximum. Without stream_key_id the account's default stream key is used. dry_run=true (default) previews the lives that would be created.

NameTypeReqDescription
dry_runboolean–true = preview only; false = create
folder_refstring–Optional folder (name/ID/URL) to store recordings in
idempotency_keystring–Reserved client-supplied retry key
livesarrayyesLives to create

No output schema declared.

No examples provided.

panda_action_set_allowed_domains ~230

Add referer domains to the account's allow/block list for playback (POST /library/{id}?action=refer) and optionally turn domain protection on or off (block_none_refer). block_none_refer is applied first and rewrites the status of ALL the library's domains: true activates every domain (including ones turned off on purpose), false deactivates all of them and lets every request play; it is refused while a domain is still pending. With protection off, the new domains are created inactive. Resolves the library ID automatically. dry_run=true (default) previews.

NameTypeReqDescription
allowarray–Hostnames to allow (e.g. 'example.com')
blockarray–Hostnames to block
block_none_referboolean–If set, turn domain protection on (true: active domains apply, all domains are activated) or off (false: all domains are deactivated)
dry_runboolean–true = preview only; false = apply
idempotency_keystring–Reserved client-supplied retry key

No output schema declared.

No examples provided.

panda_action_set_anti_download ~174

Enable or disable account-wide anti-download protection (GET/PUT /block_download). Reads the current state first and only changes it if needed. Turning it on is only for plans that include it (Gold/Enterprise and others; Silver/Bronze need the "Anti-Download Simples" add-on, contracted in the dashboard; not available on Clipador/Clipper and VSL Only plans). Turning it off also turns Exclusive Playback off; a paid add-on stays billed until it is removed in the dashboard. dry_run=true (default) previews the change.

NameTypeReqDescription
dry_runboolean–true = preview only; false = apply
enabledbooleanyestrue = enable anti-download, false = disable
idempotency_keystring–Reserved client-supplied retry key

No output schema declared.

No examples provided.

panda_action_set_custom_field_for_folder ~135

Deterministically resolve a folder and set a custom metadata field (key/value) on every CONVERTED video (POST /videos/{id}?custom_fields). dry_run=true (default) previews the affected videos.

NameTypeReqDescription
dry_runboolean–true = preview only; false = apply
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key
keystringyesCustom field key (max 200 chars)
valuestringyesCustom field value (max 500 chars)

No output schema declared.

No examples provided.

panda_action_set_default_subtitle_for_folder ~151

Deterministically resolve a folder and set the default subtitle language on every CONVERTED video (POST /player?type=video). Pass language 'false' to clear the default. dry_run=true (default) previews the affected videos. Note: videos lacking that subtitle simply won't show it.

NameTypeReqDescription
dry_runboolean–true = preview only; false = apply
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key
languagestringyesSubtitle language code to set as default (e.g. 'pt-BR'), or 'false' to clear

No output schema declared.

No examples provided.

panda_action_set_folder_player_control ~266

Enable or disable a single player control on every CONVERTED video in a folder, via player profiles, PRESERVING all other controls and without touching videos outside the folder. The big play button (dashboard 'Botão de Play Grande') is the 'play-large' control — disable it with control='play-large', enabled=false. Each video's controls are read-modify-written; when a profile has no explicit control list it inherits the global player controls, so the action materializes that global list minus/plus the control. A video on a SHARED or the default profile first gets its own copy of that profile (like the dashboard does); videos without a profile get one created and assigned. dry_run=true (default) validates + previews per-video changes, including which shared profiles end up with no videos.

NameTypeReqDescription
controlstringyesPlayer control to toggle. 'play-large' = the big center play button.
dry_runboolean–true = validate + preview only; false = apply
enabledbooleanyestrue = show the control, false = hide/disable it
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key

No output schema declared.

No examples provided.

panda_action_set_folder_videos_offline ~139

Deterministically resolve a folder and enable or disable offline (mobile app) playback for every CONVERTED video inside it, in one batch call (POST /app). dry_run=true (default) previews the affected videos.

NameTypeReqDescription
dry_runboolean–true = preview only; false = apply
enabledbooleanyestrue = allow offline playback, false = disable
expire_days––Days until offline access expires (null = never)
folder_refstringyesFolder name, ID, or dashboard URL
idempotency_keystring–Reserved client-supplied retry key

No output schema declared.

No examples provided.

panda_action_set_forms_integration ~170

Create or update a forms/CRM integration by service name. Reads existing integrations (GET /forms-integration/get); updates in place if the service already exists (PUT /forms-integration/update), otherwise creates it (POST /forms-integration/save). dry_run=true (default) previews.

NameTypeReqDescription
api_keystring–API key/token
api_urlstring–API URL (if the service uses one)
dry_runboolean–true = preview only; false = save
idempotency_keystring–Reserved client-supplied retry key
namestring–Display name
servicestringyesIntegration service identifier (e.g. 'rd_station')
webhook_urlstring–Webhook URL (if applicable)

No output schema declared.

No examples provided.

panda_action_set_webhook ~117

Idempotently set the account webhook URL. Reads the current webhook (GET /user/webhook); if a different one exists it is removed (DELETE /user/webhook/{id}) before creating the new one (POST /user/webhook). dry_run=true (default) previews the change.

NameTypeReqDescription
dry_runboolean–true = preview only; false = apply
idempotency_keystring–Reserved client-supplied retry key
urlstringyesWebhook URL to receive Panda events

No output schema declared.

No examples provided.

panda_action_transfer_credits_to_subaccount ~113

Resolve a subaccount by name or ID and transfer credits to it (POST /user/limit/transfer_credits). Checks the parent balance first. dry_run=true (default) previews the transfer.

NameTypeReqDescription
creditsintegeryesNumber of credits to transfer
dry_runboolean–true = preview only; false = transfer
idempotency_keystring–Reserved client-supplied retry key
subaccount_refstringyesSubaccount name or ID

No output schema declared.

No examples provided.

panda_add_cta ~315

Add a CTA (Call-to-Action) button to a video. Placement 'inside' = overlay on the video, 'outside' = below the video. Builds the same payload the dashboard's button editor sends.

NameTypeReqDescription
append_website_query_paramsboolean–Append the page's URL query params to the button's URL
background_colorstring–Background color, hex (default: #3e50f7)
background_hover_colorstring–Background color on hover, hex
custom_htmlstring–Raw HTML/CSS/JS to render instead of the styled button (advanced)
end_timenumber–Seconds into the video when the button disappears. Omit to show until the end of the video.
placementstringyesWhere to place the CTA
positionstring–Button position on the video overlay. Only applies to placement='inside'.
sizestring–Button size (default: small)
start_timenumber–Seconds into the video when the button appears. Omit (with end_time) for the whole video.
textstring–Button label text. Required unless custom_html is set.
text_colorstring–Text color, hex (default: #FFFFFF)
text_hover_colorstring–Text color on hover, hex
urlstring–URL opened when the button is clicked. Required unless custom_html is set.
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_add_end_thumbnail ~115

Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable JPG, PNG or GIF up to 5 MB. The upload also creates the end CTA, so the image shows in the player right away. A video has one end thumbnail: a new upload replaces the previous one. Returns {response: {endThumbnail: <name>}}.

NameTypeReqDescription
image_urlstringyesPublic URL of the image to upload
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_add_pause_thumbnail ~145

Upload a pause thumbnail — an image shown when the viewer pauses the video. Provide `image_url` pointing to a publicly reachable JPG, PNG or GIF up to 5 MB. The upload also creates the pause CTA, so the image shows in the player right away, for the whole video. A video can have several pause thumbnails. Returns {response: {pauseThumbnail: [<thumb_name>]}} — keep that name: panda_delete_thumbnail needs it to remove this image. Time window and button overlay are edited in the dashboard pause-thumbnail editor.

NameTypeReqDescription
image_urlstringyesPublic URL of the image to upload
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_add_thumbnail ~106

Upload the video cover (start thumbnail) — the image shown before the user presses play. Provide `image_url` pointing to a publicly reachable image (PNG/JPG/GIF); the tool downloads it and uploads as multipart to the Panda API. Replaces any existing start thumbnail. After this returns, the cover is active immediately for the player.

NameTypeReqDescription
image_urlstringyesPublic URL of the image to use as the cover
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_add_tutor_videos ~177

Add videos to a Tutor AI assistant. Additive: only videos not yet bound are added; videos already bound stay as they are and nothing is unbound (use panda_remove_tutor_video to remove one). Only CONVERTED videos: if any ID doesn't exist or isn't CONVERTED, the whole request is refused. Billing: each NEW video without a subtitle in the tutor's language gets a transcription, charged at ceil(minutes/5) credits per video (Gold/Enterprise plans outside trial get free transcriptions up to a daily limit); without enough credits the API refuses before binding anything.

NameTypeReqDescription
assistant_idstringyesTutor assistant ID
langstring–Language code; only used when the tutor has no language set
video_idsarrayyesVideo IDs to add (max 50)

No output schema declared.

No examples provided.

panda_add_videos_to_funnel ~94

Add 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.

NameTypeReqDescription
idstringyesFunnel ID
videosarrayyesVideos to add with optional positions

No output schema declared.

No examples provided.

panda_add_videos_to_playlist ~58

Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}].

NameTypeReqDescription
playlist_idstringyesPlaylist ID
videosarrayyesVideos to add with order

No output schema declared.

No examples provided.

panda_apply_profile_to_videos ~154

Link 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 any folder_id, are queued and return status 'pending' — confirm later with panda_get_profile (videos_count). Returns {status, message}.

NameTypeReqDescription
folder_idstring–Folder ID — applies to all its videos (instead of video_ids)
profile_idstringyesProfile ID to apply
video_idsarray–List of video IDs to apply the profile to (max 50)

No output schema declared.

No examples provided.

panda_cancel_partial_deletion ~122

Undo a partial deletion of ONE video before it is executed: the qualities/backup come back. Without qualities and backup, everything pending for the video is restored. Refused once the final deletion has started. Does not recover videos in the trash.

NameTypeReqDescription
backupboolean–true = remove the original uploaded file (backup)
qualitiesarray–Qualities to remove, as in the video's available_resolutions (e.g. ['1080p', '720p'])
video_idstringyesVideo ID (one video per call)

No output schema declared.

No examples provided.

panda_check_download_status ~206

Check the status of an async download request (same format/quality/language used in panda_request_download). Returns {status, url?} — `url` (a temporary signed link) is present when status is 'ready'.

NameTypeReqDescription
formatstringyesRequested format
languagestringyesAudio language: 'default' for the original audio, or the code of a dubbed audio of the video (e.g. 'en', 'es' — see audios[] in panda_get_video). 'original' is read as 'default'.
qualitystringyesQuality: one of 240p, 360p, 480p, 720p, 1080p, 1440p, 2160p, original ('1080' is read as '1080p'). 'original' is the uploaded file; the others must be in the video's available_resolutions.
video_external_idstringyesVideo external ID

No output schema declared.

No examples provided.

panda_confirm_ai_ebook_pdf ~111

Finish the PDF upload started with panda_get_ai_ebook_upload_url (kind=pdf): the PDF is checked (exists, not empty, up to 15 MB, valid PDF) and becomes the eBook of that language. With upload_success=false the uploaded file is discarded instead.

NameTypeReqDescription
langstringyesSame lang used to get the upload URL
upload_successboolean–false = the PUT failed; discard the file
video_idstringyesVideo ID

No output schema declared.

No examples provided.

Install

How do I install the Panda Video MCP server?

Panda Video is a hosted endpoint at https://mcp.pandavideo.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.pandavideo.com

# add to Claude Code
claude mcp add --transport http com-pandavideo-mcp 'https://mcp.pandavideo.com/mcp'
Common questions

What is the Panda Video MCP server?

Panda Video is an MCP server listed in the public MCP registry as com.pandavideo/mcp. Video hosting: upload, organize and configure videos, analytics, AI subtitles and Shorts. This page covers its hosted endpoint (https://mcp.pandavideo.com/mcp).

Is the Panda Video MCP server safe to use?

Panda Video scores 92 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Panda Video MCP server expose?

Panda Video exposes 216 tools: panda_list_videos, panda_get_video, panda_update_video, panda_delete_videos, panda_get_videos_status, and 211 more. Their descriptions and schemas cost roughly 27,542 tokens of context every time the server is loaded.

Does the Panda Video MCP server require authentication?

Yes. Panda Video asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Panda Video MCP server still maintained?

Panda Video is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What did VerifyMCP test on the Panda Video MCP server?

VerifyMCP ran 13 checks on Panda Video, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.