Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Panda Video

REMOTE · MCP.PANDAVIDEO.COM

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

+3 this week 92 Trust /100

Last scanned (14 hours ago)

Scores higher than 99% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security89
Transport & Reachability100
Schema Quality & AI Usability80
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 27581 tokens (~126/item across 218 items; 216 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management99
  • Stability check failed: schema churn in the 30 days we've observed: 0 tool removals, 2 breaking changes, 0 auth/transport breaks, 39 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 29 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 217 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
What we tested

Checks we ran (13)

  • TLS certificate
  • Authorization
  • HTTPS
  • HSTS header
  • DNSSEC
  • Transport
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Does not apply to this hosted endpoint (2)

  • Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
  • Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.

The score does not measure everything. What the score does not measure →

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1
    • Tool “panda_action_dub_folder_videos” rewrote its description, which is the text the model reads security
    • Tool “panda_create_ai_dubbing” rewrote its description, which is the text the model reads security
    • “panda_action_dub_folder_videos” reworded the description of “mode” cosmetic
    • “panda_create_ai_dubbing” reworded the description of “is_lipsync” cosmetic
  • 4 Nov 26 0
    • Tool “panda_add_videos_to_funnel” rewrote its description, which is the text the model reads security
    • Tool “panda_delete_funnel” rewrote its description, which is the text the model reads security
    • Tool “panda_get_business_rules” rewrote its description, which is the text the model reads security
    • Tool “panda_help_search” rewrote its description, which is the text the model reads security
    • Tool “panda_remove_videos_from_funnel” rewrote its description, which is the text the model reads security
  • 3 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 89 to 93.

  • 31 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 79 to 83.

  • 30 Oct 26 0
    • New tool “panda_delete_ai_resource”, which the server declares destructive security
    • New tool “panda_regenerate_ai_resource”, which the server declares destructive security
    • New tool “panda_update_ai_resource”, which the server declares destructive security
    • Tool “panda_action_credit_preflight” rewrote its description, which is the text the model reads security
    • Tool “panda_action_enable_ai_package_for_folder” rewrote its description, which is the text the model reads security
    • Tool “panda_delete_ai_workflow” rewrote its description, which is the text the model reads security
    • Tool “panda_get_ai_workflows” rewrote its description, which is the text the model reads security
    • Tool “panda_get_videos_ai_resources” rewrote its description, which is the text the model reads security
    • Schema quality: 24596 → 27392 ▼ functional
    • New tool “panda_confirm_ai_ebook_pdf” functional
    • New tool “panda_create_ai_resource” functional
    • New tool “panda_generate_ai_resource” functional
    • New tool “panda_get_ai_ebook_images” functional
    • New tool “panda_get_ai_ebook_upload_url” functional
    • New tool “panda_get_ai_resource_content” functional
    • New tool “panda_list_ai_works” functional
    • New tool “panda_set_ai_resource_download” functional
    • “panda_action_enable_ai_package_for_folder” added an optional parameter “resources” cosmetic
    • “panda_action_enable_ai_package_for_folder” added an optional parameter “to_langs” cosmetic
    • “panda_action_credit_preflight” reworded the description of “target_langs” cosmetic
    • “panda_action_enable_ai_package_for_folder” reworded the description of “dry_run” cosmetic
    • “panda_action_enable_ai_package_for_folder” reworded the description of “from_lang” cosmetic
  • 29 Oct 26 +1
    • New tool “panda_encrypt_videos”, which the server declares destructive security
    • New tool “panda_set_exclusive_playback”, which the server declares destructive security
    • New tool “panda_set_new_uploads_encryption”, which the server declares destructive security
    • New tool “panda_update_library_qualities”, which the server declares destructive security
    • Tool “panda_action_reencode_folder_videos” rewrote its description, which is the text the model reads security
    • Tool “panda_action_set_allowed_domains” rewrote its description, which is the text the model reads security
    • Tool “panda_action_set_anti_download” rewrote its description, which is the text the model reads security
    • Tool “panda_reencode_video” rewrote its description, which is the text the model reads security
    • Tool “panda_set_block_none_refer” rewrote its description, which is the text the model reads security
    • Tool “panda_update_folder_refer” rewrote its description, which is the text the model reads security
    • Tool “panda_reencode_video” is now declared destructive security
    • New tool “panda_get_exclusive_playback” functional
    • New tool “panda_get_hls_encryption_batches” functional
    • New tool “panda_get_library_qualities” functional
    • New tool “panda_get_new_uploads_encryption” functional
    • New tool “panda_list_hls_encrypted_videos” functional
    • “panda_action_reencode_folder_videos” reworded the description of “compression_mode” cosmetic
    • “panda_action_set_allowed_domains” reworded the description of “block_none_refer” cosmetic
    • “panda_reencode_video” reworded the description of “compression_mode” cosmetic
    • “panda_set_block_none_refer” reworded the description of “block_none_refer” cosmetic
    • Tool “panda_set_block_none_refer” changed its title: Toggle Block-No-Referer Policy → Turn Domain Protection On/Off cosmetic
  • 28 Oct 26 0
    • New tool “panda_remove_tutor_video”, which the server declares destructive security
    • Tool “panda_action_add_folder_videos_to_tutor” rewrote its description, which is the text the model reads security
    • Tool “panda_add_tutor_videos” rewrote its description, which is the text the model reads security
    • Tool “panda_update_ai_assistant_video_bindings” rewrote its description, which is the text the model reads security
    • Tool “panda_update_ai_assistant_video_bindings” no longer declares itself destructive security
    • “panda_add_tutor_videos” added an optional parameter “lang” cosmetic
    • “panda_update_ai_assistant_video_bindings” reworded the description of “lang” cosmetic
    • “panda_update_ai_assistant_video_bindings” reworded the description of “video_ids” cosmetic
  • 27 Oct 26 0
    • New tool “panda_cancel_partial_deletion”, which the server declares destructive security
    • New tool “panda_request_partial_deletion”, which the server declares destructive security
    • New tool “panda_update_sign_language_display”, which the server declares destructive security
    • Tool “panda_action_apply_profile_to_folder” rewrote its description, which is the text the model reads security
    • Tool “panda_action_dub_folder_videos” rewrote its description, which is the text the model reads security
    • Tool “panda_action_request_folder_downloads” rewrote its description, which is the text the model reads security
    • Tool “panda_check_download_status” rewrote its description, which is the text the model reads security
    • Tool “panda_create_ai_dubbing” rewrote its description, which is the text the model reads security
    • Tool “panda_get_folder” rewrote its description, which is the text the model reads security
    • Tool “panda_request_download” rewrote its description, which is the text the model reads security
    • New tool “panda_get_videos_ai_resources” functional
    • New tool “panda_get_videos_status” functional
    • New tool “panda_list_partial_deletions” functional
    • “panda_get_folder” added an optional parameter “limit” cosmetic
    • “panda_get_folder” added an optional parameter “page” cosmetic
    • “panda_action_dub_folder_videos” reworded the description of “from_lang” cosmetic
    • “panda_action_dub_folder_videos” reworded the description of “mode” cosmetic
    • “panda_action_request_folder_downloads” reworded the description of “language” cosmetic
    • “panda_action_request_folder_downloads” reworded the description of “quality” cosmetic
    • “panda_check_download_status” reworded the description of “language” cosmetic
    • “panda_check_download_status” reworded the description of “quality” cosmetic
    • “panda_create_ai_dubbing” reworded the description of “from_lang” cosmetic
    • “panda_create_ai_dubbing” reworded the description of “is_lipsync” cosmetic
    • “panda_create_ai_dubbing” reworded the description of “replace_existing_subtitles” cosmetic
    • “panda_request_download” reworded the description of “language” cosmetic
    • “panda_request_download” reworded the description of “quality” cosmetic
    • “panda_create_ai_dubbing” made “from_lang” optional cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://mcp.pandavideo.com/mcp

TLS valid

Negotiated TLS 1.2 with TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.pandavideo.com CN=Amazon RSA 2048 M01,O=Amazon,C=US 22 Oct 2026 7 May 2027 RSA 2048 SHA256-RSA a6b4f4ff4ff56832987356f0d55e10a
SANs: *.pandavideo.com
CN=Amazon RSA 2048 M01,O=Amazon,C=US (CA) CN=Amazon Root CA 1,O=Amazon,C=US 23 Aug 2022 23 Aug 2030 RSA 2048 SHA256-RSA 77312380b9d6688a33b1ed9bf9ccda68e0e0f
CN=Amazon Root CA 1,O=Amazon,C=US (CA) CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US 25 May 2015 31 Dec 2037 RSA 2048 SHA256-RSA 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.pandavideo.com. — Not signed

Zone DS Keys Algorithms Outcome
. Trust anchor 20326, 38696 8, 8 Verified
com. DS published 19718 13 Verified
pandavideo.com. No DS Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://mcp.pandavideo.com/.well-known/oauth-protected-resource/mcp", scope="videos:read videos:write"

Bearer resource_metadata="https://mcp.pandavideo.com/.well-known/oauth-protected-resource/mcp", scope="videos:read videos:write"

Protected resource metadata

Document https://mcp.pandavideo.com/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://mcp.pandavideo.com/mcp
Authorisation server https://mcp.pandavideo.com

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.pandavideo.com/mcp Verified 200
http (plaintext) http://mcp.pandavideo.com/mcp HTTPS enforced 301 https://mcp.pandavideo.com:443/mcp
MCP tools · 216 exposed · ~27,542 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
panda_get_account_analytics ~64

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

NameTypeReqDescription
end_date––End date (YYYY-MM-DD)
start_datestring–Start date (YYYY-MM-DD)

No output schema declared.

No examples provided.

panda_get_ai_assistant ~55

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

NameTypeReqDescription
assistant_idstringyesAI assistant ID

No output schema declared.

No examples provided.

panda_get_ai_assistant_purchase_overview ~46

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

NameTypeReqDescription
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_get_ai_ebook_images ~113

Images generated with AI in the dashboard's eBook editor for one eBook × language, with their status (QUEUED, PROCESSING, SUCCESS, ERROR), and how many free images that eBook still has (5 free per eBook × language, then 1 credit each). Generating images is done in the dashboard editor. Read-only.

NameTypeReqDescription
langstringyesLanguage of the eBook, e.g. 'pt-BR'
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_get_ai_ebook_upload_url ~223

Get a temporary upload URL (valid 1 hour) to send a file of the eBook: kind=pdf — your own PDF as the eBook of a language that has no eBook yet (up to 15 MB); kind=logo — a PNG/JPEG logo for the eBook (up to 5 MB). The URL is a credential: don't show or share it. Send the file with an HTTP PUT to upload_url with the Content-Type header exactly as returned. Then: PDF → panda_confirm_ai_ebook_pdf; logo → pass logo_key in ebook_config of panda_update_ai_resource (existing eBook) or panda_generate_ai_resource. Your client must be able to send files over HTTP; otherwise use the dashboard (Video Settings → Panda AI → eBook).

NameTypeReqDescription
content_typestring–logo: file type
kindstringyespdf or logo
langstring–pdf: language of the eBook. Default: the video's language
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_get_ai_resource_content ~191

Read the CONTENT of one AI package resource of a video in one language: the quiz questions and options (correct ones marked) and its options, the mind map topics, or the eBook cover, style and chapters (with `chapter`, that chapter's text; the whole text when short). Also says whether the resource can be edited (legacy = generated by the old package, not editable; uploaded PDF eBook = no content). Read-only. Use before panda_update_ai_resource. To list which resources a video has use panda_get_videos_ai_resources.

NameTypeReqDescription
chapterinteger–eBook only: chapter number whose text to return
langstring–Language of the resource, e.g. 'en'. Default: the only one, else the video's language
resourcestringyesebook, mindmap or quiz
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_get_ai_workflows ~90

Get every AI work of a video (subtitles, translation, dubbing, eBook=ABSTRACT, mind map=MINDMAP, quiz=QUESTIONS) with status (QUEUE, RUNNING, FINISHED, ERROR, SKIPPED). For the whole account or a folder, page by page, use panda_list_ai_works.

NameTypeReqDescription
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_get_auto_recharge_settings ~30

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_get_bandwidth_analytics ~109

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

NameTypeReqDescription
end_date––End date (YYYY-MM-DD)
start_datestring–Start date (YYYY-MM-DD)
typestring–Traffic type — 'all' (regular, required by the API) or 'drm'
video_idstring–Video ID (omit for folder-level)

No output schema declared.

No examples provided.

panda_get_best_times ~205

Which weekday and 2-hour slot the audience of the WHOLE account plays the most (or sees the player the most) in a period — "best time to publish". Weekday × 2-hour slot grid, summed over the period — the same grid as the dashboard heatmap (Analytics → Best times), with the hours exactly as Panda analytics stores them. Returns {start_date, end_date, metric, best_slots: [{weekday, hours, total}] (top 10), by_weekday, by_hours}. For specific videos or a folder use panda_get_best_times_by_videos.

NameTypeReqDescription
end_date––End date (YYYY-MM-DD). Default: today.
metricstring–'plays' = unique plays (dashboard default) or 'impressions' = unique player views
start_datestring–Start date (YYYY-MM-DD). Default: 30 days ago — always sent, since the API returns partial data without it.

No output schema declared.

No examples provided.

panda_get_best_times_by_videos ~286

Which weekday and 2-hour slot the audience of specific videos (or of every video in a folder) plays the most in a period. Weekday × 2-hour slot grid, summed over the period — the same grid as the dashboard heatmap (Analytics → Best times), with the hours exactly as Panda analytics stores them. An end_date of today counts only up to yesterday (the API clamps it). Returns {scope, start_date, end_date, metric, videos_count, best_slots: [{weekday, hours, total}] (top 10), by_weekday, by_hours, warnings}.

NameTypeReqDescription
end_date––End date (YYYY-MM-DD). Default: today.
folder_idstring–Folder ID: uses every video in the folder (up to 5000). Use this OR video_external_ids.
metricstring–'plays' = unique plays (dashboard default) or 'impressions' = unique player views
start_datestring–Start date (YYYY-MM-DD). Default: 30 days ago — always sent, since the API returns partial data without it.
video_external_idsarray–video_external_id of each video (field `video_external_id` from panda_list_videos / panda_get_video — NOT the `id`). Max 2000. Use this OR folder_id.

No output schema declared.

No examples provided.

panda_get_business_rules ~188

Returns the platform business rules: the real consequences of actions that modify, delete or move resources (e.g., deleting a folder or a funnel sends the videos inside to the trash for 30 days). Useful before planning such actions, so the advice given to the user matches how the platform actually behaves. Domains: funnels, videos_and_folders, video_upload, embed_and_share, player_settings, cta_interactions, playlists, drm_watermark, comparisons_ab_tests, lives, shorts, anti_download_and_domains, credits, thumbnails_and_subtitles, trash_and_recovery, analytics, tutor_ai_assistant, webhooks, review_timeline, subaccounts, billing_and_plans, member_get_member, organization_and_accounts.

NameTypeReqDescription
domainstring–Filter by domain (e.g. 'funnels', 'playlists', 'drm_watermark'). Omit to get ALL rules.

No output schema declared.

No examples provided.

panda_get_credits_balance ~28

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_get_credits_history ~68

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

NameTypeReqDescription
end_date––End date (YYYY-MM-DD)
start_datestring–Start date (YYYY-MM-DD)

No output schema declared.

No examples provided.

panda_get_custom_fields ~41

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

NameTypeReqDescription
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_get_exclusive_playback ~32

Whether Exclusive Playback is on (on-demand videos only play in the Panda Player). Returns {status}.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_get_folder ~154

Get a folder's details and one page of its videos. Returns {id, name, parent_folder_id, status, videos: [...], pagination: {page, limit, total_count, total_pages, has_next, has_prev}}. Only videos directly in this folder; subfolders are not included (use panda_list_folders). To list every video of a large folder, keep calling with page+1 while pagination.has_next is true. Default 20 videos per page, max 20.

NameTypeReqDescription
folder_idstringyesFolder ID
limitinteger–Videos per page (default: 20, max: 20)
pageinteger–Page of videos (default: 1)

No output schema declared.

No examples provided.

panda_get_funnel ~57

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

NameTypeReqDescription
funnel_idstringyesFunnel ID

No output schema declared.

No examples provided.

panda_get_hls_encryption_batches ~116

Progress of encryption batches started with panda_encrypt_videos. With idempotency_key: that batch; without it: every batch not finished yet (including failed videos). Each video: {video_id, status, state, updated_at}; state is pending, in_progress, processed, failed or cancelled. estimated_completion_minutes estimates the whole encryption queue (all accounts), not only your batch, and may be 0 when unknown.

NameTypeReqDescription
idempotency_keystring–Batch ID returned by panda_encrypt_videos

No output schema declared.

No examples provided.

panda_get_library_qualities ~135

The account's quality settings (dashboard: Settings > Qualities). Returns {encoding, playback, compression_mode, compression_label, keep_original_files}: encoding = "Conversão de Novos Uploads" (qualities new uploads are converted to); playback = "Reprodução de Todos Vídeos" (qualities the player offers, on every video, when converted in that quality); compression_mode = "Compressão de Novos Uploads", shown as compression_label (size = Econômica, balanced = Equilibrada, quality = Maior qualidade); keep_original_files = "Backup do Arquivo Original de Novos Uploads".

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_get_live ~118

Get details of a specific live stream. Returns {id, title, status, scheduled_at, stream_key, rtmp, live_hls, created_at}. Status: provisioning (channel starting), offline (waiting for signal or scheduled), online, finishing, finished, finished_imported (recording became a video), expired (no signal in time; can be regenerated). stream_key is a secret credential: show it only when the user asks for it (e.g. to set up OBS).

NameTypeReqDescription
live_idstringyesLive ID

No output schema declared.

No examples provided.

panda_get_live_viewers ~37

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

NameTypeReqDescription
live_idstringyesLive ID

No output schema declared.

No examples provided.

panda_get_new_uploads_encryption ~39

Whether new uploads are encrypted automatically (Encrypted Anti-Download / HLS encryption for future videos). Returns {library_id, status}.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_get_plan_usage ~125

Get the current billing cycle usage and plan limits. Returns {start_period, end_period, plan_name, is_trial, storage, storage_plan, traffic, traffic_plan (all MB), play, play_plan, live, live_plan, live_count}. live = live minutes used this cycle (whole account, all regions); live_plan = free live minutes informed in the plan; live_count = lives in the cycle. Live minutes above live_plan are billed per minute by region and quality: see panda_get_subscription → addons.live. Trial accounts (is_trial) cannot create lives.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_get_player_config ~25

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_get_playlist ~48

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

NameTypeReqDescription
playlist_idstringyesPlaylist ID

No output schema declared.

No examples provided.

panda_get_playlist_videos ~49

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

NameTypeReqDescription
playlist_idstringyesPlaylist ID

No output schema declared.

No examples provided.

panda_get_profile ~76

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

NameTypeReqDescription
profile_idstringyesProfile ID

No output schema declared.

No examples provided.

panda_get_ranking_analytics ~74

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

NameTypeReqDescription
end_date––End date (YYYY-MM-DD)
start_datestring–Start date (YYYY-MM-DD)

No output schema declared.

No examples provided.

panda_get_realtime_analytics ~79

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_get_referrals_summary ~21

Get referral program summary (balance, estimated value)

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_get_retention_analytics ~95

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

NameTypeReqDescription
end_date––End date (YYYY-MM-DD)
start_datestring–Start date (YYYY-MM-DD)
video_idstring–Video ID — the `id` field from panda_list_videos, NOT video_external_id (omit for account-wide)

No output schema declared.

No examples provided.

panda_get_subscription ~74

Get current subscription/plan details. Returns {subscription_id, subscriptions: {name, status, active}, currency, addons}. addons.live lists live minutes billed above the plan's free minutes, per region and quality (quantity in minutes, unit_amount in cents); the plan's max live quality is subscriptions.metadata.live_max_quality.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_get_subtitle_by_language ~52

Get a subtitle file for a specific language

NameTypeReqDescription
srclangstringyesLanguage code (e.g. pt-BR, en, es)
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_get_subtitles ~28

Get all subtitle information for a video

NameTypeReqDescription
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_get_thumbnails ~103

Get the cover (start thumbnail) of a video. Returns {response: {active, default}}: active = the uploaded cover in use (absent when none was uploaded), default = the automatic thumbnails generated from the video. Pause and end thumbnails are NOT listed here — they are CTAs in the video's player config (panda_get_video_player_config → ctas with type 'pause' / 'end').

NameTypeReqDescription
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_get_unwatched_videos ~196

List the account's videos that had NO access at all in a period (the inverse of the ranking). Whole account only. Only videos that already existed on start_date are considered. Returns {start_date, end_date, data: [{id, video_external_id, title, created_at}], pagination: {limit, offset, total_unwatched, has_more}, coverage: {partial_coverage, missing_days}} — when partial_coverage is true, a listed video may have had access on the missing days.

NameTypeReqDescription
end_date––End date (YYYY-MM-DD). Default: today.
limitinteger–Videos per page (default 50, max 500)
offsetinteger–Pagination offset (default 0)
start_datestring–Start date (YYYY-MM-DD). Default: 30 days ago — always sent, since the API returns partial data without it.

No output schema declared.

No examples provided.

panda_get_video ~59

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

NameTypeReqDescription
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_get_video_analytics ~89

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

NameTypeReqDescription
end_date––End date (YYYY-MM-DD)
start_datestring–Start date (YYYY-MM-DD)
video_idstringyesVideo ID — the `id` field from panda_list_videos, NOT video_external_id

No output schema declared.

No examples provided.

panda_get_video_player_config ~49

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

NameTypeReqDescription
video_idstringyesVideo ID

No output schema declared.

No examples provided.

panda_get_videos_ai_resources ~167

Which AI Package resources (e.g. eBook, quiz, mind map; one entry per type and language) up to 100 videos already have, in one call. Subtitles and dubbing are not included. Each item: {id, ai_resources: [{type, srclang}]} (type: abstract = eBook, mindmap, questions = quiz). A video that only has resources from the old AI package (legacy) comes back with an empty list here; panda_get_ai_resource_content shows them. No titles (use panda_get_video or panda_list_videos). IDs that don't exist or aren't yours come back in not_found. Returns {videos, not_found}.

NameTypeReqDescription
video_idsarrayyesVideo IDs (1–100, no repeats)

No output schema declared.

No examples provided.

panda_get_videos_count ~31

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_get_videos_status ~103

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

NameTypeReqDescription
video_idsarrayyesVideo IDs (1–100, no repeats)

No output schema declared.

No examples provided.

panda_get_viewers_by_videos ~288

Who watched specific videos (or any video of a folder) in a period: distinct viewers, identified by IP. The IP is returned MASKED (a.b.x.x) — the full list is in the dashboard (Analytics → Users). The selection only chooses WHICH viewers appear: each viewer's metrics (play, view, watch_time) cover the whole account, not only these videos. Returns {scope, start_date, end_date, total_viewers, viewers: [{viewer_ip, play, view, unique_play, unique_view, watch_time_seconds, videos_watched}] (most plays first), warnings}.

NameTypeReqDescription
end_date––End date (YYYY-MM-DD). Default: today.
folder_idstring–Folder ID: uses every video in the folder (up to 5000). Use this OR video_external_ids.
limitinteger–How many viewers to list (default 50, max 500); total_viewers counts all
start_datestring–Start date (YYYY-MM-DD). Default: 30 days ago — always sent, since the API returns partial data without it.
video_external_idsarray–video_external_id of each video (field `video_external_id` from panda_list_videos / panda_get_video — NOT the `id`). Max 2000. Use this OR folder_id.

No output schema declared.

No examples provided.

panda_get_watermark_group ~47

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

NameTypeReqDescription
drm_group_idstringyesWatermark group ID

No output schema declared.

No examples provided.

panda_get_watermark_status ~30

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

panda_help_get_article ~70

Get the full content of a specific Panda Video help center article by slug. Use this after searching to read the complete content of an article. The response is the full official documentation.

NameTypeReqDescription
slugstringyesArticle slug (e.g. 'como-publicar-seu-video-na-panda-video')

No output schema declared.

No examples provided.

panda_help_search ~150

Search Panda Video help center articles to answer user questions. Searches through ALL 146 pre-indexed articles from the official help center (https://help.pandavideo.com/pt-br/). Use this tool whenever the user has a QUESTION about how Panda Video works, pricing, features, integrations, configuration, etc. DO NOT use this for API execution commands — only for knowledge/support questions. IMPORTANT: Base your answer EXCLUSIVELY on the article content returned. Do NOT infer, assume, or use external knowledge.

NameTypeReqDescription
limitnumber–Max articles to return (default 5, max 20)
querystringyesThe user's question or search keywords about Panda Video

No output schema declared.

No examples provided.

panda_import_video_for_shorts ~252

Import a video for AI shorts generation. Sources: library (video_id), youtube (source_url). Default config: vertical aspect, 30-60s duration, no captions. Video must be CONVERTED, 5min-5hrs, <50GB, no DRM.

NameTypeReqDescription
aspect_ratiostring–Output format (default: vertical)
contextsarray–AI context hints: 'engajamento','educacional','humor','motivacional','personalizado'
duration_presetstring–Clip duration range in seconds (default: 30-60)
end_timenumber–End time in seconds to clip to (default: full video)
source_typestringyesSource: 'library' for Panda video, 'youtube' for YouTube URL
source_urlstring–YouTube URL (required when source_type=youtube)
start_timenumber–Start time in seconds to clip from (default: 0)
video_idstring–Video ID from Panda library (required when source_type=library)
video_titlestring–Title for the project (defaults to 'Shorts Project')

No output schema declared.

No examples provided.

panda_list_ai_assistants ~72

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

NameTypeReqDescription
limitinteger–Results per page (default: 25, max: 100)
pageinteger–Page number (default: 1)

No output schema declared.

No examples provided.

Install

How do I install the Panda Video MCP server?

Panda Video is a hosted endpoint at https://mcp.pandavideo.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.pandavideo.com

# add to Claude Code
claude mcp add --transport http com-pandavideo-mcp 'https://mcp.pandavideo.com/mcp'
Common questions

What is the Panda Video MCP server?

Panda Video is an MCP server listed in the public MCP registry as com.pandavideo/mcp. Video hosting: upload, organize and configure videos, analytics, AI subtitles and Shorts. This page covers its hosted endpoint (https://mcp.pandavideo.com/mcp).

Is the Panda Video MCP server safe to use?

Panda Video scores 92 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Panda Video MCP server expose?

Panda Video exposes 216 tools: panda_list_videos, panda_get_video, panda_update_video, panda_delete_videos, panda_get_videos_status, and 211 more. Their descriptions and schemas cost roughly 27,542 tokens of context every time the server is loaded.

Does the Panda Video MCP server require authentication?

Yes. Panda Video asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Panda Video MCP server still maintained?

Panda Video is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What did VerifyMCP test on the Panda Video MCP server?

VerifyMCP ran 13 checks on Panda Video, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.