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.
Official: documented on Panda Video's own site, at docs.pandavideo.com. Checked 13 Oct 2026. Maintained by Stuart Brameld.
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.
How the Agent Readiness Index works · Wrong? Suggest a correction
Panda Video MCP server review
65/100
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
The bad
Nothing we've found.
Not checked yet: how you sign in; what agent access costs. Anything not checked scores nothing.
Official MCP servers
Panda Video MCP
- Address
- https://mcp.pandavideo.com/mcp
- Runs
- Hosted
- Sign-in
- Vendor docs
- Official MCP Registry
- Not listed
- How we know it's official
-
- Documented on Panda Video's own site, at docs.pandavideo.com.
- Documentation
- docs.pandavideo.com/reference/mcp
- Tools
- 177 tools · listed 13 Oct 2026
- First seen
- 11 Oct 2026
- Last checked
-
Reachable ·
12 Oct 2026: reachable13 Oct 2026: reachable
Panda Video MCP tools (177)
As the server lists them. Names and descriptions are the vendor's own.
-
panda_list_videosList VideosList 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_videoGet VideoGet full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc.
-
panda_update_videoUpdate VideoUpdate basic metadata of a video: title, description text, or move to a different folder. Do NOT use this for player settings, chapters, subtitles, thumbnails, or any playback configuration — use the specific tools for those.
-
panda_delete_videosDelete VideosDelete one or more videos by ID. Sends to trash for 30 days.
-
panda_move_videosMove VideosMove one or more videos to a folder
-
panda_duplicate_videoDuplicate VideoCreate a copy of a video. Only works for CONVERTED, non-external, non-funnel videos.
-
panda_reencode_videoReencode VideoRe-encode a video with a specific compression mode
-
panda_upload_video_from_urlUpload Video from URLImport a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)
-
panda_list_foldersList FoldersList all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}.
-
panda_create_folderCreate FolderCreate a new folder. Returns the created {id, name, parent_folder_id}.
-
panda_get_folderGet FolderGet a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}.
-
panda_update_folderUpdate FolderUpdate folder properties (name, parent). Also used to recover deleted folders with status=true.
-
panda_delete_folderDelete FolderDelete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days.
-
panda_list_playlistsList PlaylistsList all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}.
-
panda_create_playlistCreate PlaylistCreate a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}.
-
panda_get_playlistGet PlaylistGet details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}.
-
panda_update_playlistUpdate PlaylistUpdate a playlist's properties
-
panda_delete_playlistDelete PlaylistDelete a playlist. Videos are NOT deleted — only the collection is removed.
-
panda_get_playlist_videosGet Playlist VideosList all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}.
-
panda_add_videos_to_playlistAdd Videos to PlaylistAdd videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}].
-
panda_remove_video_from_playlistRemove Video from PlaylistRemove a video from a playlist. Does NOT delete the video.
-
panda_list_profilesList ProfilesList 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_profileCreate ProfileCreate 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_profileGet ProfileGet details of a specific player profile including all settings (controls, colors, vsl, saveProgress)
-
panda_update_profileUpdate ProfileUpdate 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_profileDelete ProfileDelete a player profile by ID
-
panda_apply_profile_to_videosApply Profile to VideosApply a player profile to one or more videos. Returns confirmation with the list of updated video_ids.
-
panda_list_livesList LivesList all live streams. Returns array of {id, title, status, scheduled_at, created_at}.
-
panda_create_liveCreate LiveCreate a new live stream event
-
panda_get_liveGet LiveGet details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}.
-
panda_finish_liveFinish LiveEnd a live broadcast
-
panda_delete_livesDelete LivesDelete one or more live streams
-
panda_list_stream_keysList Stream KeysList all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}.
-
panda_create_stream_keyCreate Stream KeyCreate a new named stream key for OBS or other streaming software
-
panda_get_live_viewersGet Live ViewersGet viewer history for a live stream. Returns time-series array of viewer counts.
-
panda_get_account_analyticsGet Account AnalyticsGet general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}.
-
panda_get_video_analyticsGet Video AnalyticsGet analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}.
-
panda_get_retention_analyticsGet Retention AnalyticsGet audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point.
-
panda_get_ranking_analyticsGet Ranking AnalyticsGet ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}.
-
panda_get_realtime_analyticsGet Realtime AnalyticsGet real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}.
-
panda_get_bandwidth_analyticsGet Bandwidth AnalyticsGet bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries.
-
panda_list_funnelsList FunnelsList all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders.
-
panda_create_funnelCreate FunnelCreate a new video funnel
-
panda_get_funnelGet FunnelGet a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders.
-
panda_update_funnelUpdate FunnelUpdate a funnel's properties (rename)
-
panda_delete_funnelDelete FunnelDelete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible.
-
panda_add_videos_to_funnelAdd Videos to FunnelAdd one or more videos to a funnel with optional coordinates
-
panda_remove_videos_from_funnelRemove Videos from FunnelRemove one or more videos from a funnel
-
panda_get_watermark_statusGet Watermark StatusCheck whether watermark/DRM is currently active on the account. Returns {active: boolean}.
-
panda_enable_watermarkEnable WatermarkEnable watermark protection for the account
-
panda_disable_watermarkDisable WatermarkDisable watermark protection for the account
-
panda_list_watermark_groupsList Watermark GroupsList all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}.
-
panda_create_watermark_groupCreate Watermark GroupCreate a new watermark group
-
panda_get_watermark_groupGet Watermark GroupGet a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}.
-
panda_update_watermark_groupUpdate Watermark GroupUpdate a watermark group
-
panda_delete_watermark_groupDelete Watermark GroupDelete a watermark group
-
panda_manage_drm_group_itemsManage DRM Group ItemsAdd or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids.
-
panda_get_thumbnailsGet ThumbnailsGet 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_thumbnailAdd Start Thumbnail (Cover)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_thumbnailAdd Pause ThumbnailUpload 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_thumbnailAdd End ThumbnailUpload 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_thumbnailDelete ThumbnailDelete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'.
-
panda_get_subtitlesGet SubtitlesGet all subtitle information for a video
-
panda_get_subtitle_by_languageGet Subtitle by LanguageGet a subtitle file for a specific language
-
panda_delete_subtitleDelete SubtitleRemove a subtitle from a video by language
-
panda_generate_ai_subtitlesGenerate AI SubtitlesGenerate 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_visibilityUpdate Subtitle VisibilityShow or hide a subtitle language (hidden subtitles are not visible but still indexable for search)
-
panda_download_subtitleDownload SubtitleDownload a subtitle file for a specific language
-
panda_get_videos_countGet Videos CountGet total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)
-
panda_get_custom_fieldsGet Custom FieldsGet all custom fields for a video. Returns array of {id, key, value} metadata pairs.
-
panda_create_custom_fieldCreate Custom FieldCreate 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_usersList UsersList all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}.
-
panda_create_userCreate UserCreate a new user in the organization. Returns the created {id, name, email, role_id}.
-
panda_update_userUpdate UserUpdate a user's information or role
-
panda_delete_userDelete UserRemove a user from the organization
-
panda_request_downloadRequest DownloadRequest an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}.
-
panda_check_download_statusCheck Download StatusCheck the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'.
-
panda_list_shortsList ShortsList 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_shortsImport Video for ShortsImport 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_segmentsList Short SegmentsList all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription.
-
panda_delete_shortDelete ShortDelete a Shorts job/project
-
panda_save_segment_to_librarySave Segment to LibrarySave a Short segment to the video library as an independent video
-
panda_list_ai_assistantsList AI AssistantsList all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}.
-
panda_get_ai_assistantGet AI AssistantGet an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}.
-
panda_create_ai_assistantCreate AI AssistantPurchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}.
-
panda_get_ai_assistant_purchase_overviewGet AI Assistant Purchase OverviewGet credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}.
-
panda_update_ai_assistantUpdate AI AssistantUpdate AI assistant information (name, status, etc.)
-
panda_update_ai_assistant_video_bindingsUpdate AI Assistant Video BindingsReplace 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_visibilityUpdate AI Assistant Chat VisibilityShow or hide the AI chat widget on the video player
-
panda_delete_ai_assistantDelete AI AssistantDelete an AI assistant
-
panda_generate_tutor_file_upload_urlGenerate Tutor File Upload URLGenerate 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_uploadConfirm Tutor File UploadConfirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)
-
panda_delete_tutor_fileDelete Tutor FileDelete a file from a Tutor AI assistant
-
panda_add_tutor_videosAdd Tutor VideosAdd videos to a Tutor AI assistant
-
panda_create_ai_dubbingCreate AI DubbingCreate 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_audioDelete Dubbing AudioDelete a dubbed audio track from a video
-
panda_get_referrals_summaryGet Referrals SummaryGet referral program summary (balance, estimated value)
-
panda_get_credits_balanceGet Credits BalanceGet the current credits balance for the account. 1 credit = R$1.
-
panda_get_credits_historyGet Credits HistoryGet credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}.
-
panda_get_auto_recharge_settingsGet Auto Recharge SettingsGet auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}.
-
panda_enable_auto_rechargeEnable Auto RechargeEnable auto-recharge for credits. When balance drops below trigger, recharges action_value.
-
panda_update_auto_rechargeUpdate Auto RechargeUpdate auto-recharge settings
-
panda_disable_auto_rechargeDisable Auto RechargeDisable auto-recharge for credits
-
panda_list_comparisonsList ComparisonsList 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_comparisonCreate ComparisonCreate a new A/B test. Needs at least 2 videos to start. Returns the created {id, name, status, video_ids}.
-
panda_start_comparisonStart ComparisonStart an A/B test (begin collecting data). Only from DRAFT status. Returns the updated comparison with status IN_PROGRESS.
-
panda_finish_comparisonFinish ComparisonFinish an A/B test and declare a winner. PERMANENT — cannot be reversed.
-
panda_delete_comparisonsDelete ComparisonsDelete one or more A/B tests
-
panda_get_player_configGet Player ConfigGet global player configuration (applies to all videos without a custom profile)
-
panda_update_player_configUpdate Player ConfigUpdate global player configuration (applies to all videos without a custom profile). Returns the updated config object.
-
panda_get_video_player_configGet Video Player ConfigGet per-video player configuration (chapters, CTAs, pixels, redirect, AI features, retention markers, subtitle default, offline config)
-
panda_update_video_configUpdate Video ConfigUpdate 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_offlineSet Video OfflineConfigure offline playback for a video (mobile app feature)
-
panda_add_ctaAdd CTAAdd 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_ctaUpdate CTAUpdate 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_ctaDelete CTADelete a CTA from a video
-
panda_get_ai_workflowsGet AI WorkflowsGet AI workflow status for a video (transcription, dubbing, translation progress)
-
panda_delete_ai_workflowDelete AI WorkflowDelete an AI workflow (transcription, dubbing, etc.)
-
panda_get_subscriptionGet SubscriptionGet current subscription/plan details. Returns {subscription_id, subscriptions: {name, status, active}, currency, addons}.
-
panda_list_invoicesList InvoicesList all invoices. Returns array of {id, status, amount_due, amount_paid, created, due_date, invoice_pdf, hosted_invoice_url}.
-
panda_list_plansList PlansList available subscription plans and pricing
-
panda_list_subaccountsList SubaccountsList all subaccounts and their usage limits. Returns array of {organization_id, name, status, credits_balance, storage_used, limits}.
-
panda_update_subaccountUpdate SubaccountUpdate a subaccount's settings (name, limits, status)
-
panda_delete_subaccountDelete SubaccountDelete a subaccount
-
panda_transfer_creditsTransfer CreditsTransfer credits to a subaccount
-
panda_help_searchSearch Help ArticlesSearch 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_articleGet Help ArticleGet 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_rulesGet Business RulesReturns 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_referList Domain Referrers (library)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_allList All Domain Referrers (consolidated)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_referList Folder Domain ReferrersList 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_inheritedList Folder Effective Domain ReferrersList 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_referCreate Domain Referrers (library)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_referCreate Folder Domain ReferrerAdd 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_statusActivate/Deactivate Domain ReferrerActivate (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_referDelete Domain Referrers (library)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_referDelete Folder Domain ReferrersDelete 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_referUpdate/Move Domain Referrers (mass-edit)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_referToggle Block-No-Referer PolicySet 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_folderMove Videos Between FoldersDeterministically 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_videosDelete Folder VideosDeterministically 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_videosReencode Folder VideosDeterministically 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_videosDuplicate Folder VideosDeterministically 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_offlineSet Folder Videos Offline PlaybackDeterministically 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_folderRename FolderDeterministically resolve a folder by name/ID/URL and rename it (PUT /folders/{id}). dry_run=true (default) previews the rename.
-
panda_action_create_folder_pathCreate Folder PathDeterministically 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_folderCreate Playlist from FolderDeterministically 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_playlistAdd Folder Videos to PlaylistDeterministically 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_folderApply Profile to FolderDeterministically 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_folderApply Video Config to FolderDeterministically 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_profileConfigure Folder Player ProfileDeterministically 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_controlToggle a Player Control for FolderEnable 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_folderGenerate Subtitles for FolderDeterministically 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_folderSet Default Subtitle for FolderDeterministically 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_folderRemove Subtitle Language from FolderDeterministically 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_videosDub Folder VideosDeterministically 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_folderCreate AI Tutor from FolderDeterministically 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_tutorAdd Folder Videos to TutorDeterministically 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_folderEnable AI Package for FolderDeterministically 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_statusFolder AI StatusDeterministically 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_folderGenerate Shorts from FolderDeterministically 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_folderSet Custom Field for FolderDeterministically 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_folderApply Watermark Group to FolderDeterministically 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_folderCreate Watermark Group for FolderDeterministically 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_funnelAdd Folder Videos to FunnelDeterministically 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_livesSchedule LivesCreate 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_downloadSet Anti-Download ProtectionEnable 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_domainsSet Allowed/Blocked DomainsAdd 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_downloadsRequest Folder DownloadsDeterministically 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_analyticsExport Folder AnalyticsDeterministically 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_testCreate A/B TestCreate 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_preflightCredit PreflightEstimate 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_subaccountTransfer Credits to SubaccountResolve 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_userProvision Team UserCreate 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_folderCreate Review Links for FolderDeterministically 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_webhookSet Account WebhookIdempotently 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_integrationSet Forms/CRM IntegrationCreate 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.
Panda Video docs MCP
- Address
- https://docs.pandavideo.com/mcp
- Runs
- Hosted
- Sign-in
- Vendor docs
- Official MCP Registry
- Not listed
- How we know it's official
-
- Documented on Panda Video's own site, at docs.pandavideo.com.
- Documentation
- docs.pandavideo.com/docs/mcp
- Tools
- Not known. It needs sign-in before it lists them.
- First seen
- 11 Oct 2026
- Last checked
-
Reachable ·
12 Oct 2026: reachable13 Oct 2026: reachable
Connect your AI to Panda Video
Add the official Panda Video MCP server to Claude, ChatGPT or your editor.
Connect Panda Video MCP to Claude
Panda Video MCP
Claude.ai and Claude Desktop
Open Customize, then Connectors.
Click +, then Add custom connector.
Name it Panda Video, paste the address below and click Add.
Panda Video docs MCP
Claude.ai and Claude Desktop
Open Customize, then Connectors.
Click +, then Add custom connector.
Name it Panda Video, paste the address below and click Add.
Connect Panda Video MCP to ChatGPT
Panda Video MCP
Open Settings, then Apps, then Advanced settings.
Turn on Developer mode, then click Create.
Name it Panda Video and paste the address below.
ChatGPT usually only connects to servers with self-serve sign-in or none.
Panda Video docs MCP
Open Settings, then Apps, then Advanced settings.
Turn on Developer mode, then click Create.
Name it Panda Video and paste the address below.
ChatGPT usually only connects to servers with self-serve sign-in or none.
Connect Panda Video MCP to Cursor
Panda Video MCP
Opens Cursor if it's installed. If nothing happens, use the JSON below.
Panda Video docs MCP
Opens Cursor if it's installed. If nothing happens, use the JSON below.
Connect Panda Video MCP to VS Code
Panda Video MCP
Opens VS Code if it's installed. Otherwise add the JSON settings from the Cursor tab to your .vscode/mcp.json.
Panda Video docs MCP
Opens VS Code if it's installed. Otherwise add the JSON settings from the Cursor tab to your .vscode/mcp.json.
Panda Video MCP server 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.
Alternatives to Panda Video's MCP server
Vendors in Video with an official MCP server, the most agent-friendly first. Panda Video scores 65/100.
vidIQ
vidiq.com
Video Highlight
videohighlight.com
Zebracat
zebracat.ai
Video To Blog
videotoblog.ai
Mindstamp
mindstamp.com
Change history
What we've seen change for Panda Video, newest first.
-
Panda Video: Panda Video docs MCP added
-
Panda Video: Panda Video MCP added
-
Panda Video: Added to MartechDB
Use with AI
Connect your AI to MartechDB
Then ask it about Panda Video, or any of the 1,531 marketing tools with an official MCP server. Free, no sign-in.
Claude.ai and Claude Desktop
Open Customize, then Connectors.
Click +, then Add custom connector.
Name it MartechDB, paste the address below and click Add. There's no sign-in.
The free plan allows one custom connector. On Team and Enterprise plans, an owner adds the connector first.
Claude Code
Run this in your terminal:
ChatGPT
Open Settings, then Apps, then Advanced settings.
Turn on Developer mode, then click Create.
Name it MartechDB, paste the address below and choose No authentication.
Developer mode is on Plus and Pro plans, and on Business, Enterprise and Edu if an admin allows it.
API
The same data as JSON, with no sign-in. See the OpenAPI description for every endpoint and field.
CLI
Search the directory and print the command to connect a vendor's server, from your terminal. Needs Node 18 or later. View on npm
Show that your MCP server is verified
If you work at Panda Video, add this badge to your MCP docs or README. It's free, it's the same for every vendor, and it updates from our daily checks: it shows uptime while the server responds, and says so if it stops.
Something wrong or out of date? Suggest a correction or email us, and we'll check it against the evidence. Every correction we make is listed on Corrections.