MCP.Market

Panda Video MCP server

online · 100% uptime
by pandavideo.com·com.pandavideo/mcp·v2.1.0

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

A91/100grade A
What users say
No reviews yet
Be the first
Safety scan
A91/100

full report

Adoption
Growing

0 stars

Reviews

Write one

Nobody has reviewed Panda Video yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Panda Video tools (177, 74 write)

write = sends, deletes, buys or posts
  • panda_action_add_folder_videos_to_funnelFree

    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_add_folder_videos_to_playlistFree

    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_add_folder_videos_to_tutorFree

    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_apply_profile_to_folderFree

    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_folderFree

    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_apply_watermark_group_to_folderFree

    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_configure_folder_profileFree

    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_create_ab_testwrite actionFree

    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_create_folder_pathwrite actionFree

    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_folderwrite actionFree

    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_create_review_link_for_folderwrite actionFree

    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_create_tutor_from_folderwrite actionFree

    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_create_watermark_group_for_folderwrite actionFree

    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_credit_preflightFree

    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_delete_folder_videoswrite actionFree

    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_dub_folder_videosFree

    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_duplicate_folder_videosFree

    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_enable_ai_package_for_folderFree

    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_export_folder_analyticsFree

    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_folder_ai_statusFree

    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_folderFree

    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_generate_subtitles_for_folderFree

    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_move_videos_by_folderFree

    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_provision_userwrite actionFree

    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_reencode_folder_videosFree

    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_remove_subtitle_language_from_folderwrite actionFree

    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_rename_folderFree

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

  • panda_action_request_folder_downloadsFree

    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_schedule_liveswrite actionFree

    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_allowed_domainsFree

    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_set_anti_downloadFree

    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_custom_field_for_folderFree

    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_set_default_subtitle_for_folderFree

    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_set_folder_player_controlFree

    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_set_folder_videos_offlineFree

    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_set_forms_integrationwrite actionFree

    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.

  • panda_action_set_webhookFree

    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_transfer_credits_to_subaccountwrite actionFree

    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_add_ctaFree

    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_add_end_thumbnailwrite actionFree

    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_add_pause_thumbnailwrite actionFree

    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_thumbnailwrite actionFree

    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_tutor_videosFree

    Add videos to a Tutor AI assistant

  • panda_add_videos_to_funnelFree

    Add one or more videos to a funnel with optional coordinates

  • panda_add_videos_to_playlistFree

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

  • panda_apply_profile_to_videosFree

    Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids.

  • panda_check_download_statusFree

    Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'.

  • panda_confirm_tutor_file_uploadwrite actionFree

    Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)

  • panda_create_ai_assistantwrite actionFree

    Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}.

  • panda_create_ai_dubbingwrite actionFree

    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_create_comparisonwrite actionFree

    Create a new A/B test. Needs at least 2 videos to start. Returns the created {id, name, status, video_ids}.

  • panda_create_custom_fieldwrite actionFree

    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_create_folderwrite actionFree

    Create a new folder. Returns the created {id, name, parent_folder_id}.

  • panda_create_folder_referwrite actionFree

    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_create_funnelwrite actionFree

    Create a new video funnel

  • panda_create_livewrite actionFree

    Create a new live stream event

  • panda_create_playlistwrite actionFree

    Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}.

  • panda_create_profilewrite actionFree

    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_create_referwrite actionFree

    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_stream_keywrite actionFree

    Create a new named stream key for OBS or other streaming software

  • panda_create_userwrite actionFree

    Create a new user in the organization. Returns the created {id, name, email, role_id}.

  • panda_create_watermark_groupwrite actionFree

    Create a new watermark group

  • panda_delete_ai_assistantwrite actionFree

    Delete an AI assistant

  • panda_delete_ai_workflowwrite actionFree

    Delete an AI workflow (transcription, dubbing, etc.)

  • panda_delete_comparisonswrite actionFree

    Delete one or more A/B tests

  • panda_delete_ctawrite actionFree

    Delete a CTA from a video

  • panda_delete_dubbing_audiowrite actionFree

    Delete a dubbed audio track from a video

  • panda_delete_folderwrite actionFree

    Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days.

  • panda_delete_folder_referwrite actionFree

    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_delete_funnelwrite actionFree

    Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible.

  • panda_delete_liveswrite actionFree

    Delete one or more live streams

  • panda_delete_playlistwrite actionFree

    Delete a playlist. Videos are NOT deleted — only the collection is removed.

  • panda_delete_profilewrite actionFree

    Delete a player profile by ID

  • panda_delete_referwrite actionFree

    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_shortwrite actionFree

    Delete a Shorts job/project

  • panda_delete_subaccountwrite actionFree

    Delete a subaccount

  • panda_delete_subtitlewrite actionFree

    Remove a subtitle from a video by language

  • panda_delete_thumbnailwrite actionFree

    Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'.

  • panda_delete_tutor_filewrite actionFree

    Delete a file from a Tutor AI assistant

  • panda_delete_userwrite actionFree

    Remove a user from the organization

  • panda_delete_videoswrite actionFree

    Delete one or more videos by ID. Sends to trash for 30 days.

  • panda_delete_watermark_groupwrite actionFree

    Delete a watermark group

  • panda_disable_auto_rechargeFree

    Disable auto-recharge for credits

  • panda_disable_watermarkFree

    Disable watermark protection for the account

  • panda_download_subtitleFree

    Download a subtitle file for a specific language

  • panda_duplicate_videowrite actionFree

    Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos.

  • panda_enable_auto_rechargeFree

    Enable auto-recharge for credits. When balance drops below trigger, recharges action_value.

  • panda_enable_watermarkFree

    Enable watermark protection for the account

  • panda_finish_comparisonFree

    Finish an A/B test and declare a winner. PERMANENT — cannot be reversed.

  • panda_finish_liveFree

    End a live broadcast

  • panda_generate_ai_subtitlesFree

    Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier.

  • panda_generate_tutor_file_upload_urlwrite actionFree

    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_get_account_analyticsFree

    Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}.

  • panda_get_ai_assistantFree

    Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}.

  • panda_get_ai_assistant_purchase_overviewwrite actionFree

    Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}.

  • panda_get_ai_workflowsFree

    Get AI workflow status for a video (transcription, dubbing, translation progress)

  • panda_get_auto_recharge_settingsFree

    Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}.

  • panda_get_bandwidth_analyticsFree

    Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries.

  • panda_get_business_rulesFree

    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_get_credits_balanceFree

    Get the current credits balance for the account. 1 credit = R$1.

  • panda_get_credits_historyFree

    Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}.

  • panda_get_custom_fieldsFree

    Get all custom fields for a video. Returns array of {id, key, value} metadata pairs.

  • panda_get_folderFree

    Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}.

  • panda_get_funnelFree

    Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders.

  • panda_get_liveFree

    Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}.

  • panda_get_live_viewersFree

    Get viewer history for a live stream. Returns time-series array of viewer counts.

  • panda_get_player_configFree

    Get global player configuration (applies to all videos without a custom profile)

  • panda_get_playlistFree

    Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}.

  • panda_get_playlist_videosFree

    List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}.

  • panda_get_profileFree

    Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)

  • panda_get_ranking_analyticsFree

    Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}.

  • panda_get_realtime_analyticsFree

    Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}.

  • panda_get_referrals_summaryFree

    Get referral program summary (balance, estimated value)

  • panda_get_retention_analyticsFree

    Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point.

  • panda_get_subscriptionFree

    Get current subscription/plan details. Returns {subscription_id, subscriptions: {name, status, active}, currency, addons}.

  • panda_get_subtitle_by_languageFree

    Get a subtitle file for a specific language

  • panda_get_subtitlesFree

    Get all subtitle information for a video

  • panda_get_thumbnailsFree

    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_get_videoFree

    Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc.

  • panda_get_video_analyticsFree

    Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}.

  • panda_get_video_player_configFree

    Get per-video player configuration (chapters, CTAs, pixels, redirect, AI features, retention markers, subtitle default, offline config)

  • panda_get_videos_countFree

    Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)

  • panda_get_watermark_groupFree

    Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}.

  • panda_get_watermark_statusFree

    Check whether watermark/DRM is currently active on the account. Returns {active: boolean}.

  • panda_help_get_articleFree

    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_help_searchFree

    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_import_video_for_shortsFree

    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_ai_assistantsFree

    List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}.

  • panda_list_comparisonsFree

    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_list_folder_referFree

    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_inheritedFree

    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_list_foldersFree

    List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}.

  • panda_list_funnelsFree

    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_list_invoicesFree

    List all invoices. Returns array of {id, status, amount_due, amount_paid, created, due_date, invoice_pdf, hosted_invoice_url}.

  • panda_list_livesFree

    List all live streams. Returns array of {id, title, status, scheduled_at, created_at}.

  • panda_list_plansFree

    List available subscription plans and pricing

  • panda_list_playlistsFree

    List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}.

  • panda_list_profilesFree

    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_list_referFree

    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_allFree

    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_short_segmentsFree

    List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription.

  • panda_list_shortsFree

    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_list_stream_keysFree

    List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}.

  • panda_list_subaccountsFree

    List all subaccounts and their usage limits. Returns array of {organization_id, name, status, credits_balance, storage_used, limits}.

  • panda_list_usersFree

    List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}.

  • panda_list_videosFree

    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_list_watermark_groupsFree

    List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}.

  • panda_manage_drm_group_itemsFree

    Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids.

  • panda_move_videosFree

    Move one or more videos to a folder

  • panda_reencode_videoFree

    Re-encode a video with a specific compression mode

  • panda_remove_video_from_playlistwrite actionFree

    Remove a video from a playlist. Does NOT delete the video.

  • panda_remove_videos_from_funnelwrite actionFree

    Remove one or more videos from a funnel

  • panda_request_downloadFree

    Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}.

  • panda_save_segment_to_libraryFree

    Save a Short segment to the video library as an independent video

  • panda_set_block_none_referFree

    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_set_refer_statusFree

    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_set_video_offlineFree

    Configure offline playback for a video (mobile app feature)

  • panda_start_comparisonFree

    Start an A/B test (begin collecting data). Only from DRAFT status. Returns the updated comparison with status IN_PROGRESS.

  • panda_transfer_creditswrite actionFree

    Transfer credits to a subaccount

  • panda_update_ai_assistantwrite actionFree

    Update AI assistant information (name, status, etc.)

  • panda_update_ai_assistant_chat_visibilitywrite actionFree

    Show or hide the AI chat widget on the video player

  • panda_update_ai_assistant_video_bindingswrite actionFree

    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_auto_rechargewrite actionFree

    Update auto-recharge settings

  • panda_update_ctawrite actionFree

    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_update_folderwrite actionFree

    Update folder properties (name, parent). Also used to recover deleted folders with status=true.

  • panda_update_folder_referwrite actionFree

    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_update_funnelwrite actionFree

    Update a funnel's properties (rename)

  • panda_update_player_configwrite actionFree

    Update global player configuration (applies to all videos without a custom profile). Returns the updated config object.

  • panda_update_playlistwrite actionFree

    Update a playlist's properties

  • panda_update_profilewrite actionFree

    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 existing one — send the COMPLETE object you want to keep.

  • panda_update_subaccountwrite actionFree

    Update a subaccount's settings (name, limits, status)

  • panda_update_subtitle_visibilitywrite actionFree

    Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)

  • panda_update_userwrite actionFree

    Update a user's information or role

  • panda_update_videowrite actionFree

    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_update_video_configwrite actionFree

    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_update_watermark_groupwrite actionFree

    Update a watermark group

  • panda_upload_video_from_urlwrite actionFree

    Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)

Public scan report

scanner v0.1.10 · 2026-10-14 · same rubric, same numbers if you re-run it

no findings
  • –Code scanremote-only server, no package to scann/a
  • Live reliabilityremote reachable in 1135ms20/20
  • Tool poisoning177 tool descriptions checked15/15
  • Auth qualityAPI key sent as a header8/15
  • Maintenancelast push 8 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year; website matches verified namespace10/10
Overall 91/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Panda Video compares

Against every graded Media MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
91/100
higher than 83% of 1,337 Media servers
Tools
177
the typical Media server has 7
Tools that change things
42%
typical: 4%. Fewer write tools means less an agent can break
Uptime
100%
of our recent checks; the typical remote Media server answers 100%
Response time
225 ms
faster than 66% of 862 Media servers

What its tools let an agent do: 103 read · 74 change

Install Panda Video in Claude Code, Cursor or VS Code

claude mcp add --transport http mcp https://mcp.pandavideo.com/mcp
Add to Cursor

What the publisher says

From the Panda Video repository's README, as published. We do not edit it. Read it on GitHub

Panda Video MCP server

Connect Panda Video to Claude, ChatGPT, Cursor and any other MCP client. Upload, organize and configure your videos, read their analytics, generate subtitles and Shorts — from the conversation.

The server is hosted by us: there is nothing to install and no code in this repository. Point your client at the URL below and sign in with your Panda Video account.

https://mcp.pandavideo.com/mcp

What you can do with it

Video listings already carry the public embed URL (videoplayer) and the HLS URL (videohls), so the assistant can hand you a link that plays.

Tools that change or remove something are marked destructiveHint: true, so your assistant asks before running them. Read-only tools are marked readOnlyHint: true.

Two endpoints

The directory endpoint leaves out credits, billing, users and sub-accounts.

Connecting

Claude

Settings → Connectors → Add custom connector, and paste:

https://mcp.pandavideo.com/mcp/directory

Claude opens the Panda Video sign-in page, you approve the access, and the tools appear in the conversation. No API key to copy.

ChatGPT

Settings → Apps & Connectors → Create (Developer Mode), same URL and OAuth as the authentication. Same sign-in flow.

Claude Code

claude mcp add --transport http panda-video https://mcp.pandavideo.com/mcp \
  --header "Authorization: panda-YOUR_API_KEY"

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "panda-video": {
      "url": "https://mcp.pandavideo.com/mcp",
      "headers": { "Authorization": "panda-YOUR_API_KEY" }
    }
  }
}

Anything else

The server speaks Streamable HTTP (stateless) at /mcp and /mcp/directory. Two ways to authenticate:

OAuth 2.1 — recommended, and what the chat clients above use. Discovery follows the specs, so a compliant client needs nothing but the URL:

Dynamic client registration (RFC 7591) and PKCE with S256 are supported, with public clients (tokenendpointauth_method: none). Scopes are videos:read (read-only tools) and videos:write.

API key — for scripts and local clients. Copy it in the Panda Video dashboard under Settings → Advanced → API Key and send it as is in the Authorization header. Treat it like a password:

curl -X POST https://mcp.pandavideo.com/mcp \
  -H "Authorization: panda-YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"panda_list_videos","arguments":{"limit":5}}}'

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Panda Video: common questions

Is Panda Video MCP server safe?
Yes, by our scan: it is graded A (91/100). Read the Panda Video safety report
How do I install Panda Video?
It runs remotely at mcp.pandavideo.com. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Panda Video need an API key?
Yes. The registry entry asks for Authorization.
Is Panda Video maintained?
The last commit was 30 days ago (2026-10-05). The latest release is v2.1.0.
Is Panda Video up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
What can I use instead of Panda Video?
Servers from other publishers that do the same job: Katto MCP server, Openshorts MCP server and Bilibili MCP Server.
How does Panda Video compare with other Media MCP servers?
safety score 91/100 (higher than 83% of 1,337 Media servers); tools 177 (the typical Media server has 7); tools that change things 42% (typical: 4%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Panda Video

Same job from other publishers: the closest match first, then the best rated.

  • Katto
    AI video clipping MCP: long videos and podcasts into scored, captioned 9:16 shorts.
    B
  • Openshorts
    Turn long videos into viral vertical shorts and publish them to TikTok, Instagram and YouTube.
    A
  • Bilibili MCP Server
    Bilibili MCP tool for video metadata, transcripts, subtitles, and comment summarization
    A
  • PixelDojo
    Generate images, video, audio and short films with 140+ AI models from any MCP client.
    A
  • Equalang
    Translate documents, subtitles, pictures, audio and video with layout kept; transcribe recordings.
    B