NestDaddy

Panda Video

com.pandavideo/mcp · v2.1.0

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

Connect Remote server

Terminal
claude mcp add --transport http mcp https://mcp.pandavideo.com/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
~/.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.pandavideo.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp": {
      "type": "http",
      "url": "https://mcp.pandavideo.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
Claude Desktop
Settings > Connectors > Add custom connector
URL: https://mcp.pandavideo.com/mcp

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools 80 found in our last check

  • panda_list_videos

    List videos. Each video has: id, video_external_id, title, status, created_at, length (seconds), folder_id, config. `id` is what most tools take as video_id; video_external_id is what panda_get_best_times_by_videos / panda_get_viewers_by_videos take. Results are returned newest…

  • panda_get_video

    Get full properties of a video by its ID, including video_external_id, config (config.ctas holds the pause/end thumbnail CTAs), profile, status, duration, folder, subtitles, etc.

  • panda_update_video

    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

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

  • panda_get_videos_status

    Processing status of up to 100 videos in one call. Each item: {id, status, available_resolutions, pending_resolutions, encoding_resolutions, playable, conversion_percentage, estimated_time, ...}. No titles (use panda_get_video or panda_list_videos). IDs that don't exist or aren'…

  • panda_get_videos_ai_resources

    Which AI Package resources (e.g. eBook, quiz, mind map; one entry per type and language) up to 100 videos already have, in one call. Subtitles and dubbing are not included. Each item: {id, ai_resources: [{type, srclang}]} (type: abstract = eBook, mindmap, questions = quiz). A vi…

  • panda_move_videos

    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 compression mode (no credit cost). The video is processed again from its original file (backup): without the backup the API refuses. Its current qualities are replaced by the re-encoded ones and it stays in processing until done. Encryption (HLS) is kept…

  • panda_upload_video_from_url

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

  • panda_list_folders

    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

    Get a folder's details and one page of its videos. Returns {id, name, parent_folder_id, status, videos: [...], pagination: {page, limit, total_count, total_pages, has_next, has_prev}}. Only videos directly in this folder; subfolders are not included (use panda_list_folders). To…

  • panda_update_folder

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

  • panda_delete_folder

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

  • panda_list_playlists

    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

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

  • panda_update_playlist

    Update a playlist's properties

  • panda_delete_playlist

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

  • panda_get_playlist_videos

    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

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

  • panda_list_profiles

    List the account's player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns an array of {id, name, pullzone_name, is_default, updated_at, videos_count, feature_tags, colors, availableQualities}. The default profile ('Padrão') has is_default=tr…

  • panda_create_profile

    Create a player profile (POST /profile) already configured — colors, controls, caption appearance (colors.captionsColor / captionsBackgroundColor + captionsSize), VSL, save progress, general (speed, theme, gear menu, offline) and availableQualities, all in one call. Send only wh…

  • panda_get_profile

    Get one player profile with all its settings: controls, colors (incl. caption colors and captionsFontSize), vsl, saveProgress, hideControlsOnStart, general (speed, theme, gear menu, offline, caption size), availableQualities, is_default and feature_tags.

  • panda_update_profile

    Update a player profile's settings. Changes EVERY video linked to the profile. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL mode (vsl.disablePause / disableForward / alternativeProgress), playback spe…

  • panda_delete_profile

    Delete a player profile. The default profile ('Padrão') cannot be deleted. A profile with no videos is deleted directly. A profile WITH videos needs `strategy` — ask the user which one: 'keep' = each video keeps its current look (gets its own copy of the profile's settings); 'mi…

  • panda_apply_profile_to_videos

    Link a player profile to videos — pass video_ids OR folder_id (every video in that folder, any status; subfolders are not included). A video that had its own customized player (exclusive profile) loses that customization. Up to 5 video_ids are applied immediately; more videos, o…

  • panda_duplicate_profile

    Copy a player profile's settings into a new profile named '<name> (2)', '(3)'… The copy has no videos and is never the default. Exclusive profiles (a single video's own player) cannot be duplicated. Returns {id, name}.

  • panda_restore_profile

    Reset a player profile to the account's global player settings (panda_get_player_config): controls, colors, VSL, general, save progress, hideControlsOnStart and availableQualities are all replaced — this also drops the profile's theme, gear menu, caption size and offline setting…

  • panda_set_default_profile

    Make a profile the account's default player profile ('Padrão'). Exclusive profiles cannot be default. If the current default profile has videos, ASK the user what happens to them and pass unlinked_videos_strategy: 'apply-new' = they follow the new default; 'keep-current' = they…

  • panda_list_lives

    List all live streams. Returns array of {id, title, status, scheduled_at, region, quality_package, save_vod, stream_key_id, stream_key, rtmp, live_player, created_at}. Status: provisioning (channel starting), offline (waiting for signal or scheduled), online, finishing, finished…

  • panda_create_live

    Create a new live stream event. Trial accounts cannot create lives. A quality_package above the plan's maximum is silently lowered to the plan's maximum. Without stream_key_id the account's default stream key is used; a key held by another live (online, provisioning, expired, wa…

  • panda_get_live

    Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}. Status: provisioning (channel starting), offline (waiting for signal or scheduled), online, finishing, finished, finished_imported (recording became a video)…

  • panda_regenerate_live

    Regenerate an expired live so it can be broadcast again. Only works when status is expired (otherwise 400 with the current status). Keeps the same stream key, but the RTMP server may change: update it in OBS. Start broadcasting within 15 minutes or the live expires again. Return…

  • panda_finish_live

    End a live broadcast

  • panda_delete_lives

    Delete one or more live streams

  • panda_list_stream_keys

    List all stream keys for live broadcasting. Returns array of {id, title, region, default, stream_key, in_use, in_use_by: {live_id, title, status}, created_at}. A key is held (in_use) by a live that is online, provisioning, expired, waiting to start or scheduled within 24h; an ex…

  • panda_create_stream_key

    Create a new stream key for OBS or other streaming software. The account's first key becomes the default.

  • panda_get_live_viewers

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

  • panda_get_account_analytics

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

  • panda_get_video_analytics

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

  • panda_get_retention_analytics

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

  • panda_get_ranking_analytics

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

  • panda_get_realtime_analytics

    Get the real-time snapshot of the account: how many viewers are watching now and on which devices. Returns {total_users, devices: {mobile, desktop, others}, geojson} — geojson (the dashboard map clusters) comes empty in this account-wide snapshot; no per-viewer data (IP, browser…

  • panda_get_bandwidth_analytics

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

  • panda_get_unwatched_videos

    List the account's videos that had NO access at all in a period (the inverse of the ranking). Whole account only. Only videos that already existed on start_date are considered. Returns {start_date, end_date, data: [{id, video_external_id, title, created_at}], pagination: {limit,…

  • panda_get_best_times

    Which weekday and 2-hour slot the audience of the WHOLE account plays the most (or sees the player the most) in a period — "best time to publish". Weekday × 2-hour slot grid, summed over the period — the same grid as the dashboard heatmap (Analytics → Best times), with the hours…

  • panda_get_best_times_by_videos

    Which weekday and 2-hour slot the audience of specific videos (or of every video in a folder) plays the most in a period. Weekday × 2-hour slot grid, summed over the period — the same grid as the dashboard heatmap (Analytics → Best times), with the hours exactly as Panda analyti…

  • panda_get_viewers_by_videos

    Who watched specific videos (or any video of a folder) in a period: distinct viewers, identified by IP. The IP is returned MASKED (a.b.x.x) — the full list is in the dashboard (Analytics → Users). The selection only chooses WHICH viewers appear: each viewer's metrics (play, view…

  • panda_list_funnels

    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

    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

    Update a funnel's properties (rename)

  • panda_delete_funnel

    Delete a funnel by ID. WARNING: this is destructive. The funnel is removed and the videos inside it go to the trash for 30 days (restoring the funnel's folder brings them back; the funnel does not come back).

  • panda_add_videos_to_funnel

    Add one or more videos to a funnel with optional coordinates. Every call must mark exactly one video with is_first: true — it becomes the entry video. To add a video without changing the entry, also send the current entry video (from panda_get_funnel) with is_first: true.

  • panda_remove_videos_from_funnel

    Remove one or more videos from a funnel. The videos leave the funnel and go to the library root — they are not deleted (the dashboard deletes them in a second call; this tool does not).

  • panda_get_watermark_status

    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

    Disable watermark protection for the account

  • panda_list_watermark_groups

    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

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

  • panda_update_watermark_group

    Update a watermark group

  • panda_delete_watermark_group

    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

    Get the cover (start thumbnail) of a video. Returns {response: {active, default}}: active = the uploaded cover in use (absent when none was uploaded), default = the automatic thumbnails generated from the video. Pause and end thumbnails are NOT listed here — they are CTAs in the…

  • 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/GIF); the tool downloads it and uploads as multipart to the Panda API. Replaces any existing start thumbnail. After this r…

  • 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 JPG, PNG or GIF up to 5 MB. The upload also creates the pause CTA, so the image shows in the player right away, for the whole video. A video can have…

  • panda_add_end_thumbnail

    Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable JPG, PNG or GIF up to 5 MB. The upload also creates the end CTA, so the image shows in the player right away. A video has one end thumbnail: a new upload repla…

  • panda_delete_thumbnail

    Delete a thumbnail from a video (image and its player CTA). Type: 'start' (default, the cover), 'pause', 'end'. For 'pause', thumb_name is required and must be the exact file name — returned by panda_add_pause_thumbnail, or metadata.thumbId of the 'pause' CTA in panda_get_video_…

  • panda_get_subtitles

    Get all subtitle information for a video

  • panda_get_subtitle_by_language

    Get a subtitle file for a specific language

  • panda_delete_subtitle

    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

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

  • panda_download_subtitle

    Download a subtitle file for a specific language

  • panda_get_videos_count

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

  • panda_get_custom_fields

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

Headers

NameDescription
Authorization
Optional, secret
Panda Video API key (panda-...). Optional: clients that support OAuth 2.1 sign in instead.

Details

Endpointhttps://mcp.pandavideo.com/mcp (Streamable HTTP)
First published5 Oct 2026
Last updated5 Oct 2026
Registry namecom.pandavideo/mcp

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.