{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_pgysp8c2bmaa","handle":"panda-video","url":"https://wellknown.network/agents/panda-video","links":{"self":"https://wellknown.network/agents/panda-video/record.json","html":"https://wellknown.network/agents/panda-video","markdown":"https://wellknown.network/agents/panda-video/record.md","api":"https://wellknown.network/api/v1/agents/panda-video","status":"https://wellknown.network/api/v1/agents/panda-video/status","claim":"https://wellknown.network/agents/panda-video/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/panda-video/claim.json","badge":"https://wellknown.network/agents/panda-video/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/panda-video/history","tools":"https://wellknown.network/api/v1/agents/panda-video/tools"},"ard":{"identifier":"urn:air:mcp.pandavideo.com:server:panda-video","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Panda Video","summary":"Video hosting: upload, organize and configure videos, analytics, AI subtitles and Shorts.","description":"Video hosting: upload, organize and configure videos, analytics, AI subtitles and Shorts.","publisher":{"name":"com.pandavideo","url":null},"homepage":"https://www.pandavideo.com","repository":"https://github.com/pandavideo/panda-video-mcp","version":"2.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.pandavideo.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-05T20:11:03.152238Z","publishedAt":"2026-10-05T20:11:03.152238Z","registryName":"com.pandavideo/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"media.video-editing","name":"Video Editing","confidence":1,"provenance":"derived"},{"slug":"media.speech-recognition","name":"Speech Recognition","confidence":0.583,"provenance":"derived"},{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.54,"provenance":"derived"},{"slug":"media.video-generation","name":"Video Generation","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"automation.workflows","name":"Workflow Automation","confidence":0.51,"provenance":"derived"}],"categories":["automation","content","dev","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 43m ago.","lastOkAt":"2026-10-12T14:30:40.703Z","lastProbedAt":"2026-10-12T14:30:40.703Z","statusComputedAt":"2026-10-12T14:31:29.569Z","reliability30d":{"probes":24,"successRate":1,"p50Ms":112,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":24,"ok":24,"authBoundaryOk":0,"serviceOk":24,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-12T14:30:40.703Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":107,"error":null,"detail":{"tools":[{"name":"panda_list_videos","description":"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 serve"},{"name":"panda_get_video","description":"Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc."},{"name":"panda_update_video","description":"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, "},{"name":"panda_delete_videos","description":"Delete one or more videos by ID. Sends to trash for 30 days."},{"name":"panda_move_videos","description":"Move one or more videos to a folder"},{"name":"panda_duplicate_video","description":"Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos."},{"name":"panda_reencode_video","description":"Re-encode a video with a specific compression mode"},{"name":"panda_upload_video_from_url","description":"Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)"},{"name":"panda_list_folders","description":"List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}."},{"name":"panda_create_folder","description":"Create a new folder. Returns the created {id, name, parent_folder_id}."},{"name":"panda_get_folder","description":"Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}."},{"name":"panda_update_folder","description":"Update folder properties (name, parent). Also used to recover deleted folders with status=true."},{"name":"panda_delete_folder","description":"Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days."},{"name":"panda_list_playlists","description":"List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}."},{"name":"panda_create_playlist","description":"Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}."},{"name":"panda_get_playlist","description":"Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}."},{"name":"panda_update_playlist","description":"Update a playlist's properties"},{"name":"panda_delete_playlist","description":"Delete a playlist. Videos are NOT deleted — only the collection is removed."},{"name":"panda_get_playlist_videos","description":"List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}."},{"name":"panda_add_videos_to_playlist","description":"Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}]."},{"name":"panda_remove_video_from_playlist","description":"Remove a video from a playlist. Does NOT delete the video."},{"name":"panda_list_profiles","description":"List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` i"},{"name":"panda_create_profile","description":"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 ret"},{"name":"panda_get_profile","description":"Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)"},{"name":"panda_update_profile","description":"Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL "},{"name":"panda_delete_profile","description":"Delete a player profile by ID"},{"name":"panda_apply_profile_to_videos","description":"Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids."},{"name":"panda_list_lives","description":"List all live streams. Returns array of {id, title, status, scheduled_at, created_at}."},{"name":"panda_create_live","description":"Create a new live stream event"},{"name":"panda_get_live","description":"Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}."},{"name":"panda_finish_live","description":"End a live broadcast"},{"name":"panda_delete_lives","description":"Delete one or more live streams"},{"name":"panda_list_stream_keys","description":"List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}."},{"name":"panda_create_stream_key","description":"Create a new named stream key for OBS or other streaming software"},{"name":"panda_get_live_viewers","description":"Get viewer history for a live stream. Returns time-series array of viewer counts."},{"name":"panda_get_account_analytics","description":"Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_video_analytics","description":"Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_retention_analytics","description":"Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point."},{"name":"panda_get_ranking_analytics","description":"Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}."},{"name":"panda_get_realtime_analytics","description":"Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}."},{"name":"panda_get_bandwidth_analytics","description":"Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries."},{"name":"panda_list_funnels","description":"List all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders."},{"name":"panda_create_funnel","description":"Create a new video funnel"},{"name":"panda_get_funnel","description":"Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders."},{"name":"panda_update_funnel","description":"Update a funnel's properties (rename)"},{"name":"panda_delete_funnel","description":"Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible."},{"name":"panda_add_videos_to_funnel","description":"Add one or more videos to a funnel with optional coordinates"},{"name":"panda_remove_videos_from_funnel","description":"Remove one or more videos from a funnel"},{"name":"panda_get_watermark_status","description":"Check whether watermark/DRM is currently active on the account. Returns {active: boolean}."},{"name":"panda_enable_watermark","description":"Enable watermark protection for the account"},{"name":"panda_disable_watermark","description":"Disable watermark protection for the account"},{"name":"panda_list_watermark_groups","description":"List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_create_watermark_group","description":"Create a new watermark group"},{"name":"panda_get_watermark_group","description":"Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_update_watermark_group","description":"Update a watermark group"},{"name":"panda_delete_watermark_group","description":"Delete a watermark group"},{"name":"panda_manage_drm_group_items","description":"Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids."},{"name":"panda_get_thumbnails","description":"Get all thumbnails for a video. Returns {start: {url, name}, pause: [{url, name}], end: {url, name}} — each type may be null if not set."},{"name":"panda_add_thumbnail","description":"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/WEB"},{"name":"panda_add_pause_thumbnail","description":"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 thu"},{"name":"panda_add_end_thumbnail","description":"Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable image. Returns the uploaded filename. NO"},{"name":"panda_delete_thumbnail","description":"Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'."},{"name":"panda_get_subtitles","description":"Get all subtitle information for a video"},{"name":"panda_get_subtitle_by_language","description":"Get a subtitle file for a specific language"},{"name":"panda_delete_subtitle","description":"Remove a subtitle from a video by language"},{"name":"panda_generate_ai_subtitles","description":"Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier."},{"name":"panda_update_subtitle_visibility","description":"Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)"},{"name":"panda_download_subtitle","description":"Download a subtitle file for a specific language"},{"name":"panda_get_videos_count","description":"Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)"},{"name":"panda_get_custom_fields","description":"Get all custom fields for a video. Returns array of {id, key, value} metadata pairs."},{"name":"panda_create_custom_field","description":"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 s"},{"name":"panda_list_users","description":"List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}."},{"name":"panda_create_user","description":"Create a new user in the organization. Returns the created {id, name, email, role_id}."},{"name":"panda_update_user","description":"Update a user's information or role"},{"name":"panda_delete_user","description":"Remove a user from the organization"},{"name":"panda_request_download","description":"Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}."},{"name":"panda_check_download_status","description":"Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'."},{"name":"panda_list_shorts","description":"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"},{"name":"panda_import_video_for_shorts","description":"Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video"},{"name":"panda_list_short_segments","description":"List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription."},{"name":"panda_delete_short","description":"Delete a Shorts job/project"},{"name":"panda_save_segment_to_library","description":"Save a Short segment to the video library as an independent video"},{"name":"panda_list_ai_assistants","description":"List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}."},{"name":"panda_get_ai_assistant","description":"Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}."},{"name":"panda_create_ai_assistant","description":"Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}."},{"name":"panda_get_ai_assistant_purchase_overview","description":"Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}."},{"name":"panda_update_ai_assistant","description":"Update AI assistant information (name, status, etc.)"},{"name":"panda_update_ai_assistant_video_bindings","description":"Replace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed."},{"name":"panda_update_ai_assistant_chat_visibility","description":"Show or hide the AI chat widget on the video player"},{"name":"panda_delete_ai_assistant","description":"Delete an AI assistant"},{"name":"panda_generate_tutor_file_upload_url","description":"Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload."},{"name":"panda_confirm_tutor_file_upload","description":"Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)"},{"name":"panda_delete_tutor_file","description":"Delete a file from a Tutor AI assistant"},{"name":"panda_add_tutor_videos","description":"Add videos to a Tutor AI assistant"},{"name":"panda_create_ai_dubbing","description":"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}."},{"name":"panda_delete_dubbing_audio","description":"Delete a dubbed audio track from a video"},{"name":"panda_get_referrals_summary","description":"Get referral program summary (balance, estimated value)"},{"name":"panda_get_credits_balance","description":"Get the current credits balance for the account. 1 credit = R$1."},{"name":"panda_get_credits_history","description":"Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}."},{"name":"panda_get_auto_recharge_settings","description":"Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}."}],"toolCount":177,"toolsHash":"3b70a03c2ff3aa7c9d31c80b0fca024a7445b43294019b3d4cd848cd703fd5f4","serverName":"panda-video-mcp","capabilities":["tools","resources"],"serverVersion":"2.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-12T08:27:59.412Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":98,"error":null,"detail":{"tools":[{"name":"panda_list_videos","description":"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 serve"},{"name":"panda_get_video","description":"Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc."},{"name":"panda_update_video","description":"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, "},{"name":"panda_delete_videos","description":"Delete one or more videos by ID. Sends to trash for 30 days."},{"name":"panda_move_videos","description":"Move one or more videos to a folder"},{"name":"panda_duplicate_video","description":"Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos."},{"name":"panda_reencode_video","description":"Re-encode a video with a specific compression mode"},{"name":"panda_upload_video_from_url","description":"Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)"},{"name":"panda_list_folders","description":"List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}."},{"name":"panda_create_folder","description":"Create a new folder. Returns the created {id, name, parent_folder_id}."},{"name":"panda_get_folder","description":"Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}."},{"name":"panda_update_folder","description":"Update folder properties (name, parent). Also used to recover deleted folders with status=true."},{"name":"panda_delete_folder","description":"Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days."},{"name":"panda_list_playlists","description":"List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}."},{"name":"panda_create_playlist","description":"Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}."},{"name":"panda_get_playlist","description":"Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}."},{"name":"panda_update_playlist","description":"Update a playlist's properties"},{"name":"panda_delete_playlist","description":"Delete a playlist. Videos are NOT deleted — only the collection is removed."},{"name":"panda_get_playlist_videos","description":"List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}."},{"name":"panda_add_videos_to_playlist","description":"Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}]."},{"name":"panda_remove_video_from_playlist","description":"Remove a video from a playlist. Does NOT delete the video."},{"name":"panda_list_profiles","description":"List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` i"},{"name":"panda_create_profile","description":"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 ret"},{"name":"panda_get_profile","description":"Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)"},{"name":"panda_update_profile","description":"Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL "},{"name":"panda_delete_profile","description":"Delete a player profile by ID"},{"name":"panda_apply_profile_to_videos","description":"Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids."},{"name":"panda_list_lives","description":"List all live streams. Returns array of {id, title, status, scheduled_at, created_at}."},{"name":"panda_create_live","description":"Create a new live stream event"},{"name":"panda_get_live","description":"Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}."},{"name":"panda_finish_live","description":"End a live broadcast"},{"name":"panda_delete_lives","description":"Delete one or more live streams"},{"name":"panda_list_stream_keys","description":"List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}."},{"name":"panda_create_stream_key","description":"Create a new named stream key for OBS or other streaming software"},{"name":"panda_get_live_viewers","description":"Get viewer history for a live stream. Returns time-series array of viewer counts."},{"name":"panda_get_account_analytics","description":"Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_video_analytics","description":"Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_retention_analytics","description":"Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point."},{"name":"panda_get_ranking_analytics","description":"Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}."},{"name":"panda_get_realtime_analytics","description":"Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}."},{"name":"panda_get_bandwidth_analytics","description":"Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries."},{"name":"panda_list_funnels","description":"List all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders."},{"name":"panda_create_funnel","description":"Create a new video funnel"},{"name":"panda_get_funnel","description":"Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders."},{"name":"panda_update_funnel","description":"Update a funnel's properties (rename)"},{"name":"panda_delete_funnel","description":"Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible."},{"name":"panda_add_videos_to_funnel","description":"Add one or more videos to a funnel with optional coordinates"},{"name":"panda_remove_videos_from_funnel","description":"Remove one or more videos from a funnel"},{"name":"panda_get_watermark_status","description":"Check whether watermark/DRM is currently active on the account. Returns {active: boolean}."},{"name":"panda_enable_watermark","description":"Enable watermark protection for the account"},{"name":"panda_disable_watermark","description":"Disable watermark protection for the account"},{"name":"panda_list_watermark_groups","description":"List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_create_watermark_group","description":"Create a new watermark group"},{"name":"panda_get_watermark_group","description":"Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_update_watermark_group","description":"Update a watermark group"},{"name":"panda_delete_watermark_group","description":"Delete a watermark group"},{"name":"panda_manage_drm_group_items","description":"Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids."},{"name":"panda_get_thumbnails","description":"Get all thumbnails for a video. Returns {start: {url, name}, pause: [{url, name}], end: {url, name}} — each type may be null if not set."},{"name":"panda_add_thumbnail","description":"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/WEB"},{"name":"panda_add_pause_thumbnail","description":"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 thu"},{"name":"panda_add_end_thumbnail","description":"Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable image. Returns the uploaded filename. NO"},{"name":"panda_delete_thumbnail","description":"Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'."},{"name":"panda_get_subtitles","description":"Get all subtitle information for a video"},{"name":"panda_get_subtitle_by_language","description":"Get a subtitle file for a specific language"},{"name":"panda_delete_subtitle","description":"Remove a subtitle from a video by language"},{"name":"panda_generate_ai_subtitles","description":"Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier."},{"name":"panda_update_subtitle_visibility","description":"Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)"},{"name":"panda_download_subtitle","description":"Download a subtitle file for a specific language"},{"name":"panda_get_videos_count","description":"Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)"},{"name":"panda_get_custom_fields","description":"Get all custom fields for a video. Returns array of {id, key, value} metadata pairs."},{"name":"panda_create_custom_field","description":"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 s"},{"name":"panda_list_users","description":"List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}."},{"name":"panda_create_user","description":"Create a new user in the organization. Returns the created {id, name, email, role_id}."},{"name":"panda_update_user","description":"Update a user's information or role"},{"name":"panda_delete_user","description":"Remove a user from the organization"},{"name":"panda_request_download","description":"Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}."},{"name":"panda_check_download_status","description":"Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'."},{"name":"panda_list_shorts","description":"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"},{"name":"panda_import_video_for_shorts","description":"Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video"},{"name":"panda_list_short_segments","description":"List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription."},{"name":"panda_delete_short","description":"Delete a Shorts job/project"},{"name":"panda_save_segment_to_library","description":"Save a Short segment to the video library as an independent video"},{"name":"panda_list_ai_assistants","description":"List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}."},{"name":"panda_get_ai_assistant","description":"Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}."},{"name":"panda_create_ai_assistant","description":"Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}."},{"name":"panda_get_ai_assistant_purchase_overview","description":"Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}."},{"name":"panda_update_ai_assistant","description":"Update AI assistant information (name, status, etc.)"},{"name":"panda_update_ai_assistant_video_bindings","description":"Replace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed."},{"name":"panda_update_ai_assistant_chat_visibility","description":"Show or hide the AI chat widget on the video player"},{"name":"panda_delete_ai_assistant","description":"Delete an AI assistant"},{"name":"panda_generate_tutor_file_upload_url","description":"Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload."},{"name":"panda_confirm_tutor_file_upload","description":"Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)"},{"name":"panda_delete_tutor_file","description":"Delete a file from a Tutor AI assistant"},{"name":"panda_add_tutor_videos","description":"Add videos to a Tutor AI assistant"},{"name":"panda_create_ai_dubbing","description":"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}."},{"name":"panda_delete_dubbing_audio","description":"Delete a dubbed audio track from a video"},{"name":"panda_get_referrals_summary","description":"Get referral program summary (balance, estimated value)"},{"name":"panda_get_credits_balance","description":"Get the current credits balance for the account. 1 credit = R$1."},{"name":"panda_get_credits_history","description":"Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}."},{"name":"panda_get_auto_recharge_settings","description":"Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}."}],"toolCount":177,"toolsHash":"3b70a03c2ff3aa7c9d31c80b0fca024a7445b43294019b3d4cd848cd703fd5f4","serverName":"panda-video-mcp","capabilities":["tools","resources"],"serverVersion":"2.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-12T02:24:43.945Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":104,"error":null,"detail":{"tools":[{"name":"panda_list_videos","description":"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 serve"},{"name":"panda_get_video","description":"Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc."},{"name":"panda_update_video","description":"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, "},{"name":"panda_delete_videos","description":"Delete one or more videos by ID. Sends to trash for 30 days."},{"name":"panda_move_videos","description":"Move one or more videos to a folder"},{"name":"panda_duplicate_video","description":"Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos."},{"name":"panda_reencode_video","description":"Re-encode a video with a specific compression mode"},{"name":"panda_upload_video_from_url","description":"Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)"},{"name":"panda_list_folders","description":"List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}."},{"name":"panda_create_folder","description":"Create a new folder. Returns the created {id, name, parent_folder_id}."},{"name":"panda_get_folder","description":"Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}."},{"name":"panda_update_folder","description":"Update folder properties (name, parent). Also used to recover deleted folders with status=true."},{"name":"panda_delete_folder","description":"Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days."},{"name":"panda_list_playlists","description":"List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}."},{"name":"panda_create_playlist","description":"Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}."},{"name":"panda_get_playlist","description":"Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}."},{"name":"panda_update_playlist","description":"Update a playlist's properties"},{"name":"panda_delete_playlist","description":"Delete a playlist. Videos are NOT deleted — only the collection is removed."},{"name":"panda_get_playlist_videos","description":"List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}."},{"name":"panda_add_videos_to_playlist","description":"Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}]."},{"name":"panda_remove_video_from_playlist","description":"Remove a video from a playlist. Does NOT delete the video."},{"name":"panda_list_profiles","description":"List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` i"},{"name":"panda_create_profile","description":"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 ret"},{"name":"panda_get_profile","description":"Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)"},{"name":"panda_update_profile","description":"Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL "},{"name":"panda_delete_profile","description":"Delete a player profile by ID"},{"name":"panda_apply_profile_to_videos","description":"Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids."},{"name":"panda_list_lives","description":"List all live streams. Returns array of {id, title, status, scheduled_at, created_at}."},{"name":"panda_create_live","description":"Create a new live stream event"},{"name":"panda_get_live","description":"Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}."},{"name":"panda_finish_live","description":"End a live broadcast"},{"name":"panda_delete_lives","description":"Delete one or more live streams"},{"name":"panda_list_stream_keys","description":"List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}."},{"name":"panda_create_stream_key","description":"Create a new named stream key for OBS or other streaming software"},{"name":"panda_get_live_viewers","description":"Get viewer history for a live stream. Returns time-series array of viewer counts."},{"name":"panda_get_account_analytics","description":"Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_video_analytics","description":"Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_retention_analytics","description":"Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point."},{"name":"panda_get_ranking_analytics","description":"Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}."},{"name":"panda_get_realtime_analytics","description":"Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}."},{"name":"panda_get_bandwidth_analytics","description":"Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries."},{"name":"panda_list_funnels","description":"List all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders."},{"name":"panda_create_funnel","description":"Create a new video funnel"},{"name":"panda_get_funnel","description":"Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders."},{"name":"panda_update_funnel","description":"Update a funnel's properties (rename)"},{"name":"panda_delete_funnel","description":"Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible."},{"name":"panda_add_videos_to_funnel","description":"Add one or more videos to a funnel with optional coordinates"},{"name":"panda_remove_videos_from_funnel","description":"Remove one or more videos from a funnel"},{"name":"panda_get_watermark_status","description":"Check whether watermark/DRM is currently active on the account. Returns {active: boolean}."},{"name":"panda_enable_watermark","description":"Enable watermark protection for the account"},{"name":"panda_disable_watermark","description":"Disable watermark protection for the account"},{"name":"panda_list_watermark_groups","description":"List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_create_watermark_group","description":"Create a new watermark group"},{"name":"panda_get_watermark_group","description":"Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_update_watermark_group","description":"Update a watermark group"},{"name":"panda_delete_watermark_group","description":"Delete a watermark group"},{"name":"panda_manage_drm_group_items","description":"Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids."},{"name":"panda_get_thumbnails","description":"Get all thumbnails for a video. Returns {start: {url, name}, pause: [{url, name}], end: {url, name}} — each type may be null if not set."},{"name":"panda_add_thumbnail","description":"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/WEB"},{"name":"panda_add_pause_thumbnail","description":"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 thu"},{"name":"panda_add_end_thumbnail","description":"Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable image. Returns the uploaded filename. NO"},{"name":"panda_delete_thumbnail","description":"Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'."},{"name":"panda_get_subtitles","description":"Get all subtitle information for a video"},{"name":"panda_get_subtitle_by_language","description":"Get a subtitle file for a specific language"},{"name":"panda_delete_subtitle","description":"Remove a subtitle from a video by language"},{"name":"panda_generate_ai_subtitles","description":"Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier."},{"name":"panda_update_subtitle_visibility","description":"Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)"},{"name":"panda_download_subtitle","description":"Download a subtitle file for a specific language"},{"name":"panda_get_videos_count","description":"Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)"},{"name":"panda_get_custom_fields","description":"Get all custom fields for a video. Returns array of {id, key, value} metadata pairs."},{"name":"panda_create_custom_field","description":"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 s"},{"name":"panda_list_users","description":"List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}."},{"name":"panda_create_user","description":"Create a new user in the organization. Returns the created {id, name, email, role_id}."},{"name":"panda_update_user","description":"Update a user's information or role"},{"name":"panda_delete_user","description":"Remove a user from the organization"},{"name":"panda_request_download","description":"Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}."},{"name":"panda_check_download_status","description":"Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'."},{"name":"panda_list_shorts","description":"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"},{"name":"panda_import_video_for_shorts","description":"Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video"},{"name":"panda_list_short_segments","description":"List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription."},{"name":"panda_delete_short","description":"Delete a Shorts job/project"},{"name":"panda_save_segment_to_library","description":"Save a Short segment to the video library as an independent video"},{"name":"panda_list_ai_assistants","description":"List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}."},{"name":"panda_get_ai_assistant","description":"Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}."},{"name":"panda_create_ai_assistant","description":"Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}."},{"name":"panda_get_ai_assistant_purchase_overview","description":"Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}."},{"name":"panda_update_ai_assistant","description":"Update AI assistant information (name, status, etc.)"},{"name":"panda_update_ai_assistant_video_bindings","description":"Replace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed."},{"name":"panda_update_ai_assistant_chat_visibility","description":"Show or hide the AI chat widget on the video player"},{"name":"panda_delete_ai_assistant","description":"Delete an AI assistant"},{"name":"panda_generate_tutor_file_upload_url","description":"Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload."},{"name":"panda_confirm_tutor_file_upload","description":"Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)"},{"name":"panda_delete_tutor_file","description":"Delete a file from a Tutor AI assistant"},{"name":"panda_add_tutor_videos","description":"Add videos to a Tutor AI assistant"},{"name":"panda_create_ai_dubbing","description":"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}."},{"name":"panda_delete_dubbing_audio","description":"Delete a dubbed audio track from a video"},{"name":"panda_get_referrals_summary","description":"Get referral program summary (balance, estimated value)"},{"name":"panda_get_credits_balance","description":"Get the current credits balance for the account. 1 credit = R$1."},{"name":"panda_get_credits_history","description":"Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}."},{"name":"panda_get_auto_recharge_settings","description":"Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}."}],"toolCount":177,"toolsHash":"3b70a03c2ff3aa7c9d31c80b0fca024a7445b43294019b3d4cd848cd703fd5f4","serverName":"panda-video-mcp","capabilities":["tools","resources"],"serverVersion":"2.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T20:23:39.673Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":104,"error":null,"detail":{"tools":[{"name":"panda_list_videos","description":"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 serve"},{"name":"panda_get_video","description":"Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc."},{"name":"panda_update_video","description":"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, "},{"name":"panda_delete_videos","description":"Delete one or more videos by ID. Sends to trash for 30 days."},{"name":"panda_move_videos","description":"Move one or more videos to a folder"},{"name":"panda_duplicate_video","description":"Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos."},{"name":"panda_reencode_video","description":"Re-encode a video with a specific compression mode"},{"name":"panda_upload_video_from_url","description":"Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)"},{"name":"panda_list_folders","description":"List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}."},{"name":"panda_create_folder","description":"Create a new folder. Returns the created {id, name, parent_folder_id}."},{"name":"panda_get_folder","description":"Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}."},{"name":"panda_update_folder","description":"Update folder properties (name, parent). Also used to recover deleted folders with status=true."},{"name":"panda_delete_folder","description":"Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days."},{"name":"panda_list_playlists","description":"List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}."},{"name":"panda_create_playlist","description":"Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}."},{"name":"panda_get_playlist","description":"Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}."},{"name":"panda_update_playlist","description":"Update a playlist's properties"},{"name":"panda_delete_playlist","description":"Delete a playlist. Videos are NOT deleted — only the collection is removed."},{"name":"panda_get_playlist_videos","description":"List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}."},{"name":"panda_add_videos_to_playlist","description":"Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}]."},{"name":"panda_remove_video_from_playlist","description":"Remove a video from a playlist. Does NOT delete the video."},{"name":"panda_list_profiles","description":"List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` i"},{"name":"panda_create_profile","description":"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 ret"},{"name":"panda_get_profile","description":"Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)"},{"name":"panda_update_profile","description":"Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL "},{"name":"panda_delete_profile","description":"Delete a player profile by ID"},{"name":"panda_apply_profile_to_videos","description":"Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids."},{"name":"panda_list_lives","description":"List all live streams. Returns array of {id, title, status, scheduled_at, created_at}."},{"name":"panda_create_live","description":"Create a new live stream event"},{"name":"panda_get_live","description":"Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}."},{"name":"panda_finish_live","description":"End a live broadcast"},{"name":"panda_delete_lives","description":"Delete one or more live streams"},{"name":"panda_list_stream_keys","description":"List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}."},{"name":"panda_create_stream_key","description":"Create a new named stream key for OBS or other streaming software"},{"name":"panda_get_live_viewers","description":"Get viewer history for a live stream. Returns time-series array of viewer counts."},{"name":"panda_get_account_analytics","description":"Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_video_analytics","description":"Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_retention_analytics","description":"Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point."},{"name":"panda_get_ranking_analytics","description":"Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}."},{"name":"panda_get_realtime_analytics","description":"Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}."},{"name":"panda_get_bandwidth_analytics","description":"Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries."},{"name":"panda_list_funnels","description":"List all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders."},{"name":"panda_create_funnel","description":"Create a new video funnel"},{"name":"panda_get_funnel","description":"Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders."},{"name":"panda_update_funnel","description":"Update a funnel's properties (rename)"},{"name":"panda_delete_funnel","description":"Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible."},{"name":"panda_add_videos_to_funnel","description":"Add one or more videos to a funnel with optional coordinates"},{"name":"panda_remove_videos_from_funnel","description":"Remove one or more videos from a funnel"},{"name":"panda_get_watermark_status","description":"Check whether watermark/DRM is currently active on the account. Returns {active: boolean}."},{"name":"panda_enable_watermark","description":"Enable watermark protection for the account"},{"name":"panda_disable_watermark","description":"Disable watermark protection for the account"},{"name":"panda_list_watermark_groups","description":"List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_create_watermark_group","description":"Create a new watermark group"},{"name":"panda_get_watermark_group","description":"Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_update_watermark_group","description":"Update a watermark group"},{"name":"panda_delete_watermark_group","description":"Delete a watermark group"},{"name":"panda_manage_drm_group_items","description":"Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids."},{"name":"panda_get_thumbnails","description":"Get all thumbnails for a video. Returns {start: {url, name}, pause: [{url, name}], end: {url, name}} — each type may be null if not set."},{"name":"panda_add_thumbnail","description":"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/WEB"},{"name":"panda_add_pause_thumbnail","description":"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 thu"},{"name":"panda_add_end_thumbnail","description":"Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable image. Returns the uploaded filename. NO"},{"name":"panda_delete_thumbnail","description":"Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'."},{"name":"panda_get_subtitles","description":"Get all subtitle information for a video"},{"name":"panda_get_subtitle_by_language","description":"Get a subtitle file for a specific language"},{"name":"panda_delete_subtitle","description":"Remove a subtitle from a video by language"},{"name":"panda_generate_ai_subtitles","description":"Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier."},{"name":"panda_update_subtitle_visibility","description":"Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)"},{"name":"panda_download_subtitle","description":"Download a subtitle file for a specific language"},{"name":"panda_get_videos_count","description":"Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)"},{"name":"panda_get_custom_fields","description":"Get all custom fields for a video. Returns array of {id, key, value} metadata pairs."},{"name":"panda_create_custom_field","description":"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 s"},{"name":"panda_list_users","description":"List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}."},{"name":"panda_create_user","description":"Create a new user in the organization. Returns the created {id, name, email, role_id}."},{"name":"panda_update_user","description":"Update a user's information or role"},{"name":"panda_delete_user","description":"Remove a user from the organization"},{"name":"panda_request_download","description":"Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}."},{"name":"panda_check_download_status","description":"Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'."},{"name":"panda_list_shorts","description":"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"},{"name":"panda_import_video_for_shorts","description":"Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video"},{"name":"panda_list_short_segments","description":"List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription."},{"name":"panda_delete_short","description":"Delete a Shorts job/project"},{"name":"panda_save_segment_to_library","description":"Save a Short segment to the video library as an independent video"},{"name":"panda_list_ai_assistants","description":"List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}."},{"name":"panda_get_ai_assistant","description":"Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}."},{"name":"panda_create_ai_assistant","description":"Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}."},{"name":"panda_get_ai_assistant_purchase_overview","description":"Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}."},{"name":"panda_update_ai_assistant","description":"Update AI assistant information (name, status, etc.)"},{"name":"panda_update_ai_assistant_video_bindings","description":"Replace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed."},{"name":"panda_update_ai_assistant_chat_visibility","description":"Show or hide the AI chat widget on the video player"},{"name":"panda_delete_ai_assistant","description":"Delete an AI assistant"},{"name":"panda_generate_tutor_file_upload_url","description":"Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload."},{"name":"panda_confirm_tutor_file_upload","description":"Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)"},{"name":"panda_delete_tutor_file","description":"Delete a file from a Tutor AI assistant"},{"name":"panda_add_tutor_videos","description":"Add videos to a Tutor AI assistant"},{"name":"panda_create_ai_dubbing","description":"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}."},{"name":"panda_delete_dubbing_audio","description":"Delete a dubbed audio track from a video"},{"name":"panda_get_referrals_summary","description":"Get referral program summary (balance, estimated value)"},{"name":"panda_get_credits_balance","description":"Get the current credits balance for the account. 1 credit = R$1."},{"name":"panda_get_credits_history","description":"Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}."},{"name":"panda_get_auto_recharge_settings","description":"Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}."}],"toolCount":177,"toolsHash":"3b70a03c2ff3aa7c9d31c80b0fca024a7445b43294019b3d4cd848cd703fd5f4","serverName":"panda-video-mcp","capabilities":["tools","resources"],"serverVersion":"2.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T13:25:23.367Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":100,"error":null,"detail":{"tools":[{"name":"panda_list_videos","description":"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 serve"},{"name":"panda_get_video","description":"Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc."},{"name":"panda_update_video","description":"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, "},{"name":"panda_delete_videos","description":"Delete one or more videos by ID. Sends to trash for 30 days."},{"name":"panda_move_videos","description":"Move one or more videos to a folder"},{"name":"panda_duplicate_video","description":"Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos."},{"name":"panda_reencode_video","description":"Re-encode a video with a specific compression mode"},{"name":"panda_upload_video_from_url","description":"Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)"},{"name":"panda_list_folders","description":"List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}."},{"name":"panda_create_folder","description":"Create a new folder. Returns the created {id, name, parent_folder_id}."},{"name":"panda_get_folder","description":"Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}."},{"name":"panda_update_folder","description":"Update folder properties (name, parent). Also used to recover deleted folders with status=true."},{"name":"panda_delete_folder","description":"Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days."},{"name":"panda_list_playlists","description":"List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}."},{"name":"panda_create_playlist","description":"Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}."},{"name":"panda_get_playlist","description":"Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}."},{"name":"panda_update_playlist","description":"Update a playlist's properties"},{"name":"panda_delete_playlist","description":"Delete a playlist. Videos are NOT deleted — only the collection is removed."},{"name":"panda_get_playlist_videos","description":"List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}."},{"name":"panda_add_videos_to_playlist","description":"Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}]."},{"name":"panda_remove_video_from_playlist","description":"Remove a video from a playlist. Does NOT delete the video."},{"name":"panda_list_profiles","description":"List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` i"},{"name":"panda_create_profile","description":"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 ret"},{"name":"panda_get_profile","description":"Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)"},{"name":"panda_update_profile","description":"Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL "},{"name":"panda_delete_profile","description":"Delete a player profile by ID"},{"name":"panda_apply_profile_to_videos","description":"Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids."},{"name":"panda_list_lives","description":"List all live streams. Returns array of {id, title, status, scheduled_at, created_at}."},{"name":"panda_create_live","description":"Create a new live stream event"},{"name":"panda_get_live","description":"Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}."},{"name":"panda_finish_live","description":"End a live broadcast"},{"name":"panda_delete_lives","description":"Delete one or more live streams"},{"name":"panda_list_stream_keys","description":"List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}."},{"name":"panda_create_stream_key","description":"Create a new named stream key for OBS or other streaming software"},{"name":"panda_get_live_viewers","description":"Get viewer history for a live stream. Returns time-series array of viewer counts."},{"name":"panda_get_account_analytics","description":"Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_video_analytics","description":"Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_retention_analytics","description":"Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point."},{"name":"panda_get_ranking_analytics","description":"Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}."},{"name":"panda_get_realtime_analytics","description":"Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}."},{"name":"panda_get_bandwidth_analytics","description":"Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries."},{"name":"panda_list_funnels","description":"List all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders."},{"name":"panda_create_funnel","description":"Create a new video funnel"},{"name":"panda_get_funnel","description":"Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders."},{"name":"panda_update_funnel","description":"Update a funnel's properties (rename)"},{"name":"panda_delete_funnel","description":"Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible."},{"name":"panda_add_videos_to_funnel","description":"Add one or more videos to a funnel with optional coordinates"},{"name":"panda_remove_videos_from_funnel","description":"Remove one or more videos from a funnel"},{"name":"panda_get_watermark_status","description":"Check whether watermark/DRM is currently active on the account. Returns {active: boolean}."},{"name":"panda_enable_watermark","description":"Enable watermark protection for the account"},{"name":"panda_disable_watermark","description":"Disable watermark protection for the account"},{"name":"panda_list_watermark_groups","description":"List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_create_watermark_group","description":"Create a new watermark group"},{"name":"panda_get_watermark_group","description":"Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_update_watermark_group","description":"Update a watermark group"},{"name":"panda_delete_watermark_group","description":"Delete a watermark group"},{"name":"panda_manage_drm_group_items","description":"Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids."},{"name":"panda_get_thumbnails","description":"Get all thumbnails for a video. Returns {start: {url, name}, pause: [{url, name}], end: {url, name}} — each type may be null if not set."},{"name":"panda_add_thumbnail","description":"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/WEB"},{"name":"panda_add_pause_thumbnail","description":"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 thu"},{"name":"panda_add_end_thumbnail","description":"Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable image. Returns the uploaded filename. NO"},{"name":"panda_delete_thumbnail","description":"Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'."},{"name":"panda_get_subtitles","description":"Get all subtitle information for a video"},{"name":"panda_get_subtitle_by_language","description":"Get a subtitle file for a specific language"},{"name":"panda_delete_subtitle","description":"Remove a subtitle from a video by language"},{"name":"panda_generate_ai_subtitles","description":"Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier."},{"name":"panda_update_subtitle_visibility","description":"Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)"},{"name":"panda_download_subtitle","description":"Download a subtitle file for a specific language"},{"name":"panda_get_videos_count","description":"Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)"},{"name":"panda_get_custom_fields","description":"Get all custom fields for a video. Returns array of {id, key, value} metadata pairs."},{"name":"panda_create_custom_field","description":"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 s"},{"name":"panda_list_users","description":"List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}."},{"name":"panda_create_user","description":"Create a new user in the organization. Returns the created {id, name, email, role_id}."},{"name":"panda_update_user","description":"Update a user's information or role"},{"name":"panda_delete_user","description":"Remove a user from the organization"},{"name":"panda_request_download","description":"Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}."},{"name":"panda_check_download_status","description":"Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'."},{"name":"panda_list_shorts","description":"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"},{"name":"panda_import_video_for_shorts","description":"Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video"},{"name":"panda_list_short_segments","description":"List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription."},{"name":"panda_delete_short","description":"Delete a Shorts job/project"},{"name":"panda_save_segment_to_library","description":"Save a Short segment to the video library as an independent video"},{"name":"panda_list_ai_assistants","description":"List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}."},{"name":"panda_get_ai_assistant","description":"Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}."},{"name":"panda_create_ai_assistant","description":"Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}."},{"name":"panda_get_ai_assistant_purchase_overview","description":"Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}."},{"name":"panda_update_ai_assistant","description":"Update AI assistant information (name, status, etc.)"},{"name":"panda_update_ai_assistant_video_bindings","description":"Replace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed."},{"name":"panda_update_ai_assistant_chat_visibility","description":"Show or hide the AI chat widget on the video player"},{"name":"panda_delete_ai_assistant","description":"Delete an AI assistant"},{"name":"panda_generate_tutor_file_upload_url","description":"Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload."},{"name":"panda_confirm_tutor_file_upload","description":"Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)"},{"name":"panda_delete_tutor_file","description":"Delete a file from a Tutor AI assistant"},{"name":"panda_add_tutor_videos","description":"Add videos to a Tutor AI assistant"},{"name":"panda_create_ai_dubbing","description":"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}."},{"name":"panda_delete_dubbing_audio","description":"Delete a dubbed audio track from a video"},{"name":"panda_get_referrals_summary","description":"Get referral program summary (balance, estimated value)"},{"name":"panda_get_credits_balance","description":"Get the current credits balance for the account. 1 credit = R$1."},{"name":"panda_get_credits_history","description":"Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}."},{"name":"panda_get_auto_recharge_settings","description":"Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}."}],"toolCount":177,"toolsHash":"3b70a03c2ff3aa7c9d31c80b0fca024a7445b43294019b3d4cd848cd703fd5f4","serverName":"panda-video-mcp","capabilities":["tools","resources"],"serverVersion":"2.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T07:22:25.297Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":244,"error":null,"detail":{"tools":[{"name":"panda_list_videos","description":"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 serve"},{"name":"panda_get_video","description":"Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc."},{"name":"panda_update_video","description":"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, "},{"name":"panda_delete_videos","description":"Delete one or more videos by ID. Sends to trash for 30 days."},{"name":"panda_move_videos","description":"Move one or more videos to a folder"},{"name":"panda_duplicate_video","description":"Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos."},{"name":"panda_reencode_video","description":"Re-encode a video with a specific compression mode"},{"name":"panda_upload_video_from_url","description":"Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)"},{"name":"panda_list_folders","description":"List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}."},{"name":"panda_create_folder","description":"Create a new folder. Returns the created {id, name, parent_folder_id}."},{"name":"panda_get_folder","description":"Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}."},{"name":"panda_update_folder","description":"Update folder properties (name, parent). Also used to recover deleted folders with status=true."},{"name":"panda_delete_folder","description":"Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days."},{"name":"panda_list_playlists","description":"List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}."},{"name":"panda_create_playlist","description":"Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}."},{"name":"panda_get_playlist","description":"Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}."},{"name":"panda_update_playlist","description":"Update a playlist's properties"},{"name":"panda_delete_playlist","description":"Delete a playlist. Videos are NOT deleted — only the collection is removed."},{"name":"panda_get_playlist_videos","description":"List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}."},{"name":"panda_add_videos_to_playlist","description":"Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}]."},{"name":"panda_remove_video_from_playlist","description":"Remove a video from a playlist. Does NOT delete the video."},{"name":"panda_list_profiles","description":"List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` i"},{"name":"panda_create_profile","description":"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 ret"},{"name":"panda_get_profile","description":"Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)"},{"name":"panda_update_profile","description":"Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL "},{"name":"panda_delete_profile","description":"Delete a player profile by ID"},{"name":"panda_apply_profile_to_videos","description":"Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids."},{"name":"panda_list_lives","description":"List all live streams. Returns array of {id, title, status, scheduled_at, created_at}."},{"name":"panda_create_live","description":"Create a new live stream event"},{"name":"panda_get_live","description":"Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}."},{"name":"panda_finish_live","description":"End a live broadcast"},{"name":"panda_delete_lives","description":"Delete one or more live streams"},{"name":"panda_list_stream_keys","description":"List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}."},{"name":"panda_create_stream_key","description":"Create a new named stream key for OBS or other streaming software"},{"name":"panda_get_live_viewers","description":"Get viewer history for a live stream. Returns time-series array of viewer counts."},{"name":"panda_get_account_analytics","description":"Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_video_analytics","description":"Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_retention_analytics","description":"Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point."},{"name":"panda_get_ranking_analytics","description":"Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}."},{"name":"panda_get_realtime_analytics","description":"Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}."},{"name":"panda_get_bandwidth_analytics","description":"Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries."},{"name":"panda_list_funnels","description":"List all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders."},{"name":"panda_create_funnel","description":"Create a new video funnel"},{"name":"panda_get_funnel","description":"Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders."},{"name":"panda_update_funnel","description":"Update a funnel's properties (rename)"},{"name":"panda_delete_funnel","description":"Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible."},{"name":"panda_add_videos_to_funnel","description":"Add one or more videos to a funnel with optional coordinates"},{"name":"panda_remove_videos_from_funnel","description":"Remove one or more videos from a funnel"},{"name":"panda_get_watermark_status","description":"Check whether watermark/DRM is currently active on the account. Returns {active: boolean}."},{"name":"panda_enable_watermark","description":"Enable watermark protection for the account"},{"name":"panda_disable_watermark","description":"Disable watermark protection for the account"},{"name":"panda_list_watermark_groups","description":"List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_create_watermark_group","description":"Create a new watermark group"},{"name":"panda_get_watermark_group","description":"Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_update_watermark_group","description":"Update a watermark group"},{"name":"panda_delete_watermark_group","description":"Delete a watermark group"},{"name":"panda_manage_drm_group_items","description":"Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids."},{"name":"panda_get_thumbnails","description":"Get all thumbnails for a video. Returns {start: {url, name}, pause: [{url, name}], end: {url, name}} — each type may be null if not set."},{"name":"panda_add_thumbnail","description":"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/WEB"},{"name":"panda_add_pause_thumbnail","description":"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 thu"},{"name":"panda_add_end_thumbnail","description":"Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable image. Returns the uploaded filename. NO"},{"name":"panda_delete_thumbnail","description":"Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'."},{"name":"panda_get_subtitles","description":"Get all subtitle information for a video"},{"name":"panda_get_subtitle_by_language","description":"Get a subtitle file for a specific language"},{"name":"panda_delete_subtitle","description":"Remove a subtitle from a video by language"},{"name":"panda_generate_ai_subtitles","description":"Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier."},{"name":"panda_update_subtitle_visibility","description":"Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)"},{"name":"panda_download_subtitle","description":"Download a subtitle file for a specific language"},{"name":"panda_get_videos_count","description":"Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)"},{"name":"panda_get_custom_fields","description":"Get all custom fields for a video. Returns array of {id, key, value} metadata pairs."},{"name":"panda_create_custom_field","description":"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 s"},{"name":"panda_list_users","description":"List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}."},{"name":"panda_create_user","description":"Create a new user in the organization. Returns the created {id, name, email, role_id}."},{"name":"panda_update_user","description":"Update a user's information or role"},{"name":"panda_delete_user","description":"Remove a user from the organization"},{"name":"panda_request_download","description":"Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}."},{"name":"panda_check_download_status","description":"Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'."},{"name":"panda_list_shorts","description":"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"},{"name":"panda_import_video_for_shorts","description":"Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video"},{"name":"panda_list_short_segments","description":"List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription."},{"name":"panda_delete_short","description":"Delete a Shorts job/project"},{"name":"panda_save_segment_to_library","description":"Save a Short segment to the video library as an independent video"},{"name":"panda_list_ai_assistants","description":"List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}."},{"name":"panda_get_ai_assistant","description":"Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}."},{"name":"panda_create_ai_assistant","description":"Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}."},{"name":"panda_get_ai_assistant_purchase_overview","description":"Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}."},{"name":"panda_update_ai_assistant","description":"Update AI assistant information (name, status, etc.)"},{"name":"panda_update_ai_assistant_video_bindings","description":"Replace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed."},{"name":"panda_update_ai_assistant_chat_visibility","description":"Show or hide the AI chat widget on the video player"},{"name":"panda_delete_ai_assistant","description":"Delete an AI assistant"},{"name":"panda_generate_tutor_file_upload_url","description":"Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload."},{"name":"panda_confirm_tutor_file_upload","description":"Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)"},{"name":"panda_delete_tutor_file","description":"Delete a file from a Tutor AI assistant"},{"name":"panda_add_tutor_videos","description":"Add videos to a Tutor AI assistant"},{"name":"panda_create_ai_dubbing","description":"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}."},{"name":"panda_delete_dubbing_audio","description":"Delete a dubbed audio track from a video"},{"name":"panda_get_referrals_summary","description":"Get referral program summary (balance, estimated value)"},{"name":"panda_get_credits_balance","description":"Get the current credits balance for the account. 1 credit = R$1."},{"name":"panda_get_credits_history","description":"Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}."},{"name":"panda_get_auto_recharge_settings","description":"Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}."}],"toolCount":177,"toolsHash":"3b70a03c2ff3aa7c9d31c80b0fca024a7445b43294019b3d4cd848cd703fd5f4","serverName":"panda-video-mcp","capabilities":["tools","resources"],"serverVersion":"2.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T00:26:28.064Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":98,"error":null,"detail":{"tools":[{"name":"panda_list_videos","description":"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 serve"},{"name":"panda_get_video","description":"Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc."},{"name":"panda_update_video","description":"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, "},{"name":"panda_delete_videos","description":"Delete one or more videos by ID. Sends to trash for 30 days."},{"name":"panda_move_videos","description":"Move one or more videos to a folder"},{"name":"panda_duplicate_video","description":"Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos."},{"name":"panda_reencode_video","description":"Re-encode a video with a specific compression mode"},{"name":"panda_upload_video_from_url","description":"Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)"},{"name":"panda_list_folders","description":"List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}."},{"name":"panda_create_folder","description":"Create a new folder. Returns the created {id, name, parent_folder_id}."},{"name":"panda_get_folder","description":"Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}."},{"name":"panda_update_folder","description":"Update folder properties (name, parent). Also used to recover deleted folders with status=true."},{"name":"panda_delete_folder","description":"Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days."},{"name":"panda_list_playlists","description":"List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}."},{"name":"panda_create_playlist","description":"Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}."},{"name":"panda_get_playlist","description":"Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}."},{"name":"panda_update_playlist","description":"Update a playlist's properties"},{"name":"panda_delete_playlist","description":"Delete a playlist. Videos are NOT deleted — only the collection is removed."},{"name":"panda_get_playlist_videos","description":"List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}."},{"name":"panda_add_videos_to_playlist","description":"Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}]."},{"name":"panda_remove_video_from_playlist","description":"Remove a video from a playlist. Does NOT delete the video."},{"name":"panda_list_profiles","description":"List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` i"},{"name":"panda_create_profile","description":"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 ret"},{"name":"panda_get_profile","description":"Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)"},{"name":"panda_update_profile","description":"Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL "},{"name":"panda_delete_profile","description":"Delete a player profile by ID"},{"name":"panda_apply_profile_to_videos","description":"Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids."},{"name":"panda_list_lives","description":"List all live streams. Returns array of {id, title, status, scheduled_at, created_at}."},{"name":"panda_create_live","description":"Create a new live stream event"},{"name":"panda_get_live","description":"Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}."},{"name":"panda_finish_live","description":"End a live broadcast"},{"name":"panda_delete_lives","description":"Delete one or more live streams"},{"name":"panda_list_stream_keys","description":"List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}."},{"name":"panda_create_stream_key","description":"Create a new named stream key for OBS or other streaming software"},{"name":"panda_get_live_viewers","description":"Get viewer history for a live stream. Returns time-series array of viewer counts."},{"name":"panda_get_account_analytics","description":"Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_video_analytics","description":"Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_retention_analytics","description":"Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point."},{"name":"panda_get_ranking_analytics","description":"Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}."},{"name":"panda_get_realtime_analytics","description":"Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}."},{"name":"panda_get_bandwidth_analytics","description":"Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries."},{"name":"panda_list_funnels","description":"List all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders."},{"name":"panda_create_funnel","description":"Create a new video funnel"},{"name":"panda_get_funnel","description":"Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders."},{"name":"panda_update_funnel","description":"Update a funnel's properties (rename)"},{"name":"panda_delete_funnel","description":"Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible."},{"name":"panda_add_videos_to_funnel","description":"Add one or more videos to a funnel with optional coordinates"},{"name":"panda_remove_videos_from_funnel","description":"Remove one or more videos from a funnel"},{"name":"panda_get_watermark_status","description":"Check whether watermark/DRM is currently active on the account. Returns {active: boolean}."},{"name":"panda_enable_watermark","description":"Enable watermark protection for the account"},{"name":"panda_disable_watermark","description":"Disable watermark protection for the account"},{"name":"panda_list_watermark_groups","description":"List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_create_watermark_group","description":"Create a new watermark group"},{"name":"panda_get_watermark_group","description":"Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_update_watermark_group","description":"Update a watermark group"},{"name":"panda_delete_watermark_group","description":"Delete a watermark group"},{"name":"panda_manage_drm_group_items","description":"Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids."},{"name":"panda_get_thumbnails","description":"Get all thumbnails for a video. Returns {start: {url, name}, pause: [{url, name}], end: {url, name}} — each type may be null if not set."},{"name":"panda_add_thumbnail","description":"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/WEB"},{"name":"panda_add_pause_thumbnail","description":"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 thu"},{"name":"panda_add_end_thumbnail","description":"Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable image. Returns the uploaded filename. NO"},{"name":"panda_delete_thumbnail","description":"Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'."},{"name":"panda_get_subtitles","description":"Get all subtitle information for a video"},{"name":"panda_get_subtitle_by_language","description":"Get a subtitle file for a specific language"},{"name":"panda_delete_subtitle","description":"Remove a subtitle from a video by language"},{"name":"panda_generate_ai_subtitles","description":"Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier."},{"name":"panda_update_subtitle_visibility","description":"Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)"},{"name":"panda_download_subtitle","description":"Download a subtitle file for a specific language"},{"name":"panda_get_videos_count","description":"Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)"},{"name":"panda_get_custom_fields","description":"Get all custom fields for a video. Returns array of {id, key, value} metadata pairs."},{"name":"panda_create_custom_field","description":"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 s"},{"name":"panda_list_users","description":"List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}."},{"name":"panda_create_user","description":"Create a new user in the organization. Returns the created {id, name, email, role_id}."},{"name":"panda_update_user","description":"Update a user's information or role"},{"name":"panda_delete_user","description":"Remove a user from the organization"},{"name":"panda_request_download","description":"Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}."},{"name":"panda_check_download_status","description":"Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'."},{"name":"panda_list_shorts","description":"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"},{"name":"panda_import_video_for_shorts","description":"Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video"},{"name":"panda_list_short_segments","description":"List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription."},{"name":"panda_delete_short","description":"Delete a Shorts job/project"},{"name":"panda_save_segment_to_library","description":"Save a Short segment to the video library as an independent video"},{"name":"panda_list_ai_assistants","description":"List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}."},{"name":"panda_get_ai_assistant","description":"Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}."},{"name":"panda_create_ai_assistant","description":"Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}."},{"name":"panda_get_ai_assistant_purchase_overview","description":"Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}."},{"name":"panda_update_ai_assistant","description":"Update AI assistant information (name, status, etc.)"},{"name":"panda_update_ai_assistant_video_bindings","description":"Replace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed."},{"name":"panda_update_ai_assistant_chat_visibility","description":"Show or hide the AI chat widget on the video player"},{"name":"panda_delete_ai_assistant","description":"Delete an AI assistant"},{"name":"panda_generate_tutor_file_upload_url","description":"Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload."},{"name":"panda_confirm_tutor_file_upload","description":"Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)"},{"name":"panda_delete_tutor_file","description":"Delete a file from a Tutor AI assistant"},{"name":"panda_add_tutor_videos","description":"Add videos to a Tutor AI assistant"},{"name":"panda_create_ai_dubbing","description":"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}."},{"name":"panda_delete_dubbing_audio","description":"Delete a dubbed audio track from a video"},{"name":"panda_get_referrals_summary","description":"Get referral program summary (balance, estimated value)"},{"name":"panda_get_credits_balance","description":"Get the current credits balance for the account. 1 credit = R$1."},{"name":"panda_get_credits_history","description":"Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}."},{"name":"panda_get_auto_recharge_settings","description":"Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}."}],"toolCount":177,"toolsHash":"3b70a03c2ff3aa7c9d31c80b0fca024a7445b43294019b3d4cd848cd703fd5f4","serverName":"panda-video-mcp","capabilities":["tools","resources"],"serverVersion":"2.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T17:27:48.922Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":107,"error":null,"detail":{"tools":[{"name":"panda_list_videos","description":"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 serve"},{"name":"panda_get_video","description":"Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc."},{"name":"panda_update_video","description":"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, "},{"name":"panda_delete_videos","description":"Delete one or more videos by ID. Sends to trash for 30 days."},{"name":"panda_move_videos","description":"Move one or more videos to a folder"},{"name":"panda_duplicate_video","description":"Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos."},{"name":"panda_reencode_video","description":"Re-encode a video with a specific compression mode"},{"name":"panda_upload_video_from_url","description":"Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)"},{"name":"panda_list_folders","description":"List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}."},{"name":"panda_create_folder","description":"Create a new folder. Returns the created {id, name, parent_folder_id}."},{"name":"panda_get_folder","description":"Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}."},{"name":"panda_update_folder","description":"Update folder properties (name, parent). Also used to recover deleted folders with status=true."},{"name":"panda_delete_folder","description":"Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days."},{"name":"panda_list_playlists","description":"List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}."},{"name":"panda_create_playlist","description":"Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}."},{"name":"panda_get_playlist","description":"Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}."},{"name":"panda_update_playlist","description":"Update a playlist's properties"},{"name":"panda_delete_playlist","description":"Delete a playlist. Videos are NOT deleted — only the collection is removed."},{"name":"panda_get_playlist_videos","description":"List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}."},{"name":"panda_add_videos_to_playlist","description":"Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}]."},{"name":"panda_remove_video_from_playlist","description":"Remove a video from a playlist. Does NOT delete the video."},{"name":"panda_list_profiles","description":"List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` i"},{"name":"panda_create_profile","description":"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 ret"},{"name":"panda_get_profile","description":"Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)"},{"name":"panda_update_profile","description":"Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL "},{"name":"panda_delete_profile","description":"Delete a player profile by ID"},{"name":"panda_apply_profile_to_videos","description":"Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids."},{"name":"panda_list_lives","description":"List all live streams. Returns array of {id, title, status, scheduled_at, created_at}."},{"name":"panda_create_live","description":"Create a new live stream event"},{"name":"panda_get_live","description":"Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}."},{"name":"panda_finish_live","description":"End a live broadcast"},{"name":"panda_delete_lives","description":"Delete one or more live streams"},{"name":"panda_list_stream_keys","description":"List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}."},{"name":"panda_create_stream_key","description":"Create a new named stream key for OBS or other streaming software"},{"name":"panda_get_live_viewers","description":"Get viewer history for a live stream. Returns time-series array of viewer counts."},{"name":"panda_get_account_analytics","description":"Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_video_analytics","description":"Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_retention_analytics","description":"Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point."},{"name":"panda_get_ranking_analytics","description":"Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}."},{"name":"panda_get_realtime_analytics","description":"Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}."},{"name":"panda_get_bandwidth_analytics","description":"Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries."},{"name":"panda_list_funnels","description":"List all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders."},{"name":"panda_create_funnel","description":"Create a new video funnel"},{"name":"panda_get_funnel","description":"Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders."},{"name":"panda_update_funnel","description":"Update a funnel's properties (rename)"},{"name":"panda_delete_funnel","description":"Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible."},{"name":"panda_add_videos_to_funnel","description":"Add one or more videos to a funnel with optional coordinates"},{"name":"panda_remove_videos_from_funnel","description":"Remove one or more videos from a funnel"},{"name":"panda_get_watermark_status","description":"Check whether watermark/DRM is currently active on the account. Returns {active: boolean}."},{"name":"panda_enable_watermark","description":"Enable watermark protection for the account"},{"name":"panda_disable_watermark","description":"Disable watermark protection for the account"},{"name":"panda_list_watermark_groups","description":"List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_create_watermark_group","description":"Create a new watermark group"},{"name":"panda_get_watermark_group","description":"Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_update_watermark_group","description":"Update a watermark group"},{"name":"panda_delete_watermark_group","description":"Delete a watermark group"},{"name":"panda_manage_drm_group_items","description":"Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids."},{"name":"panda_get_thumbnails","description":"Get all thumbnails for a video. Returns {start: {url, name}, pause: [{url, name}], end: {url, name}} — each type may be null if not set."},{"name":"panda_add_thumbnail","description":"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/WEB"},{"name":"panda_add_pause_thumbnail","description":"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 thu"},{"name":"panda_add_end_thumbnail","description":"Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable image. Returns the uploaded filename. NO"},{"name":"panda_delete_thumbnail","description":"Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'."},{"name":"panda_get_subtitles","description":"Get all subtitle information for a video"},{"name":"panda_get_subtitle_by_language","description":"Get a subtitle file for a specific language"},{"name":"panda_delete_subtitle","description":"Remove a subtitle from a video by language"},{"name":"panda_generate_ai_subtitles","description":"Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier."},{"name":"panda_update_subtitle_visibility","description":"Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)"},{"name":"panda_download_subtitle","description":"Download a subtitle file for a specific language"},{"name":"panda_get_videos_count","description":"Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)"},{"name":"panda_get_custom_fields","description":"Get all custom fields for a video. Returns array of {id, key, value} metadata pairs."},{"name":"panda_create_custom_field","description":"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 s"},{"name":"panda_list_users","description":"List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}."},{"name":"panda_create_user","description":"Create a new user in the organization. Returns the created {id, name, email, role_id}."},{"name":"panda_update_user","description":"Update a user's information or role"},{"name":"panda_delete_user","description":"Remove a user from the organization"},{"name":"panda_request_download","description":"Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}."},{"name":"panda_check_download_status","description":"Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'."},{"name":"panda_list_shorts","description":"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"},{"name":"panda_import_video_for_shorts","description":"Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video"},{"name":"panda_list_short_segments","description":"List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription."},{"name":"panda_delete_short","description":"Delete a Shorts job/project"},{"name":"panda_save_segment_to_library","description":"Save a Short segment to the video library as an independent video"},{"name":"panda_list_ai_assistants","description":"List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}."},{"name":"panda_get_ai_assistant","description":"Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}."},{"name":"panda_create_ai_assistant","description":"Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}."},{"name":"panda_get_ai_assistant_purchase_overview","description":"Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}."},{"name":"panda_update_ai_assistant","description":"Update AI assistant information (name, status, etc.)"},{"name":"panda_update_ai_assistant_video_bindings","description":"Replace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed."},{"name":"panda_update_ai_assistant_chat_visibility","description":"Show or hide the AI chat widget on the video player"},{"name":"panda_delete_ai_assistant","description":"Delete an AI assistant"},{"name":"panda_generate_tutor_file_upload_url","description":"Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload."},{"name":"panda_confirm_tutor_file_upload","description":"Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)"},{"name":"panda_delete_tutor_file","description":"Delete a file from a Tutor AI assistant"},{"name":"panda_add_tutor_videos","description":"Add videos to a Tutor AI assistant"},{"name":"panda_create_ai_dubbing","description":"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}."},{"name":"panda_delete_dubbing_audio","description":"Delete a dubbed audio track from a video"},{"name":"panda_get_referrals_summary","description":"Get referral program summary (balance, estimated value)"},{"name":"panda_get_credits_balance","description":"Get the current credits balance for the account. 1 credit = R$1."},{"name":"panda_get_credits_history","description":"Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}."},{"name":"panda_get_auto_recharge_settings","description":"Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}."}],"toolCount":177,"toolsHash":"3b70a03c2ff3aa7c9d31c80b0fca024a7445b43294019b3d4cd848cd703fd5f4","serverName":"panda-video-mcp","capabilities":["tools","resources"],"serverVersion":"2.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T10:28:57.310Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":149,"error":null,"detail":{"tools":[{"name":"panda_list_videos","description":"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 serve"},{"name":"panda_get_video","description":"Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc."},{"name":"panda_update_video","description":"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, "},{"name":"panda_delete_videos","description":"Delete one or more videos by ID. Sends to trash for 30 days."},{"name":"panda_move_videos","description":"Move one or more videos to a folder"},{"name":"panda_duplicate_video","description":"Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos."},{"name":"panda_reencode_video","description":"Re-encode a video with a specific compression mode"},{"name":"panda_upload_video_from_url","description":"Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)"},{"name":"panda_list_folders","description":"List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}."},{"name":"panda_create_folder","description":"Create a new folder. Returns the created {id, name, parent_folder_id}."},{"name":"panda_get_folder","description":"Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}."},{"name":"panda_update_folder","description":"Update folder properties (name, parent). Also used to recover deleted folders with status=true."},{"name":"panda_delete_folder","description":"Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days."},{"name":"panda_list_playlists","description":"List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}."},{"name":"panda_create_playlist","description":"Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}."},{"name":"panda_get_playlist","description":"Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}."},{"name":"panda_update_playlist","description":"Update a playlist's properties"},{"name":"panda_delete_playlist","description":"Delete a playlist. Videos are NOT deleted — only the collection is removed."},{"name":"panda_get_playlist_videos","description":"List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}."},{"name":"panda_add_videos_to_playlist","description":"Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}]."},{"name":"panda_remove_video_from_playlist","description":"Remove a video from a playlist. Does NOT delete the video."},{"name":"panda_list_profiles","description":"List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` i"},{"name":"panda_create_profile","description":"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 ret"},{"name":"panda_get_profile","description":"Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)"},{"name":"panda_update_profile","description":"Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL "},{"name":"panda_delete_profile","description":"Delete a player profile by ID"},{"name":"panda_apply_profile_to_videos","description":"Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids."},{"name":"panda_list_lives","description":"List all live streams. Returns array of {id, title, status, scheduled_at, created_at}."},{"name":"panda_create_live","description":"Create a new live stream event"},{"name":"panda_get_live","description":"Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}."},{"name":"panda_finish_live","description":"End a live broadcast"},{"name":"panda_delete_lives","description":"Delete one or more live streams"},{"name":"panda_list_stream_keys","description":"List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}."},{"name":"panda_create_stream_key","description":"Create a new named stream key for OBS or other streaming software"},{"name":"panda_get_live_viewers","description":"Get viewer history for a live stream. Returns time-series array of viewer counts."},{"name":"panda_get_account_analytics","description":"Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_video_analytics","description":"Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_retention_analytics","description":"Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point."},{"name":"panda_get_ranking_analytics","description":"Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}."},{"name":"panda_get_realtime_analytics","description":"Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}."},{"name":"panda_get_bandwidth_analytics","description":"Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries."},{"name":"panda_list_funnels","description":"List all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders."},{"name":"panda_create_funnel","description":"Create a new video funnel"},{"name":"panda_get_funnel","description":"Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders."},{"name":"panda_update_funnel","description":"Update a funnel's properties (rename)"},{"name":"panda_delete_funnel","description":"Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible."},{"name":"panda_add_videos_to_funnel","description":"Add one or more videos to a funnel with optional coordinates"},{"name":"panda_remove_videos_from_funnel","description":"Remove one or more videos from a funnel"},{"name":"panda_get_watermark_status","description":"Check whether watermark/DRM is currently active on the account. Returns {active: boolean}."},{"name":"panda_enable_watermark","description":"Enable watermark protection for the account"},{"name":"panda_disable_watermark","description":"Disable watermark protection for the account"},{"name":"panda_list_watermark_groups","description":"List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_create_watermark_group","description":"Create a new watermark group"},{"name":"panda_get_watermark_group","description":"Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_update_watermark_group","description":"Update a watermark group"},{"name":"panda_delete_watermark_group","description":"Delete a watermark group"},{"name":"panda_manage_drm_group_items","description":"Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids."},{"name":"panda_get_thumbnails","description":"Get all thumbnails for a video. Returns {start: {url, name}, pause: [{url, name}], end: {url, name}} — each type may be null if not set."},{"name":"panda_add_thumbnail","description":"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/WEB"},{"name":"panda_add_pause_thumbnail","description":"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 thu"},{"name":"panda_add_end_thumbnail","description":"Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable image. Returns the uploaded filename. NO"},{"name":"panda_delete_thumbnail","description":"Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'."},{"name":"panda_get_subtitles","description":"Get all subtitle information for a video"},{"name":"panda_get_subtitle_by_language","description":"Get a subtitle file for a specific language"},{"name":"panda_delete_subtitle","description":"Remove a subtitle from a video by language"},{"name":"panda_generate_ai_subtitles","description":"Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier."},{"name":"panda_update_subtitle_visibility","description":"Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)"},{"name":"panda_download_subtitle","description":"Download a subtitle file for a specific language"},{"name":"panda_get_videos_count","description":"Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)"},{"name":"panda_get_custom_fields","description":"Get all custom fields for a video. Returns array of {id, key, value} metadata pairs."},{"name":"panda_create_custom_field","description":"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 s"},{"name":"panda_list_users","description":"List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}."},{"name":"panda_create_user","description":"Create a new user in the organization. Returns the created {id, name, email, role_id}."},{"name":"panda_update_user","description":"Update a user's information or role"},{"name":"panda_delete_user","description":"Remove a user from the organization"},{"name":"panda_request_download","description":"Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}."},{"name":"panda_check_download_status","description":"Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'."},{"name":"panda_list_shorts","description":"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"},{"name":"panda_import_video_for_shorts","description":"Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video"},{"name":"panda_list_short_segments","description":"List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription."},{"name":"panda_delete_short","description":"Delete a Shorts job/project"},{"name":"panda_save_segment_to_library","description":"Save a Short segment to the video library as an independent video"},{"name":"panda_list_ai_assistants","description":"List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}."},{"name":"panda_get_ai_assistant","description":"Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}."},{"name":"panda_create_ai_assistant","description":"Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}."},{"name":"panda_get_ai_assistant_purchase_overview","description":"Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}."},{"name":"panda_update_ai_assistant","description":"Update AI assistant information (name, status, etc.)"},{"name":"panda_update_ai_assistant_video_bindings","description":"Replace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed."},{"name":"panda_update_ai_assistant_chat_visibility","description":"Show or hide the AI chat widget on the video player"},{"name":"panda_delete_ai_assistant","description":"Delete an AI assistant"},{"name":"panda_generate_tutor_file_upload_url","description":"Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload."},{"name":"panda_confirm_tutor_file_upload","description":"Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)"},{"name":"panda_delete_tutor_file","description":"Delete a file from a Tutor AI assistant"},{"name":"panda_add_tutor_videos","description":"Add videos to a Tutor AI assistant"},{"name":"panda_create_ai_dubbing","description":"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}."},{"name":"panda_delete_dubbing_audio","description":"Delete a dubbed audio track from a video"},{"name":"panda_get_referrals_summary","description":"Get referral program summary (balance, estimated value)"},{"name":"panda_get_credits_balance","description":"Get the current credits balance for the account. 1 credit = R$1."},{"name":"panda_get_credits_history","description":"Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}."},{"name":"panda_get_auto_recharge_settings","description":"Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}."}],"toolCount":177,"toolsHash":"3b70a03c2ff3aa7c9d31c80b0fca024a7445b43294019b3d4cd848cd703fd5f4","serverName":"panda-video-mcp","capabilities":["tools","resources"],"serverVersion":"2.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T04:31:13.045Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":97,"error":null,"detail":{"tools":[{"name":"panda_list_videos","description":"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 serve"},{"name":"panda_get_video","description":"Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc."},{"name":"panda_update_video","description":"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, "},{"name":"panda_delete_videos","description":"Delete one or more videos by ID. Sends to trash for 30 days."},{"name":"panda_move_videos","description":"Move one or more videos to a folder"},{"name":"panda_duplicate_video","description":"Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos."},{"name":"panda_reencode_video","description":"Re-encode a video with a specific compression mode"},{"name":"panda_upload_video_from_url","description":"Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)"},{"name":"panda_list_folders","description":"List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}."},{"name":"panda_create_folder","description":"Create a new folder. Returns the created {id, name, parent_folder_id}."},{"name":"panda_get_folder","description":"Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}."},{"name":"panda_update_folder","description":"Update folder properties (name, parent). Also used to recover deleted folders with status=true."},{"name":"panda_delete_folder","description":"Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days."},{"name":"panda_list_playlists","description":"List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}."},{"name":"panda_create_playlist","description":"Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}."},{"name":"panda_get_playlist","description":"Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}."},{"name":"panda_update_playlist","description":"Update a playlist's properties"},{"name":"panda_delete_playlist","description":"Delete a playlist. Videos are NOT deleted — only the collection is removed."},{"name":"panda_get_playlist_videos","description":"List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}."},{"name":"panda_add_videos_to_playlist","description":"Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}]."},{"name":"panda_remove_video_from_playlist","description":"Remove a video from a playlist. Does NOT delete the video."},{"name":"panda_list_profiles","description":"List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` i"},{"name":"panda_create_profile","description":"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 ret"},{"name":"panda_get_profile","description":"Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)"},{"name":"panda_update_profile","description":"Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL "},{"name":"panda_delete_profile","description":"Delete a player profile by ID"},{"name":"panda_apply_profile_to_videos","description":"Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids."},{"name":"panda_list_lives","description":"List all live streams. Returns array of {id, title, status, scheduled_at, created_at}."},{"name":"panda_create_live","description":"Create a new live stream event"},{"name":"panda_get_live","description":"Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}."},{"name":"panda_finish_live","description":"End a live broadcast"},{"name":"panda_delete_lives","description":"Delete one or more live streams"},{"name":"panda_list_stream_keys","description":"List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}."},{"name":"panda_create_stream_key","description":"Create a new named stream key for OBS or other streaming software"},{"name":"panda_get_live_viewers","description":"Get viewer history for a live stream. Returns time-series array of viewer counts."},{"name":"panda_get_account_analytics","description":"Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_video_analytics","description":"Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_retention_analytics","description":"Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point."},{"name":"panda_get_ranking_analytics","description":"Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}."},{"name":"panda_get_realtime_analytics","description":"Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}."},{"name":"panda_get_bandwidth_analytics","description":"Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries."},{"name":"panda_list_funnels","description":"List all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders."},{"name":"panda_create_funnel","description":"Create a new video funnel"},{"name":"panda_get_funnel","description":"Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders."},{"name":"panda_update_funnel","description":"Update a funnel's properties (rename)"},{"name":"panda_delete_funnel","description":"Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible."},{"name":"panda_add_videos_to_funnel","description":"Add one or more videos to a funnel with optional coordinates"},{"name":"panda_remove_videos_from_funnel","description":"Remove one or more videos from a funnel"},{"name":"panda_get_watermark_status","description":"Check whether watermark/DRM is currently active on the account. Returns {active: boolean}."},{"name":"panda_enable_watermark","description":"Enable watermark protection for the account"},{"name":"panda_disable_watermark","description":"Disable watermark protection for the account"},{"name":"panda_list_watermark_groups","description":"List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_create_watermark_group","description":"Create a new watermark group"},{"name":"panda_get_watermark_group","description":"Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_update_watermark_group","description":"Update a watermark group"},{"name":"panda_delete_watermark_group","description":"Delete a watermark group"},{"name":"panda_manage_drm_group_items","description":"Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids."},{"name":"panda_get_thumbnails","description":"Get all thumbnails for a video. Returns {start: {url, name}, pause: [{url, name}], end: {url, name}} — each type may be null if not set."},{"name":"panda_add_thumbnail","description":"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/WEB"},{"name":"panda_add_pause_thumbnail","description":"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 thu"},{"name":"panda_add_end_thumbnail","description":"Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable image. Returns the uploaded filename. NO"},{"name":"panda_delete_thumbnail","description":"Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'."},{"name":"panda_get_subtitles","description":"Get all subtitle information for a video"},{"name":"panda_get_subtitle_by_language","description":"Get a subtitle file for a specific language"},{"name":"panda_delete_subtitle","description":"Remove a subtitle from a video by language"},{"name":"panda_generate_ai_subtitles","description":"Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier."},{"name":"panda_update_subtitle_visibility","description":"Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)"},{"name":"panda_download_subtitle","description":"Download a subtitle file for a specific language"},{"name":"panda_get_videos_count","description":"Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)"},{"name":"panda_get_custom_fields","description":"Get all custom fields for a video. Returns array of {id, key, value} metadata pairs."},{"name":"panda_create_custom_field","description":"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 s"},{"name":"panda_list_users","description":"List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}."},{"name":"panda_create_user","description":"Create a new user in the organization. Returns the created {id, name, email, role_id}."},{"name":"panda_update_user","description":"Update a user's information or role"},{"name":"panda_delete_user","description":"Remove a user from the organization"},{"name":"panda_request_download","description":"Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}."},{"name":"panda_check_download_status","description":"Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'."},{"name":"panda_list_shorts","description":"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"},{"name":"panda_import_video_for_shorts","description":"Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video"},{"name":"panda_list_short_segments","description":"List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription."},{"name":"panda_delete_short","description":"Delete a Shorts job/project"},{"name":"panda_save_segment_to_library","description":"Save a Short segment to the video library as an independent video"},{"name":"panda_list_ai_assistants","description":"List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}."},{"name":"panda_get_ai_assistant","description":"Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}."},{"name":"panda_create_ai_assistant","description":"Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}."},{"name":"panda_get_ai_assistant_purchase_overview","description":"Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}."},{"name":"panda_update_ai_assistant","description":"Update AI assistant information (name, status, etc.)"},{"name":"panda_update_ai_assistant_video_bindings","description":"Replace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed."},{"name":"panda_update_ai_assistant_chat_visibility","description":"Show or hide the AI chat widget on the video player"},{"name":"panda_delete_ai_assistant","description":"Delete an AI assistant"},{"name":"panda_generate_tutor_file_upload_url","description":"Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload."},{"name":"panda_confirm_tutor_file_upload","description":"Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)"},{"name":"panda_delete_tutor_file","description":"Delete a file from a Tutor AI assistant"},{"name":"panda_add_tutor_videos","description":"Add videos to a Tutor AI assistant"},{"name":"panda_create_ai_dubbing","description":"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}."},{"name":"panda_delete_dubbing_audio","description":"Delete a dubbed audio track from a video"},{"name":"panda_get_referrals_summary","description":"Get referral program summary (balance, estimated value)"},{"name":"panda_get_credits_balance","description":"Get the current credits balance for the account. 1 credit = R$1."},{"name":"panda_get_credits_history","description":"Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}."},{"name":"panda_get_auto_recharge_settings","description":"Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}."}],"toolCount":177,"toolsHash":"3b70a03c2ff3aa7c9d31c80b0fca024a7445b43294019b3d4cd848cd703fd5f4","serverName":"panda-video-mcp","capabilities":["tools","resources"],"serverVersion":"2.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"panda_list_videos","description":"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 serve"},{"name":"panda_get_video","description":"Get full properties of a video by its ID, including config, profile, status, duration, folder, subtitles, etc."},{"name":"panda_update_video","description":"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, "},{"name":"panda_delete_videos","description":"Delete one or more videos by ID. Sends to trash for 30 days."},{"name":"panda_move_videos","description":"Move one or more videos to a folder"},{"name":"panda_duplicate_video","description":"Create a copy of a video. Only works for CONVERTED, non-external, non-funnel videos."},{"name":"panda_reencode_video","description":"Re-encode a video with a specific compression mode"},{"name":"panda_upload_video_from_url","description":"Import a video from an external URL (YouTube, Vimeo, S3, generic HTTPS)"},{"name":"panda_list_folders","description":"List all folders. Returns array of {id, name, parent_folder_id, status, created_at, videos_count}."},{"name":"panda_create_folder","description":"Create a new folder. Returns the created {id, name, parent_folder_id}."},{"name":"panda_get_folder","description":"Get a folder's details and contents. Returns {id, name, parent_folder_id, status, videos: [{id, title, status}], folders: [{id, name}]}."},{"name":"panda_update_folder","description":"Update folder properties (name, parent). Also used to recover deleted folders with status=true."},{"name":"panda_delete_folder","description":"Delete a folder by ID. WARNING: All videos and subfolders inside are also deleted (cascade). Goes to trash for 30 days."},{"name":"panda_list_playlists","description":"List all playlists. Returns array of {id, name, videos_quantity, duration, access_type, updated_at}."},{"name":"panda_create_playlist","description":"Create a new playlist. Videos are REFERENCES — removing from playlist does NOT delete the video. Returns the created {id, name, description, access_type}."},{"name":"panda_get_playlist","description":"Get details of a specific playlist. Returns {id, name, description, videos_quantity, access_type, creator_name, duration, updated_at}."},{"name":"panda_update_playlist","description":"Update a playlist's properties"},{"name":"panda_delete_playlist","description":"Delete a playlist. Videos are NOT deleted — only the collection is removed."},{"name":"panda_get_playlist_videos","description":"List all videos in a playlist. Returns array of {id, video_id, order, video: {id, title, duration}}."},{"name":"panda_add_videos_to_playlist","description":"Add videos to a playlist with order. Returns the updated playlist video entries [{video_id, playlist_id, order}]."},{"name":"panda_remove_video_from_playlist","description":"Remove a video from a playlist. Does NOT delete the video."},{"name":"panda_list_profiles","description":"List all player profiles (GET /profile). 'Profiles' are player UI configs, not user accounts. Returns {data: [{id, name, pullzone_name}]} — a profile's `name` i"},{"name":"panda_create_profile","description":"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 ret"},{"name":"panda_get_profile","description":"Get details of a specific player profile including all settings (controls, colors, vsl, saveProgress)"},{"name":"panda_update_profile","description":"Update a player profile's settings. Covers: player colors (colors.primaryColor / controlsColor), enabled controls list, smart autoplay (vsl.smartAutoplay), VSL "},{"name":"panda_delete_profile","description":"Delete a player profile by ID"},{"name":"panda_apply_profile_to_videos","description":"Apply a player profile to one or more videos. Returns confirmation with the list of updated video_ids."},{"name":"panda_list_lives","description":"List all live streams. Returns array of {id, title, status, scheduled_at, created_at}."},{"name":"panda_create_live","description":"Create a new live stream event"},{"name":"panda_get_live","description":"Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}."},{"name":"panda_finish_live","description":"End a live broadcast"},{"name":"panda_delete_lives","description":"Delete one or more live streams"},{"name":"panda_list_stream_keys","description":"List all stream keys for live broadcasting. Returns array of {id, name, stream_key, rtmp, created_at}."},{"name":"panda_create_stream_key","description":"Create a new named stream key for OBS or other streaming software"},{"name":"panda_get_live_viewers","description":"Get viewer history for a live stream. Returns time-series array of viewer counts."},{"name":"panda_get_account_analytics","description":"Get general analytics metrics for the whole account. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_video_analytics","description":"Get analytics metrics for a specific video. Returns {views, unique_viewers, watch_time_seconds, avg_watch_percentage, plays}."},{"name":"panda_get_retention_analytics","description":"Get audience retention analytics (account-wide or per video). Returns array of {percentage, viewers} showing drop-off at each point."},{"name":"panda_get_ranking_analytics","description":"Get ranking analytics for the account. Returns {most_watched: [{video_id, title, watch_time}], most_played: [{video_id, title, plays}]}."},{"name":"panda_get_realtime_analytics","description":"Get real-time viewer count and activity for the account. Returns {current_viewers, active_videos: [{video_id, title, viewers}]}."},{"name":"panda_get_bandwidth_analytics","description":"Get bandwidth/traffic usage by folder, by video, or DRM by video. Returns array of {name, bandwidth_bytes, video_id?} entries."},{"name":"panda_list_funnels","description":"List all funnels. Returns {data: [{id, name, videos_count, created_at}]}. A funnel with videos_count=0 has no videos. Funnels are NOT folders."},{"name":"panda_create_funnel","description":"Create a new video funnel"},{"name":"panda_get_funnel","description":"Get a funnel's details and its videos. Returns {data: {id, name, videos: [{id, title, status, is_first}]}}. Funnels are NOT folders."},{"name":"panda_update_funnel","description":"Update a funnel's properties (rename)"},{"name":"panda_delete_funnel","description":"Delete a funnel by ID. WARNING: this is destructive. Videos inside the funnel may become inaccessible."},{"name":"panda_add_videos_to_funnel","description":"Add one or more videos to a funnel with optional coordinates"},{"name":"panda_remove_videos_from_funnel","description":"Remove one or more videos from a funnel"},{"name":"panda_get_watermark_status","description":"Check whether watermark/DRM is currently active on the account. Returns {active: boolean}."},{"name":"panda_enable_watermark","description":"Enable watermark protection for the account"},{"name":"panda_disable_watermark","description":"Disable watermark protection for the account"},{"name":"panda_list_watermark_groups","description":"List all watermark groups. Returns array of {id, name, active, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_create_watermark_group","description":"Create a new watermark group"},{"name":"panda_get_watermark_group","description":"Get a watermark group's details. Returns {id, name, video_ids: [], folder_ids: [], created_at}."},{"name":"panda_update_watermark_group","description":"Update a watermark group"},{"name":"panda_delete_watermark_group","description":"Delete a watermark group"},{"name":"panda_manage_drm_group_items","description":"Add or remove videos and/or folders from a DRM watermark group. Returns the updated group with current video_ids and folder_ids."},{"name":"panda_get_thumbnails","description":"Get all thumbnails for a video. Returns {start: {url, name}, pause: [{url, name}], end: {url, name}} — each type may be null if not set."},{"name":"panda_add_thumbnail","description":"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/WEB"},{"name":"panda_add_pause_thumbnail","description":"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 thu"},{"name":"panda_add_end_thumbnail","description":"Upload an end thumbnail — an image shown after the video finishes. Provide `image_url` pointing to a publicly reachable image. Returns the uploaded filename. NO"},{"name":"panda_delete_thumbnail","description":"Delete a thumbnail from a video. Type: 'start' (default), 'pause' (requires thumb_name), 'end'."},{"name":"panda_get_subtitles","description":"Get all subtitle information for a video"},{"name":"panda_get_subtitle_by_language","description":"Get a subtitle file for a specific language"},{"name":"panda_delete_subtitle","description":"Remove a subtitle from a video by language"},{"name":"panda_generate_ai_subtitles","description":"Generate subtitles for a video using Panda AI. Creates a transcription in the specified language. Costs credits based on video duration and tier."},{"name":"panda_update_subtitle_visibility","description":"Show or hide a subtitle language (hidden subtitles are not visible but still indexable for search)"},{"name":"panda_download_subtitle","description":"Download a subtitle file for a specific language"},{"name":"panda_get_videos_count","description":"Get total video count by status (CONVERTED, CONVERTING, DRAFT, etc.)"},{"name":"panda_get_custom_fields","description":"Get all custom fields for a video. Returns array of {id, key, value} metadata pairs."},{"name":"panda_create_custom_field","description":"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 s"},{"name":"panda_list_users","description":"List all users in the organization. Returns array of {id, name, email, role_id, role_name, created_at}."},{"name":"panda_create_user","description":"Create a new user in the organization. Returns the created {id, name, email, role_id}."},{"name":"panda_update_user","description":"Update a user's information or role"},{"name":"panda_delete_user","description":"Remove a user from the organization"},{"name":"panda_request_download","description":"Request an async download for a video. Only works for CONVERTED, non-external, non-Hotmart videos. Returns {status, message}."},{"name":"panda_check_download_status","description":"Check the status of an async download request. Returns {status, download_url} — url is present when status is 'ready'."},{"name":"panda_list_shorts","description":"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"},{"name":"panda_import_video_for_shorts","description":"Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video"},{"name":"panda_list_short_segments","description":"List all generated segments (clips) for a Shorts job. Each segment has viralScore, duration, transcription."},{"name":"panda_delete_short","description":"Delete a Shorts job/project"},{"name":"panda_save_segment_to_library","description":"Save a Short segment to the video library as an independent video"},{"name":"panda_list_ai_assistants","description":"List all AI video assistants. Returns array of {id, name, status, videos: [{id, title}], created_at}."},{"name":"panda_get_ai_assistant","description":"Get an AI assistant's details. Returns {id, name, status, videos: [{id, title}], files: [{id, file_name}], answers_count}."},{"name":"panda_create_ai_assistant","description":"Purchase credits and create a new AI assistant for a video. Returns the created {id, name, status, video_id}."},{"name":"panda_get_ai_assistant_purchase_overview","description":"Get credit cost overview before creating an AI assistant. Returns {credit_cost, current_balance, sufficient_credits}."},{"name":"panda_update_ai_assistant","description":"Update AI assistant information (name, status, etc.)"},{"name":"panda_update_ai_assistant_video_bindings","description":"Replace the videos bound to an AI assistant. Sends the FULL list of video_ids — existing bindings not in the list will be removed."},{"name":"panda_update_ai_assistant_chat_visibility","description":"Show or hide the AI chat widget on the video player"},{"name":"panda_delete_ai_assistant","description":"Delete an AI assistant"},{"name":"panda_generate_tutor_file_upload_url","description":"Generate a presigned URL to upload a PDF/file to a Tutor AI assistant. Returns upload_url and file_id. After uploading, call panda_confirm_tutor_file_upload."},{"name":"panda_confirm_tutor_file_upload","description":"Confirm that a file was successfully uploaded to a Tutor AI assistant (call after uploading to the presigned URL)"},{"name":"panda_delete_tutor_file","description":"Delete a file from a Tutor AI assistant"},{"name":"panda_add_tutor_videos","description":"Add videos to a Tutor AI assistant"},{"name":"panda_create_ai_dubbing","description":"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}."},{"name":"panda_delete_dubbing_audio","description":"Delete a dubbed audio track from a video"},{"name":"panda_get_referrals_summary","description":"Get referral program summary (balance, estimated value)"},{"name":"panda_get_credits_balance","description":"Get the current credits balance for the account. 1 credit = R$1."},{"name":"panda_get_credits_history","description":"Get credits transaction history for a date range. Returns {balance, history: [{id, type, amount, status, description, created_at}]}."},{"name":"panda_get_auto_recharge_settings","description":"Get auto-recharge configuration for credits. Returns {enabled, trigger_value, action_value}."}],"package":null,"toolSurface":{"id":"ts_x5rz6egrbv46","endpointId":"ep_dwq6ndks5s4k","hash":"3b70a03c2ff3aa7c9d31c80b0fca024a7445b43294019b3d4cd848cd703fd5f4","toolCount":177,"serverName":"panda-video-mcp","serverVersion":"2.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-06T10:30:03.253Z","lastSeenAt":"2026-10-12T14:30:40.717Z","observations":24,"toolNames":["panda_list_videos","panda_get_video","panda_update_video","panda_delete_videos","panda_move_videos","panda_duplicate_video","panda_reencode_video","panda_upload_video_from_url","panda_list_folders","panda_create_folder","panda_get_folder","panda_update_folder","panda_delete_folder","panda_list_playlists","panda_create_playlist","panda_get_playlist","panda_update_playlist","panda_delete_playlist","panda_get_playlist_videos","panda_add_videos_to_playlist","panda_remove_video_from_playlist","panda_list_profiles","panda_create_profile","panda_get_profile","panda_update_profile","panda_delete_profile","panda_apply_profile_to_videos","panda_list_lives","panda_create_live","panda_get_live","panda_finish_live","panda_delete_lives","panda_list_stream_keys","panda_create_stream_key","panda_get_live_viewers","panda_get_account_analytics","panda_get_video_analytics","panda_get_retention_analytics","panda_get_ranking_analytics","panda_get_realtime_analytics","panda_get_bandwidth_analytics","panda_list_funnels","panda_create_funnel","panda_get_funnel","panda_update_funnel","panda_delete_funnel","panda_add_videos_to_funnel","panda_remove_videos_from_funnel","panda_get_watermark_status","panda_enable_watermark","panda_disable_watermark","panda_list_watermark_groups","panda_create_watermark_group","panda_get_watermark_group","panda_update_watermark_group","panda_delete_watermark_group","panda_manage_drm_group_items","panda_get_thumbnails","panda_add_thumbnail","panda_add_pause_thumbnail","panda_add_end_thumbnail","panda_delete_thumbnail","panda_get_subtitles","panda_get_subtitle_by_language","panda_delete_subtitle","panda_generate_ai_subtitles","panda_update_subtitle_visibility","panda_download_subtitle","panda_get_videos_count","panda_get_custom_fields","panda_create_custom_field","panda_list_users","panda_create_user","panda_update_user","panda_delete_user","panda_request_download","panda_check_download_status","panda_list_shorts","panda_import_video_for_shorts","panda_list_short_segments","panda_delete_short","panda_save_segment_to_library","panda_list_ai_assistants","panda_get_ai_assistant","panda_create_ai_assistant","panda_get_ai_assistant_purchase_overview","panda_update_ai_assistant","panda_update_ai_assistant_video_bindings","panda_update_ai_assistant_chat_visibility","panda_delete_ai_assistant","panda_generate_tutor_file_upload_url","panda_confirm_tutor_file_upload","panda_delete_tutor_file","panda_add_tutor_videos","panda_create_ai_dubbing","panda_delete_dubbing_audio","panda_get_referrals_summary","panda_get_credits_balance","panda_get_credits_history","panda_get_auto_recharge_settings","panda_enable_auto_recharge","panda_update_auto_recharge","panda_disable_auto_recharge","panda_list_comparisons","panda_create_comparison","panda_start_comparison","panda_finish_comparison","panda_delete_comparisons","panda_get_player_config","panda_update_player_config","panda_get_video_player_config","panda_update_video_config","panda_set_video_offline","panda_add_cta","panda_update_cta","panda_delete_cta","panda_get_ai_workflows","panda_delete_ai_workflow","panda_get_subscription","panda_list_invoices","panda_list_plans","panda_list_subaccounts","panda_update_subaccount","panda_delete_subaccount","panda_transfer_credits","panda_help_search","panda_help_get_article","panda_get_business_rules","panda_list_refer","panda_list_refer_all","panda_list_folder_refer","panda_list_folder_refer_inherited","panda_create_refer","panda_create_folder_refer","panda_set_refer_status","panda_delete_refer","panda_delete_folder_refer","panda_update_folder_refer","panda_set_block_none_refer","panda_action_move_videos_by_folder","panda_action_delete_folder_videos","panda_action_reencode_folder_videos","panda_action_duplicate_folder_videos","panda_action_set_folder_videos_offline","panda_action_rename_folder","panda_action_create_folder_path","panda_action_create_playlist_from_folder","panda_action_add_folder_videos_to_playlist","panda_action_apply_profile_to_folder","panda_action_apply_video_config_to_folder","panda_action_configure_folder_profile","panda_action_set_folder_player_control","panda_action_generate_subtitles_for_folder","panda_action_set_default_subtitle_for_folder","panda_action_remove_subtitle_language_from_folder","panda_action_dub_folder_videos","panda_action_create_tutor_from_folder","panda_action_add_folder_videos_to_tutor","panda_action_enable_ai_package_for_folder","panda_action_folder_ai_status","panda_action_generate_shorts_from_folder","panda_action_set_custom_field_for_folder","panda_action_apply_watermark_group_to_folder","panda_action_create_watermark_group_for_folder","panda_action_add_folder_videos_to_funnel","panda_action_schedule_lives","panda_action_set_anti_download","panda_action_set_allowed_domains","panda_action_request_folder_downloads","panda_action_export_folder_analytics","panda_action_create_ab_test","panda_action_credit_preflight","panda_action_transfer_credits_to_subaccount","panda_action_provision_user","panda_action_create_review_link_for_folder","panda_action_set_webhook","panda_action_set_forms_integration"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_dwq6ndks5s4k","url":"https://mcp.pandavideo.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-11T20:23:39.680Z","auth":{"observedAt":"2026-10-11T20:23:39.865Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.pandavideo.com/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.pandavideo.com/mcp","authorizationServers":["https://mcp.pandavideo.com"],"scopesSupported":["videos:read","videos:write"]},"authorizationServer":{"url":"https://mcp.pandavideo.com/.well-known/oauth-authorization-server","issuer":"https://mcp.pandavideo.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-11T20:23:40.116Z","protocol":"TLSv1.2","chainValid":true,"chainError":null,"hostMatches":true,"subject":"pandavideo.com","issuer":{"commonName":"Amazon RSA 2048 M01","organization":"Amazon"},"validFrom":"2026-08-27T00:00:00.000Z","validTo":"2027-03-12T23:59:59.000Z","daysToExpiry":151,"sanCount":2,"fingerprint256":"53:0B:45:83:6D:80:01:D8:0F:B8:20:11:FD:B6:0D:40:35:3D:85:41:BB:41:D3:01:79:A7:49:B9:DB:84:3F:45"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.pandavideo/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/com.pandavideo%2Fmcp","firstSeenAt":"2026-10-06T10:23:17.359Z","fetchedAt":"2026-10-12T06:21:36.595Z","normalizedAt":"2026-10-12T06:21:36.595Z"}]},"firstSeenAt":"2026-10-06T10:23:17.359Z","updatedAt":"2026-10-12T14:32:46.793Z"}