Panda Video
REMOTE · MCP.PANDAVIDEO.COM
Video hosting: upload, organize and configure videos, analytics, AI subtitles and Shorts.
Available components
Last scanned (13 hours ago)
Scores higher than 99% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Design and Media
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
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
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
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 →
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
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 |
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 →
panda_confirm_tutor_file_upload Confirm Tutor File Upload ~62
Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)
| Name | Type | Req | Description |
|---|---|---|---|
| file_id | string | yes | File ID returned from generate_file_upload_url |
| upload_success | boolean | yes | true if upload succeeded |
No output schema declared.
No examples provided.
panda_create_ai_assistant Create AI Assistant ~60
Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Assistant name |
| video_id | string | yes | Video ID to bind the assistant to |
No output schema declared.
No examples provided.
panda_create_ai_dubbing Create AI Dubbing ~386
Create an AI dubbing of a video into one target language. The path follows the video's subtitles, like the dashboard: target already subtitled → audio only (DUBBING, reuses that subtitle); source subtitled → TRANSLATION + dubbing; otherwise TRANSCRIPTION + dubbing (also creates the source subtitle). Costs 5 credits/min (standard AI dubbing, HeyGen audio only) or 14 credits/min (lipsync) per language; minimum 1 min, a partial minute counts only past 1 s. Refuses lipsync on a video that already has standard dubbing (and the inverse), lipsync over 60 min, and a balance below the cost. Returns {video_id, path, from_lang, to_lang, cost_credits, response} — response is the queued work (for TRANSCRIPTION, the transcription work; the dubbing work is created when it finishes).
| Name | Type | Req | Description |
|---|---|---|---|
| clone_original_voice | boolean | – | Clone original voice |
| from_lang | string | – | Spoken (source) language code, e.g. 'pt-BR'. Default: the video's original language, else 'auto' (detected). Only used on the TRANSLATION/TRANSCRIPTION paths. |
| is_lipsync | boolean | – | Use LipSync (lip sync, 14 credits/min). Default: standard AI dubbing (HeyGen, audio only, 5 credits/min) |
| num_speakers | number | – | Number of speakers in the video |
| replace_existing_subtitles | boolean | – | Same as the dashboard's 'Replace subtitles' option; only sent when the target language already has a subtitle. The API currently accepts it but does not regenerate the subtitle. |
| to_lang | string | yes | Target language code (e.g. 'en', 'es') |
| video_id | string | yes | Video ID |
No output schema declared.
No examples provided.
panda_create_ai_resource Create AI Resource Manually ~238
Create a quiz or mind map WITH CONTENT YOU PROVIDE (no AI, free) in a language that doesn't have one yet — the dashboard's "Add → Create New". Quiz: `questions` (1 to 10, 2 to 5 options each, correct ones marked) and optional `quiz_settings`. Mind map: `topics` (with optional subtopics), `mindmap_theme` (center; default the video title) and optional `mindmap_settings`. The eBook has no manual creation: generate it or upload a PDF (panda_get_ai_ebook_upload_url).
| Name | Type | Req | Description |
|---|---|---|---|
| lang | string | – | Language, e.g. 'en'. Default: the video's language |
| mindmap_settings | object | – | Mind map: orientation, color |
| mindmap_theme | string | – | Mind map: central theme |
| questions | array | – | Quiz: the questions |
| quiz_settings | object | – | Quiz: its options |
| resource | string | yes | mindmap or quiz |
| topics | array | – | Mind map: topics and their subtopics |
| video_id | string | yes | Video ID |
No output schema declared.
No examples provided.
panda_create_comparison Create Comparison ~64
Create a new A/B test. Needs at least 2 videos to start. Returns the created {id, name, status, video_ids}.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Test name |
| video_ids | array | – | Video IDs to compare (min 2) |
No output schema declared.
No examples provided.
panda_create_custom_field Create Custom Field ~86
Create a custom metadata key-value field for a video (for tagging/categorization). Do NOT use this for chapters, subtitles, CTAs, or player settings — use the specific tools for those. Max 50 fields per video.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | Field key/name |
| value | string | yes | Field value |
| video_id | string | yes | Video ID |
No output schema declared.
No examples provided.
panda_create_folder Create Folder ~49
Create a new folder. Returns the created {id, name, parent_folder_id}.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Folder name |
| parent_folder_id | string | – | Parent folder ID for nesting |
No output schema declared.
No examples provided.
panda_create_folder_refer Create Folder Domain Referrer ~150
Add a domain referrer scoped to a single folder. type is ALLOW|BLOCK. The new row starts in 'pending'. A folder cannot have the same hostname twice. library_id is resolved automatically when omitted. On error the API returns { errCode, errMsg }.
| Name | Type | Req | Description |
|---|---|---|---|
| folder_id | string | yes | Folder UUID where the referrer applies |
| hostname | string | yes | Domain hostname without protocol, e.g. 'example.com' or wildcard '*.cliente.com' |
| library_id | string | – | Library UUID. Resolved from GET /library when omitted. |
| type | string | yes | ALLOW = whitelist (only listed domains play); BLOCK = blacklist (listed domains are denied) |
No output schema declared.
No examples provided.
panda_create_funnel Create Funnel ~34
Create a new video funnel
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Funnel description |
| name | string | yes | Funnel name |
No output schema declared.
No examples provided.
panda_create_live Create Live ~261
Create 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, waiting to start or scheduled within 24h) returns 400. Omitted fields use the API defaults (region us, save_vod true).
| Name | Type | Req | Description |
|---|---|---|---|
| folder_id | string | – | Folder ID for recording |
| quality_package | string | – | Quality package: sd, hd, fhd (Full HD) or 4k |
| region | string | – | Broadcast region: us (USA) or br (Brazil, lower delay for viewers in Brazil) |
| save_vod | boolean | – | Save the recording as a video when the live ends (default true) |
| scheduled_at | string | – | Scheduled start: YYYY-MM-DDTHH:MM[:SS]. Without a zone it is Brasília time (UTC-3); add Z or ±HH:MM when the user is elsewhere. |
| stream_key_id | string | – | Stream key ID (panda_list_stream_keys); default key when omitted |
| title | string | yes | Live title (min 3 characters) |
No output schema declared.
No examples provided.
panda_create_playlist Create Playlist ~118
Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}.
| Name | Type | Req | Description |
|---|---|---|---|
| access_type | string | – | Access type — REQUIRED by the Panda API; defaults to anyone_with_link |
| creator_name | string | – | Creator name displayed in player — REQUIRED by the API; defaults to the playlist name |
| description | string | – | Playlist description |
| name | string | yes | Playlist name |
| password | string | – | Password (for password-protected playlists) |
No output schema declared.
No examples provided.
panda_create_profile Create Profile ~465
Create 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 what you want to set; the rest uses the player defaults. `name` is any label (3–100 chars). The new profile has no videos: link them with panda_apply_profile_to_videos. To make it the account default use panda_set_default_profile. Returns {id, name, isDefault}.
| Name | Type | Req | Description |
|---|---|---|---|
| availableQualities | array | – | Qualities the viewer can pick, e.g. ["480p","720p","1080p"]. Empty list = all qualities. |
| captionsSize | string | – | 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). |
| colors | object | – | Player colors, including caption text/background. Only the colors you send change — the others are kept. |
| controls | array | – | 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… |
| exclusive | boolean | – | True = a single video's own profile (hidden from panda_list_profiles). Leave unset for a shared profile. |
| general | object | – | General player settings (speed, search-in-video, theme, gear menu, offline). Merged into the current values — keys you omit are kept. |
| hideControlsOnStart | boolean | – | Hide controls until user interacts |
| name | string | yes | Profile name shown in the dashboard (3–100 chars) |
| saveProgress | object | – | Save progress / resume settings |
| vsl | object | – | VSL (Video Sales Letter) settings — controls autoplay, smart autoplay, fake progress bar, muted indicator |
No output schema declared.
No examples provided.
panda_create_refer Create Domain Referrers (library) ~136
Add one or more library-level domain referrers. Each entry has a hostname and a type (ALLOW|BLOCK, default ALLOW). The same hostname cannot coexist as both ALLOW and BLOCK at the library scope (duplicate check is type-agnostic). New rows start in 'pending' (when domain protection is active) or 'inactive'. library_id is resolved automatically when omitted. On error the API returns { errCode, errMsg }.
| Name | Type | Req | Description |
|---|---|---|---|
| library_id | string | – | Library UUID. Resolved from GET /library when omitted. |
| refers | array | yes | Referrers to create (1 or more) |
No output schema declared.
No examples provided.
panda_create_stream_key Create Stream Key ~77
Create a new stream key for OBS or other streaming software. The account's first key becomes the default.
| Name | Type | Req | Description |
|---|---|---|---|
| region | string | – | Region: us (default) or br |
| set_default | boolean | – | Make it the default key for new lives |
| title | string | yes | Stream key title (min 3 characters) |
No output schema declared.
No examples provided.
panda_create_user Create User ~61
Create a new user in the organization. Returns the created {id, name, email, role_id}.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | User email | |
| name | string | yes | User full name |
| role_id | string | – | Role ID to assign |
No output schema declared.
No examples provided.
panda_create_watermark_group Create Watermark Group ~44
Create a new watermark group
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Group name |
| video_ids | array | – | Videos to include in this group (max 50) |
No output schema declared.
No examples provided.
panda_delete_ai_assistant Delete AI Assistant ~27
Delete an AI assistant
| Name | Type | Req | Description |
|---|---|---|---|
| assistant_id | string | yes | AI assistant ID |
No output schema declared.
No examples provided.
panda_delete_ai_resource Delete AI Resource ~141
Delete ONE AI package resource of a video in one language (eBook, mind map or quiz) — cannot be undone: its content, PDF, images and the published file are removed, also for legacy resources. Same as the dashboard's Remove. Refused while it is still generating (checked before deleting; if that check fails nothing is deleted). Other languages and resources stay. To remove a failed generation card use panda_delete_ai_workflow.
| Name | Type | Req | Description |
|---|---|---|---|
| lang | string | yes | Language of the resource to delete, e.g. 'en' |
| resource | string | yes | ebook, mindmap or quiz |
| video_id | string | yes | Video ID |
No output schema declared.
No examples provided.
panda_delete_ai_workflow Delete AI Workflow ~70
Delete an AI work record (e.g. a failed or queued transcription/dubbing card; a queued one is refunded). It doesn't remove what a finished work produced: to remove an eBook, mind map or quiz use panda_delete_ai_resource.
| Name | Type | Req | Description |
|---|---|---|---|
| workflow_id | string | yes | Workflow ID |
No output schema declared.
No examples provided.
panda_delete_comparisons Delete Comparisons ~35
Delete one or more A/B tests
| Name | Type | Req | Description |
|---|---|---|---|
| comparison_ids | array | yes | Comparison IDs to delete (max 50) |
No output schema declared.
No examples provided.
panda_delete_cta Delete CTA ~49
Delete a CTA from a video
| Name | Type | Req | Description |
|---|---|---|---|
| cta_id | string | yes | CTA ID to delete |
| placement | string | yes | CTA placement |
| video_id | string | yes | Video ID |
No output schema declared.
No examples provided.
panda_delete_dubbing_audio Delete Dubbing Audio ~43
Delete a dubbed audio track from a video
| Name | Type | Req | Description |
|---|---|---|---|
| audio_id | string | yes | Audio track ID to delete |
| video_id | string | yes | Video ID |
No output schema declared.
No examples provided.
panda_delete_folder Delete Folder ~47
Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days.
| Name | Type | Req | Description |
|---|---|---|---|
| folder_id | string | yes | Folder ID |
No output schema declared.
No examples provided.
panda_delete_folder_refer Delete Folder Domain Referrers ~113
Delete one or more folder-level referrers by id (batch). Duplicate ids are de-duplicated; if any id is missing the API returns 404, and if any referrer is library-level it returns 400 ({ errCode, errMsg }). Rows transition to 'deleting' and are removed asynchronously.
| Name | Type | Req | Description |
|---|---|---|---|
| library_id | string | – | Library UUID. Resolved from GET /library when omitted. |
| refer_ids | array | yes | Folder referrer UUIDs to delete (max 50) |
No output schema declared.
No examples provided.
panda_delete_funnel Delete Funnel ~67
Delete 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).
| Name | Type | Req | Description |
|---|---|---|---|
| funnel_id | string | yes | Funnel ID |
No output schema declared.
No examples provided.
panda_delete_lives Delete Lives ~35
Delete one or more live streams
| Name | Type | Req | Description |
|---|---|---|---|
| live_ids | array | yes | List of live IDs to delete (max 50) |
No output schema declared.
No examples provided.
panda_delete_playlist Delete Playlist ~34
Delete a playlist. Videos are NOT deleted — only the collection is removed.
| Name | Type | Req | Description |
|---|---|---|---|
| playlist_id | string | yes | Playlist ID |
No output schema declared.
No examples provided.
panda_delete_profile Delete Profile ~189
Delete 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); 'migrate' = the videos move to `target_profile_id`. Up to 5 videos are processed immediately; more are queued (status 'pending') and the profile disappears once all videos are moved. If any video fails, the profile is NOT deleted.
| Name | Type | Req | Description |
|---|---|---|---|
| profile_id | string | yes | Profile ID |
| strategy | string | – | Required when the profile has videos: 'keep' (videos keep their look) or 'migrate' (videos move to target_profile_id) |
| target_profile_id | string | – | Profile that receives the videos — required with strategy 'migrate' |
No output schema declared.
No examples provided.
panda_delete_refer Delete Domain Referrers (library) ~104
Delete one or more library-level referrers by id (batch). Each referrer must be library-level (folder_id=null) and belong to the library; otherwise the API returns 400 ({ errCode, errMsg }). Rows transition to 'deleting' and are removed asynchronously.
| Name | Type | Req | Description |
|---|---|---|---|
| library_id | string | – | Library UUID. Resolved from GET /library when omitted. |
| refer_ids | array | yes | Referrer UUIDs to delete (max 50) |
No output schema declared.
No examples provided.
panda_delete_short Delete Short ~26
Delete a Shorts job/project
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | Shorts job ID |
No output schema declared.
No examples provided.
panda_delete_subaccount Delete Subaccount ~27
Delete a subaccount
| Name | Type | Req | Description |
|---|---|---|---|
| organization_id | string | yes | Subaccount organization ID |
No output schema declared.
No examples provided.
panda_delete_subtitle Delete Subtitle ~52
Remove a subtitle from a video by language
| Name | Type | Req | Description |
|---|---|---|---|
| srclang | string | yes | Language code to delete (e.g. pt-BR, en, es) |
| video_id | string | yes | Video ID |
No output schema declared.
No examples provided.
panda_delete_thumbnail Delete Thumbnail ~145
Delete a thumbnail from a video (image and its player CTA). Type: 'start' (default, the cover), 'pause', 'end'. For 'pause', thumb_name is required and must be the exact file name — returned by panda_add_pause_thumbnail, or metadata.thumbId of the 'pause' CTA in panda_get_video_player_config. The tool checks the name against the video's pause thumbnails first and refuses (listing the existing names) when it does not match exactly.
| Name | Type | Req | Description |
|---|---|---|---|
| thumb_name | string | – | Exact pause thumbnail file name (required for type 'pause') |
| type | string | – | Thumbnail type to delete |
| video_id | string | yes | Video ID |
No output schema declared.
No examples provided.
panda_delete_tutor_file Delete Tutor File ~30
Delete a file from a Tutor AI assistant
| Name | Type | Req | Description |
|---|---|---|---|
| file_id | string | yes | File ID |
No output schema declared.
No examples provided.
panda_delete_user Delete User ~26
Remove a user from the organization
| Name | Type | Req | Description |
|---|---|---|---|
| user_id | string | yes | User ID |
No output schema declared.
No examples provided.
panda_delete_videos Delete Videos ~44
Delete one or more videos by ID. Sends to trash for 30 days.
| Name | Type | Req | Description |
|---|---|---|---|
| video_ids | array | yes | List of video IDs to delete (max 50) |
No output schema declared.
No examples provided.
panda_delete_watermark_group Delete Watermark Group ~29
Delete a watermark group
| Name | Type | Req | Description |
|---|---|---|---|
| drm_group_id | string | yes | Watermark group ID |
No output schema declared.
No examples provided.
panda_disable_auto_recharge Disable Auto Recharge ~18
Disable auto-recharge for credits
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
panda_disable_watermark Disable Watermark ~17
Disable watermark protection for the account
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
panda_download_subtitle Download Subtitle ~50
Download a subtitle file for a specific language
| Name | Type | Req | Description |
|---|---|---|---|
| srclang | string | yes | Language code (e.g. 'pt-BR', 'en') |
| video_id | string | yes | Video ID |
No output schema declared.
No examples provided.
panda_duplicate_profile Duplicate Profile ~72
Copy a player profile's settings into a new profile named '<name> (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}.
| Name | Type | Req | Description |
|---|---|---|---|
| profile_id | string | yes | Profile ID to copy |
No output schema declared.
No examples provided.
panda_duplicate_video Duplicate Video ~44
Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos.
| Name | Type | Req | Description |
|---|---|---|---|
| video_id | string | yes | Video ID to duplicate |
No output schema declared.
No examples provided.
panda_enable_auto_recharge Enable Auto Recharge ~62
Enable auto-recharge for credits. When balance drops below trigger, recharges action_value.
| Name | Type | Req | Description |
|---|---|---|---|
| action_value | number | yes | Amount to recharge (min 5 credits) |
| trigger_value | number | yes | Balance threshold to trigger recharge (min 100) |
No output schema declared.
No examples provided.
panda_enable_watermark Enable Watermark ~17
Enable watermark protection for the account
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
panda_encrypt_videos Encrypt Videos (HLS) ~240
Turn on Encrypted Anti-Download (HLS encryption) on existing videos, 1–100 per call (one video works too). PAID in credits, per video: ceil(duration in hours × number of current qualities), e.g. a 10-minute video in 3 qualities = 1 credit; charged when the video is queued. Cannot be undone: there is no way to decrypt a video. Only for Gold/Enterprise plans or accounts with the 'Anti-Download Criptografado' add-on (checked before sending; otherwise refused). Videos already encrypted are left out (checked before sending) and listed in skipped as already_encrypted. Videos are also skipped without charge when still processing, with a pending partial deletion, without duration/qualities, not found, or when the credit balance doesn't cover them (insufficient_funds). Returns {idempotency_key, total, queued, skipped: [{video_id, reason}]}; follow the progress with panda_get_hls_encryption_batches. To encrypt future uploads automatically use panda_set_new_uploads_encryption.
| Name | Type | Req | Description |
|---|---|---|---|
| video_ids | array | yes | Video IDs (1–100) |
No output schema declared.
No examples provided.
panda_finish_comparison Finish Comparison ~52
Finish an A/B test and declare a winner. PERMANENT — cannot be reversed.
| Name | Type | Req | Description |
|---|---|---|---|
| comparison_id | string | yes | Comparison ID |
| winner_video_id | string | yes | ID of the winning video |
No output schema declared.
No examples provided.
panda_finish_live Finish Live ~24
End a live broadcast
| Name | Type | Req | Description |
|---|---|---|---|
| live_id | string | yes | Live ID |
No output schema declared.
No examples provided.
panda_generate_ai_resource Generate AI Resource ~433
Generate ONE AI package resource of a video — eBook, mind map or quiz — in one or more languages, with its settings and extra instructions (same as the dashboard: Video Settings → Panda AI). PAID: 1 credit per minute of video per language (minimum 1 min; a partial minute counts only past 1 s), e.g. a 10-minute video in 2 languages = 20 credits. On an active Gold/Enterprise plan the free daily AI quota covers the whole request while it lasts (1 use per request, checked before sending). Languages that already have this resource, or are still generating, are skipped (listed in skipped); the balance is checked before sending. The resource is ready in a few minutes; follow it with panda_get_ai_workflows. Returns {video_id, resource, from_lang, to_langs, skipped, gross_cost_credits, cost_credits, free_by_daily_quota, response}; response is the queued request (its id isn't a work id: the works show up in panda_get_ai_workflows once processed). To redo an existing one use panda_regenerate_ai_resource.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_instructions | string | – | Extra instructions for the AI (up to 1000 characters) |
| ebook_config | object | – | eBook only: layout, fonts, colors, format, header/footer, logo |
| from_lang | string | – | Spoken language of the video. Default: the video's original language, else 'auto' |
| image_generation_count | integer | – | eBook only: AI images in the eBook (dashboard offers 0, 3, 5 or 10; default 10) |
| mindmap_config | object | – | Mind map only: orientation, color |
| quiz_config | object | – | Quiz only: questions, options per question and quiz options |
| resource | string | yes | ebook, mindmap or quiz |
| to_langs | array | – | Languages to generate in, e.g. ['pt-BR','en']. Default: the video's language |
| video_id | string | yes | Video ID |
No output schema declared.
No examples provided.
panda_generate_ai_subtitles Generate AI Subtitles ~156
Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier.
| Name | Type | Req | Description |
|---|---|---|---|
| additional_langs | array | – | Additional languages to translate into (e.g. ['en', 'es']) |
| from_lang | string | yes | Source language code (e.g. 'pt-BR', 'en', 'es') |
| tier | string | – | Quality tier: 'essential' (clean audio, 3 langs, 1 credit/30min), 'advanced' (multi-speaker, 34 langs, 1 credit/5min), 'pro' (complex, 34 langs, 1 credit/min) |
| video_id | string | yes | Video ID |
No output schema declared.
No examples provided.
panda_generate_tutor_file_upload_url Generate Tutor File Upload URL ~104
Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload.
| Name | Type | Req | Description |
|---|---|---|---|
| assistant_id | string | yes | Tutor assistant ID |
| file_name | string | yes | File name (e.g. 'guide.pdf') |
| file_size | number | yes | File size in bytes |
| file_type | string | yes | MIME type (e.g. 'application/pdf') |
No output schema declared.
No examples provided.
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
claude mcp add --transport http com-pandavideo-mcp 'https://mcp.pandavideo.com/mcp'
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.