---
title: "Panda Video MCP server"
url: "https://martechdb.com/vendors/panda-video"
markdown_url: "https://martechdb.com/vendors/panda-video.md"
api_url: "https://martechdb.com/api/v1/vendors/pandavideo.com"
updated: "2026-10-11"
---

# Panda Video MCP server

Yes. Panda Video publishes 2 official MCP servers: Panda Video MCP and Panda Video docs MCP. They're all hosted. We last checked them on 13 Oct 2026. MartechDB lists only servers the vendor publishes itself, never community servers.

**Key facts:** As of 13 Oct 2026, the best of Panda Video's 2 official MCP servers, Panda Video MCP, scores 65/100 (provisional) on MartechDB's Agent Readiness Index (v1.1). It lists 177 tools.

- Website: [pandavideo.com](https://pandavideo.com)
- Categories: [Video](https://martechdb.com/categories/video.md)

## Review

Panda Video's Panda Video MCP scores 65/100 on MartechDB's Agent Readiness Index: easy to connect an AI agent to, with a few gaps.

The good:

- Hosted by Panda Video: connect by URL, with nothing to install
- Documented, with 177 tools known

Not checked yet: how you sign in; what agent access costs.

## Agent Readiness Index: 65/100 (provisional)

How friendly Panda Video is to AI agents, from its best official MCP server. Anything not yet researched scores nothing, so this score may rise once it is. Methodology v1.1: https://martechdb.com/methodology.

- Official MCP server: 30/30 (Published by the vendor)
- Hosted by the vendor: 25/25 (Connect by URL, nothing to install)
- OAuth sign-in: pending (Sign-in: see vendor docs)
- Documented tools: 10/10 (A docs page, and its tools are known)
- Free to start, pay as you go: 0/15 (Not stated by the vendor)

## Panda Video MCP

- Address: https://mcp.pandavideo.com/mcp
- Runs: Hosted
- Sign-in: Sign-in: see vendor docs (`unknown`)
- Official MCP Registry: not listed
- Documentation: https://docs.pandavideo.com/reference/mcp
- How we know it's official: Documented on Panda Video's own site, at docs.pandavideo.com
- First seen: 2026-10-11
- Last checked: 2026-10-13
- Recent checks: 2 of the last 2 reachable

### Tools (177)

As the server lists them on 2026-10-13. Names and descriptions come from the vendor's server.

- `panda_list_videos` (read-only): List videos. Each video has: id, title, status, created\_at, length (seconds), folder\_id, config. Results are returned newest first by default. There is NO server-side date filter or sorting — to find videos created on a specific date, fetch videos and check created\_at in the response.
- `panda_get_video` (read-only): Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc.
- `panda_update_video` (can delete or overwrite): Update basic metadata of a video: title, description text, or move to a different folder. Do NOT use this for player settings, chapters, subtitles, thumbnails, or any playback configuration — use the specific tools for those.
- `panda_delete_videos` (can delete or overwrite): Delete one or more videos by ID. Sends to trash for 30 days.
- `panda_move_videos` (can delete or overwrite): Move one or more videos to a folder
- `panda_duplicate_video`: Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos.
- `panda_reencode_video`: Re-encode a video with a specific compression mode
- `panda_upload_video_from_url`: Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)
- `panda_list_folders` (read-only): List all folders. Returns array of {id, name, parent\_folder\_id, status, created\_at, videos\_count}.
- `panda_create_folder`: Create a new folder. Returns the created {id, name, parent\_folder\_id}.
- `panda_get_folder` (read-only): Get a folder's details and contents. Returns {id, name, parent\_folder\_id, status, videos: \[{id, title, status}\], folders: \[{id, name}\]}.
- `panda_update_folder` (can delete or overwrite): Update folder properties (name, parent). Also used to recover deleted folders with status=true.
- `panda_delete_folder` (can delete or overwrite): Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days.
- `panda_list_playlists` (read-only): List all playlists. Returns array of {id, name, videos\_quantity, duration, access\_type, updated\_at}.
- `panda_create_playlist`: Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access\_type}.
- `panda_get_playlist` (read-only): Get details of a specific playlist. Returns {id, name, description, videos\_quantity, access\_type, creator\_name, duration, updated\_at}.
- `panda_update_playlist` (can delete or overwrite): Update a playlist's properties
- `panda_delete_playlist` (can delete or overwrite): Delete a playlist. Videos are NOT deleted — only the collection is removed.
- `panda_get_playlist_videos` (read-only): List all videos in a playlist. Returns array of {id, video\_id, order, video: {id, title, duration}}.
- `panda_add_videos_to_playlist`: Add videos to a playlist with order. Returns the updated playlist video entries \[{video\_id, playlist\_id, order}\].
- `panda_remove_video_from_playlist` (can delete or overwrite): Remove a video from a playlist. Does NOT delete the video.
- `panda_list_profiles` (read-only): List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: \[{id, name, pullzone\_name}\]} — a profile's \`name\` is the ID of the video it was created for. Use panda\_get\_profile for a profile's full settings. No pagination.
- `panda_create_profile`: Create a new player profile (POST /profile). IMPORTANT: per the Panda API, \`name\` MUST be the ID of an existing video — if it is not a real video ID the API returns 500 and nothing is created. Create only accepts \`name\` and \`exclusive\`; it does NOT accept colors/controls/vsl. To set those, call panda\_update\_profile with the returned profile id afterward. Returns {data: {id, name}}.
- `panda_get_profile` (read-only): Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)
- `panda_update_profile` (can delete or overwrite): Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL mode (vsl.disablePause / disableForward / alternativeProgress), playback speed (general.default\_speed), save progress, big play button (use panda\_update\_video\_config — that lives elsewhere), and SUBTITLE APPEARANCE: caption text/background colors (captions.foreground / captions.background — 8-char hex with alpha) and caption font size (general.fontSize as keyword 'extraSmall'\|'small'\|'normal'\|'large'\|'extraLarge', plus general.fontSizePx as the matching pixel number). When the user names a UI label like "extra pequeno" / "extra small", map it to the corresponding fontSize keyword and send both fontSize + fontSizePx. Do NOT use this tool for: chapters (use panda\_update\_video\_config), subtitle generation (use panda\_generate\_ai\_subtitles), thumbnails, or title/description (use panda\_update\_video). Each nested object REPLACES the e…
- `panda_delete_profile` (can delete or overwrite): Delete a player profile by ID
- `panda_apply_profile_to_videos`: Apply a player profile to one or more videos. Returns confirmation with the list of updated video\_ids.
- `panda_list_lives` (read-only): List all live streams. Returns array of {id, title, status, scheduled\_at, created\_at}.
- `panda_create_live`: Create a new live stream event
- `panda_get_live` (read-only): Get details of a specific live stream. Returns {id, title, status, scheduled\_at, stream\_key, rtmp, live\_hls, created\_at}.
- `panda_finish_live` (can delete or overwrite): End a live broadcast
- `panda_delete_lives` (can delete or overwrite): Delete one or more live streams
- `panda_list_stream_keys` (read-only): List all stream keys for live broadcasting. Returns array of {id, name, stream\_key, rtmp, created\_at}.
- `panda_create_stream_key`: Create a new named stream key for OBS or other streaming software
- `panda_get_live_viewers` (read-only): Get viewer history for a live stream. Returns time-series array of viewer counts.
- `panda_get_account_analytics` (read-only): Get general analytics metrics for the whole account. Returns {views, unique\_viewers, watch\_time\_seconds, avg\_watch\_percentage, plays}.
- `panda_get_video_analytics` (read-only): Get analytics metrics for a specific video. Returns {views, unique\_viewers, watch\_time\_seconds, avg\_watch\_percentage, plays}.
- `panda_get_retention_analytics` (read-only): Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point.
- `panda_get_ranking_analytics` (read-only): Get ranking analytics for the account. Returns {most\_watched: \[{video\_id, title, watch\_time}\], most\_played: \[{video\_id, title, plays}\]}.
- `panda_get_realtime_analytics` (read-only): Get real-time viewer count and activity for the account. Returns {current\_viewers, active\_videos: \[{video\_id, title, viewers}\]}.
- `panda_get_bandwidth_analytics` (read-only): Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth\_bytes, video\_id?} entries.
- `panda_list_funnels` (read-only): List all funnels. Returns {data: \[{id, name, videos\_count, created\_at}\]}. A funnel with videos\_count=0 has no videos. Funnels are NOT folders.
- `panda_create_funnel`: Create a new video funnel
- `panda_get_funnel` (read-only): Get a funnel's details and its videos. Returns {data: {id, name, videos: \[{id, title, status, is\_first}\]}}. Funnels are NOT folders.
- `panda_update_funnel` (can delete or overwrite): Update a funnel's properties (rename)
- `panda_delete_funnel` (can delete or overwrite): Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible.
- `panda_add_videos_to_funnel`: Add one or more videos to a funnel with optional coordinates
- `panda_remove_videos_from_funnel` (can delete or overwrite): Remove one or more videos from a funnel
- `panda_get_watermark_status` (read-only): Check whether watermark/DRM is currently active on the account. Returns {active: boolean}.
- `panda_enable_watermark`: Enable watermark protection for the account
- `panda_disable_watermark` (can delete or overwrite): Disable watermark protection for the account
- `panda_list_watermark_groups` (read-only): List all watermark groups. Returns array of {id, name, active, video\_ids: \[\], folder\_ids: \[\], created\_at}.
- `panda_create_watermark_group`: Create a new watermark group
- `panda_get_watermark_group` (read-only): Get a watermark group's details. Returns {id, name, video\_ids: \[\], folder\_ids: \[\], created\_at}.
- `panda_update_watermark_group` (can delete or overwrite): Update a watermark group
- `panda_delete_watermark_group` (can delete or overwrite): Delete a watermark group
- `panda_manage_drm_group_items`: Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video\_ids and folder\_ids.
- `panda_get_thumbnails` (read-only): Get all thumbnails for a video. Returns {start: {url, name}, pause: \[{url, name}\], end: {url, name}} — each type may be null if not set.
- `panda_add_thumbnail`: 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/WEBP); 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.
- `panda_add_pause_thumbnail`: Upload a pause thumbnail — an image shown when the viewer pauses the video. Provide \`image\_url\` pointing to a publicly reachable image. Returns the uploaded thumbnail's filename. NOTE: the upload alone is NOT visible in the player — the viewer-facing display requires a pause CTA wiring (with time window and optional button overlay) which is configured separately via the dashboard. Use this MCP tool only to upload the asset; for full setup, redirect the user to the dashboard pause-thumbnail editor.
- `panda_add_end_thumbnail` (can delete or overwrite): Upload an end thumbnail — an image shown after the video finishes. Provide \`image\_url\` pointing to a publicly reachable image. Returns the uploaded filename. NOTE: the upload alone is NOT visible in the player — the viewer-facing display requires an \`end\` CTA on the player config that references this thumbnail. Use this MCP tool to upload the asset; for full setup (CTA wiring), redirect the user to the dashboard end-thumbnail editor.
- `panda_delete_thumbnail` (can delete or overwrite): Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb\_name), 'end'.
- `panda_get_subtitles` (read-only): Get all subtitle information for a video
- `panda_get_subtitle_by_language` (read-only): Get a subtitle file for a specific language
- `panda_delete_subtitle` (can delete or overwrite): Remove a subtitle from a video by language
- `panda_generate_ai_subtitles`: Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier.
- `panda_update_subtitle_visibility` (can delete or overwrite): Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)
- `panda_download_subtitle` (read-only): Download a subtitle file for a specific language
- `panda_get_videos_count` (read-only): Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)
- `panda_get_custom_fields` (read-only): Get all custom fields for a video. Returns array of {id, key, value} metadata pairs.
- `panda_create_custom_field`: 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.
- `panda_list_users` (read-only): List all users in the organization. Returns array of {id, name, email, role\_id, role\_name, created\_at}.
- `panda_create_user`: Create a new user in the organization. Returns the created {id, name, email, role\_id}.
- `panda_update_user` (can delete or overwrite): Update a user's information or role
- `panda_delete_user` (can delete or overwrite): Remove a user from the organization
- `panda_request_download`: Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}.
- `panda_check_download_status` (read-only): Check the status of an async download request. Returns {status, download\_url} — url is present when status is 'ready'.
- `panda_list_shorts` (read-only): List all Shorts jobs. Projects expire after ~30 days. Returns array of {job\_id, status, user\_context: {video\_title, source\_type}, completed\_segments, created\_at}.
- `panda_import_video_for_shorts`: Import a video for AI shorts generation. Sources: library (video\_id), youtube (source\_url). Default config: vertical aspect, 30-60s duration, no captions. Video must be CONVERTED, 5min-5hrs, \<50GB, no DRM.
- `panda_list_short_segments` (read-only): List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription.
- `panda_delete_short` (can delete or overwrite): Delete a Shorts job/project
- `panda_save_segment_to_library`: Save a Short segment to the video library as an independent video
- `panda_list_ai_assistants` (read-only): List all AI video assistants. Returns array of {id, name, status, videos: \[{id, title}\], created\_at}.
- `panda_get_ai_assistant` (read-only): Get an AI assistant's details. Returns {id, name, status, videos: \[{id, title}\], files: \[{id, file\_name}\], answers\_count}.
- `panda_create_ai_assistant`: Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video\_id}.
- `panda_get_ai_assistant_purchase_overview` (read-only): Get credit cost overview before creating an AI assistant. Returns {credit\_cost, current\_balance, sufficient\_credits}.
- `panda_update_ai_assistant` (can delete or overwrite): Update AI assistant information (name, status, etc.)
- `panda_update_ai_assistant_video_bindings` (can delete or overwrite): Replace the videos bound to an AI assistant. Sends the FULL list of video\_ids — existing bindings not in the list will be removed.
- `panda_update_ai_assistant_chat_visibility` (can delete or overwrite): Show or hide the AI chat widget on the video player
- `panda_delete_ai_assistant` (can delete or overwrite): Delete an AI assistant
- `panda_generate_tutor_file_upload_url`: 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.
- `panda_confirm_tutor_file_upload`: Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)
- `panda_delete_tutor_file` (can delete or overwrite): Delete a file from a Tutor AI assistant
- `panda_add_tutor_videos`: Add videos to a Tutor AI assistant
- `panda_create_ai_dubbing`: Create an AI dubbing job for a video. Costs 2 credits/min (standard) or 10 credits/min (lipsync). Returns {id, status, video\_id, from\_lang, to\_lang}.
- `panda_delete_dubbing_audio` (can delete or overwrite): Delete a dubbed audio track from a video
- `panda_get_referrals_summary` (read-only): Get referral program summary (balance, estimated value)
- `panda_get_credits_balance` (read-only): Get the current credits balance for the account. 1 credit = R$1.
- `panda_get_credits_history` (read-only): Get credits transaction history for a date range. Returns {balance, history: \[{id, type, amount, status, description, created\_at}\]}.
- `panda_get_auto_recharge_settings` (read-only): Get auto-recharge configuration for credits. Returns {enabled, trigger\_value, action\_value}.
- `panda_enable_auto_recharge`: Enable auto-recharge for credits. When balance drops below trigger, recharges action\_value.
- `panda_update_auto_recharge` (can delete or overwrite): Update auto-recharge settings
- `panda_disable_auto_recharge` (can delete or overwrite): Disable auto-recharge for credits
- `panda_list_comparisons` (read-only): List all A/B test comparisons. Status: DRAFT → IN\_PROGRESS → COMPLETED. Returns array of {id, name, description, status, videos: \[\], winner\_video\_id, created\_at}.
- `panda_create_comparison`: Create a new A/B test. Needs at least 2 videos to start. Returns the created {id, name, status, video\_ids}.
- `panda_start_comparison`: Start an A/B test (begin collecting data). Only from DRAFT status. Returns the updated comparison with status IN\_PROGRESS.
- `panda_finish_comparison` (can delete or overwrite): Finish an A/B test and declare a winner. PERMANENT — cannot be reversed.
- `panda_delete_comparisons` (can delete or overwrite): Delete one or more A/B tests
- `panda_get_player_config` (read-only): Get global player configuration (applies to all videos without a custom profile)
- `panda_update_player_config` (can delete or overwrite): Update global player configuration (applies to all videos without a custom profile). Returns the updated config object.
- `panda_get_video_player_config` (read-only): Get per-video player configuration (chapters, CTAs, pixels, redirect, AI features, retention markers, subtitle default, offline config)
- `panda_update_video_config` (can delete or overwrite): Update per-video config (POST /player?type=video). Send only fields you want to change. Fields: chapters, default\_subtitle, redirect\_video\_id, custom\_pixels, on\_funnel, panda\_branding, questions (AI quiz), mindmap (AI), abstract (AI ebook), retention\_markers, ai. NOT for: controls, autoplay, Smart Autoplay, colors, speed, big play button, save progress — use panda\_update\_profile for those.
- `panda_set_video_offline` (can delete or overwrite): Configure offline playback for a video (mobile app feature)
- `panda_add_cta`: 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.
- `panda_update_cta` (can delete or overwrite): Update a CTA on a video. Only the fields you pass are changed; everything else keeps its current value. Placement cannot be changed — delete and re-add the CTA instead.
- `panda_delete_cta` (can delete or overwrite): Delete a CTA from a video
- `panda_get_ai_workflows` (read-only): Get AI workflow status for a video (transcription, dubbing, translation progress)
- `panda_delete_ai_workflow` (can delete or overwrite): Delete an AI workflow (transcription, dubbing, etc.)
- `panda_get_subscription` (read-only): Get current subscription/plan details. Returns {subscription\_id, subscriptions: {name, status, active}, currency, addons}.
- `panda_list_invoices` (read-only): List all invoices. Returns array of {id, status, amount\_due, amount\_paid, created, due\_date, invoice\_pdf, hosted\_invoice\_url}.
- `panda_list_plans` (read-only): List available subscription plans and pricing
- `panda_list_subaccounts` (read-only): List all subaccounts and their usage limits. Returns array of {organization\_id, name, status, credits\_balance, storage\_used, limits}.
- `panda_update_subaccount` (can delete or overwrite): Update a subaccount's settings (name, limits, status)
- `panda_delete_subaccount` (can delete or overwrite): Delete a subaccount
- `panda_transfer_credits` (can delete or overwrite): Transfer credits to a subaccount
- `panda_help_search` (read-only): Search Panda Video help center articles to answer user questions. Searches through ALL 136 pre-indexed articles from the official help center (https://help.pandavideo.com/pt-br/). Use this tool whenever the user has a QUESTION about how Panda Video works, pricing, features, integrations, configuration, etc. DO NOT use this for API execution commands — only for knowledge/support questions. IMPORTANT: Base your answer EXCLUSIVELY on the article content returned. Do NOT infer, assume, or use external knowledge.
- `panda_help_get_article` (read-only): Get the full content of a specific Panda Video help center article by slug. Use this after searching to read the complete content of an article. The response is the full official documentation.
- `panda_get_business_rules` (read-only): Returns the platform business rules: the real consequences of actions that modify, delete or move resources (e.g., removing a video from a funnel deletes it permanently, it does not just unlink it). Useful before planning such actions, so the advice given to the user matches how the platform actually behaves. Domains: funnels, videos\_and\_folders, playlists, drm\_watermark, comparisons\_ab\_tests, lives, shorts, player\_profiles, anti\_download\_and\_domains, credits, thumbnails\_and\_subtitles.
- `panda_list_refer` (read-only): List the library-level domain referrers (Domain Protection / allow-block list for playback). Returns { refers: \[{ id, url, type, status }\] } where type is ALLOW\|BLOCK and status is one of active\|inactive\|pending\|deleting\|turning\_inactive. library\_id is resolved automatically when omitted.
- `panda_list_refer_all` (read-only): List all of the library's domains consolidated by hostname across library and folder scopes. Returns { refers: \[{ hostname, type, status, scope, library\_refer\_id, folders, type\_inconsistency, created\_at }\] }. scope is library\|folder\|mixed; status may be 'mixed' when rows differ; library\_refer\_id is the library-level row id (null if folder-only); folders is an array of { folder\_id, name, refer\_id, status }; type\_inconsistency=true when the same hostname has divergent ALLOW/BLOCK rows. Referrers with status=deleting are ignored. library\_id is resolved automatically when omitted.
- `panda_list_folder_refer` (read-only): List the domain referrers set directly on a folder. Returns { refers: \[{ id, url, type, status, origin: { type, id } }\] }. library\_id is resolved automatically when omitted.
- `panda_list_folder_refer_inherited` (read-only): List the effective referrers that apply to a folder using override-total semantics: the folder's own referrers if it has any, otherwise the library-level referrers. Use this to know which domains actually gate playback for videos in the folder. Returns { refers: \[{ id, url, type, status, origin: { type, id } }\] }. library\_id is resolved automatically when omitted.
- `panda_create_refer`: 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 }.
- `panda_create_folder_refer`: 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 }.
- `panda_set_refer_status` (can delete or overwrite): Activate (active=true) or deactivate (active=false) a single referrer by refer\_id. Activation moves inactive→pending; deactivation moves active→turning\_inactive (the async worker finalizes the state). If the referrer is already in an intermediate state (pending\|deleting\|turning\_inactive) the API returns 400 ({ errCode, errMsg }: 'Operation in progress, ...'). Works for both library- and folder-level referrers.
- `panda_delete_refer` (can delete or overwrite): 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.
- `panda_delete_folder_refer` (can delete or overwrite): 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.
- `panda_update_folder_refer` (can delete or overwrite): Edit one or more existing referrers (refer\_ids) in a single call: rename the hostname, change the type (ALLOW\|BLOCK), and/or move them between scopes. scope='library' makes the domain apply to the whole library (omit folder\_ids). scope='folder' makes it apply to the listed folder\_ids (required and non-empty, the backend computes the add/remove diff). All refer\_ids must belong to the same hostname. Returns { message, hostname, type, scope, renamed, folders\_added, folders\_removed, refers }. On error the API returns { errCode, errMsg }. library\_id is resolved automatically when omitted.
- `panda_set_block_none_refer` (can delete or overwrite): Set the global 'block\_none\_refer' policy for the library. When true, playback requests that carry NO referer are blocked; when false, they are allowed. This is the master switch that activates/deactivates domain protection for requests without a referer. On error the API returns { errCode, errMsg }. library\_id is resolved automatically when omitted.
- `panda_action_move_videos_by_folder` (can delete or overwrite): 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.
- `panda_action_delete_folder_videos` (can delete or overwrite): 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.
- `panda_action_reencode_folder_videos`: Deterministically resolve a folder and re-encode every CONVERTED video with a given compression mode. Reprocessing consumes processing resources. dry\_run=true (default) previews the affected videos.
- `panda_action_duplicate_folder_videos`: 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.
- `panda_action_set_folder_videos_offline` (can delete or overwrite): 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.
- `panda_action_rename_folder` (can delete or overwrite): Deterministically resolve a folder by name/ID/URL and rename it (PUT /folders/{id}). dry\_run=true (default) previews the rename.
- `panda_action_create_folder_path`: 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.
- `panda_action_create_playlist_from_folder`: 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.
- `panda_action_add_folder_videos_to_playlist`: 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.
- `panda_action_apply_profile_to_folder`: Deterministically resolve a player profile and a folder, list eligible (CONVERTED) videos, and apply the profile to all of them in one call. Free action (no credits). dry\_run=true (default) returns a preview of which videos would be updated.
- `panda_action_apply_video_config_to_folder`: Deterministically resolve a folder and apply per-video player config to every CONVERTED video (POST /player?type=video). Supports: panda\_branding, default\_subtitle (lang 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.
- `panda_action_configure_folder_profile`: Deterministically apply player-profile settings to every CONVERTED video in a folder, taking the correct create-or-update route per video. Covers everything a profile holds: colors (Cores), controls incl. the big play button 'play-large' (Controles / Botão de Play Grande), caption appearance (Legendas), VSL, save-progress, and general settings — pass any subset. Per video: if it already has a profile, that profile is updated (PUT /profile/{id}); if it has none, a new profile is created (POST /profile, name=video id), configured, and assigned (set-videos). dry\_run=true (default) first VALIDATES each video (has-profile vs not) and previews the plan without changing anything.
- `panda_action_set_folder_player_control` (can delete or overwrite): Enable or disable a single player control on every CONVERTED video in a folder, via player profiles, PRESERVING all other controls. 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 profile 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. Videos without a profile get one created and assigned. dry\_run=true (default) validates + previews per-video changes.
- `panda_action_generate_subtitles_for_folder`: 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.
- `panda_action_set_default_subtitle_for_folder` (can delete or overwrite): 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.
- `panda_action_remove_subtitle_language_from_folder` (can delete or overwrite): 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.
- `panda_action_dub_folder_videos`: 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 = 2 credits/min, lipsync = 10 credits/min (lipsync rejects videos over 60 minutes).
- `panda_action_create_tutor_from_folder`: 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.
- `panda_action_add_folder_videos_to_tutor`: Deterministically resolve an existing AI Tutor (by name or ID) and a folder, then bind every CONVERTED folder video to the tutor (POST /assist\_ai/update\_assistant\_videos). dry\_run=true (default) previews the additions.
- `panda_action_enable_ai_package_for_folder`: Deterministically resolve a folder and activate the AI package (mindmap + abstract/eBook + quiz) for every CONVERTED video (POST /aiworkflow type=ALL\_TEXT\_ITEMS). Estimates credits (1/started minute; Gold/Enterprise may have a free daily quota that reduces real cost). dry\_run=true (default) returns the cost preview.
- `panda_action_folder_ai_status` (read-only): 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).
- `panda_action_generate_shorts_from_folder`: 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.
- `panda_action_set_custom_field_for_folder` (can delete or overwrite): 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.
- `panda_action_apply_watermark_group_to_folder`: 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.
- `panda_action_create_watermark_group_for_folder`: 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.
- `panda_action_add_folder_videos_to_funnel`: 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.
- `panda_action_schedule_lives`: Create one or more scheduled live streams in a single call (POST /lives), optionally recording into a resolved folder. dry\_run=true (default) previews the lives that would be created.
- `panda_action_set_anti_download` (can delete or overwrite): Enable or disable account-wide anti-download protection (GET/PUT /block\_download). Reads the current state first and only changes it if needed. dry\_run=true (default) previews the change.
- `panda_action_set_allowed_domains` (can delete or overwrite): Add referer domains to the account's allow/block list for playback (POST /library/{id}?action=refer) and optionally toggle 'block requests with no referer'. Resolves the library ID automatically. dry\_run=true (default) previews.
- `panda_action_request_folder_downloads`: Deterministically resolve a folder and request an async download for every CONVERTED video at a given quality/format/language (POST /download-async/{externalId}). Poll status later with panda\_check\_download\_status. dry\_run=true (default) previews the requests.
- `panda_action_export_folder_analytics` (read-only): 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.
- `panda_action_create_ab_test`: 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.
- `panda_action_credit_preflight` (read-only): 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. Read-only; use before the real action to decide whether to proceed.
- `panda_action_transfer_credits_to_subaccount` (can delete or overwrite): 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.
- `panda_action_provision_user`: 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.
- `panda_action_create_review_link_for_folder`: 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.
- `panda_action_set_webhook` (can delete or overwrite): 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.
- `panda_action_set_forms_integration` (can delete or overwrite): 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.

### Connect it

Claude Code:

```sh
claude mcp add --transport http panda-video https://mcp.pandavideo.com/mcp
```

- Add to Cursor: <cursor://anysphere.cursor-deeplink/mcp/install?name=panda-video&config=eyJ1cmwiOiJodHRwczovL21jcC5wYW5kYXZpZGVvLmNvbS9tY3AifQ%3D%3D>
- Add to VS Code: <vscode:mcp/install?%7B%22name%22%3A%22panda-video%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.pandavideo.com%2Fmcp%22%7D>
- Claude.ai and Claude Desktop: Customize, Connectors, "+", Add custom connector, then paste https://mcp.pandavideo.com/mcp
- ChatGPT: Settings, Apps, Advanced settings, turn on Developer mode, Create, then paste https://mcp.pandavideo.com/mcp (this usually works only with servers that use self-serve sign-in or none)

JSON for Cursor, Windsurf and other clients that connect to hosted servers:

```json
{
    "mcpServers": {
        "panda-video": {
            "type": "http",
            "url": "https://mcp.pandavideo.com/mcp"
        }
    }
}
```

## Panda Video docs MCP

- Address: https://docs.pandavideo.com/mcp
- Runs: Hosted
- Sign-in: Sign-in: see vendor docs (`unknown`)
- Official MCP Registry: not listed
- Documentation: https://docs.pandavideo.com/docs/mcp
- How we know it's official: Documented on Panda Video's own site, at docs.pandavideo.com
- First seen: 2026-10-11
- Last checked: 2026-10-13
- Recent checks: 2 of the last 2 reachable

Tools: not known. The server needs sign-in before it lists them.

### Connect it

Claude Code:

```sh
claude mcp add --transport http panda-video-panda-video-docs-mcp https://docs.pandavideo.com/mcp
```

- Add to Cursor: <cursor://anysphere.cursor-deeplink/mcp/install?name=panda-video-panda-video-docs-mcp&config=eyJ1cmwiOiJodHRwczovL2RvY3MucGFuZGF2aWRlby5jb20vbWNwIn0%3D>
- Add to VS Code: <vscode:mcp/install?%7B%22name%22%3A%22panda-video-panda-video-docs-mcp%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fdocs.pandavideo.com%2Fmcp%22%7D>
- Claude.ai and Claude Desktop: Customize, Connectors, "+", Add custom connector, then paste https://docs.pandavideo.com/mcp
- ChatGPT: Settings, Apps, Advanced settings, turn on Developer mode, Create, then paste https://docs.pandavideo.com/mcp (this usually works only with servers that use self-serve sign-in or none)

JSON for Cursor, Windsurf and other clients that connect to hosted servers:

```json
{
    "mcpServers": {
        "panda-video-panda-video-docs-mcp": {
            "type": "http",
            "url": "https://docs.pandavideo.com/mcp"
        }
    }
}
```

## Questions

### Does Panda Video have an official MCP server?

Yes. Panda Video publishes 2 MCP servers itself. MartechDB only lists servers a vendor publishes, never community copies.

### What is the Panda Video MCP server URL?

Panda Video MCP: The address is https://mcp.pandavideo.com/mcp. Panda Video docs MCP: The address is https://docs.pandavideo.com/mcp.

### How do I connect Panda Video MCP to Claude, ChatGPT or Cursor?

These steps are for Panda Video MCP. The others connect the same way, each at its own address. In Claude, add https://mcp.pandavideo.com/mcp as a custom connector (Customize, Connectors, Add custom connector). In Cursor, use the Add to Cursor link on MartechDB's page, or paste the JSON settings into your mcp.json. In Claude Code, run: claude mcp add --transport http panda-video https://mcp.pandavideo.com/mcp

### What can Panda Video's MCP servers do?

Those that list their tools offer 177 tools, including panda\_list\_videos, panda\_get\_video, panda\_update\_video, panda\_delete\_videos and panda\_move\_videos (as listed on 13 Oct 2026). 59 are marked read-only and 62 can delete or overwrite data.

### Are Panda Video's MCP servers in the official MCP Registry?

No. Panda Video hasn't published any of them to the official MCP Registry.

### Are Panda Video's MCP servers working?

Yes. All of them answered our most recent checks. We last checked them on 13 Oct 2026.

### What are the alternatives to Panda Video's MCP server?

In Video, the most agent-friendly alternatives with an official MCP server are vidIQ (95/100), Video Highlight (95/100), Zebracat (94/100), Video To Blog (92/100) and Mindstamp (91/100). Panda Video scores 65/100 on the same index.

## Change history

- 2026-10-11: Panda Video docs MCP added
- 2026-10-11: Panda Video MCP added
- 2026-10-11: Added to MartechDB

## Alternatives to Panda Video's MCP server

In Video, the most agent-friendly first:

- [vidIQ](https://martechdb.com/vendors/vidiq.md) (vidiq.com), Agent Readiness Index 95/100
- [Video Highlight](https://martechdb.com/vendors/video-highlight.md) (videohighlight.com), Agent Readiness Index 95/100
- [Zebracat](https://martechdb.com/vendors/zebracat.md) (zebracat.ai), Agent Readiness Index 94/100
- [Video To Blog](https://martechdb.com/vendors/video-to-blog.md) (videotoblog.ai), Agent Readiness Index 92/100
- [Mindstamp](https://martechdb.com/vendors/mindstamp.md) (mindstamp.com), Agent Readiness Index 91/100

## Get this data

- API: `curl https://martechdb.com/api/v1/vendors/pandavideo.com`
- MCP: `claude mcp add --transport http martechdb https://martechdb.com/mcp`, then ask about Panda Video.
- Web page: https://martechdb.com/vendors/panda-video
