Skip to main content
Glama

Update Player Config

panda_update_player_config
DestructiveIdempotent

Update the account's GLOBAL player (dashboard page Player): controls, colors, theme, caption color/background/size, resume from last position, gear-menu items, menu language and time display. Applies to every video WITHOUT a player profile — including videos uploaded later (they are born without a profile). Send only what changes; the rest is kept. Speed, autoplay and VSL options are NOT global: they live in each video's profile (panda_update_profile / panda_action_configure_folder_profile). Panda branding is not changed here (Settings → Panda Partner). Returns the saved config.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "panda_update_player_config"
  }
}

Input Schema

NameRequiredDescriptionDefault
themeNoPlayer theme
controlsNoCOMPLETE list of player controls (replaces the current one)
captionsSizeNoCaption font size by the dashboard name: extra_small (10px), small (12px), normal (14px, default), large (16px), extra_large (18px). Use the user's word ('legenda grande' / 'large captions' → large).
primaryColorNoPrimary accent color (#RRGGBB)
saveProgressNoResume from where the viewer stopped (continuar de onde parou)
captionsColorNoCaption text color (#RRGGBB or #RRGGBBAA)
controlsColorNoControls color (#RRGGBB)
defaultLanguageNoLanguage of the player menus (auto = viewer's browser)
timeDisplayTypeNoTime shown in the control bar: current, remaining, or current/total
settingsControlsNoShow/hide items of the gear (settings) menu — send only the items that change. With the captions button on, caption language stays on; all items off removes the settings button; turning one on brings it back.
captionsBackgroundColorNoCaption background color (#RRGGBB or #RRGGBBAA)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changed
    • addedInput schema / properties / captionsBackgroundColor
      Added value: +{
      +  "$ref": "#/properties/primaryColor",
      +  "description": "Caption background color (#RRGGBB or #RRGGBBAA)"
      +}
    • addedInput schema / properties / captionsColor
      Added value: +{
      +  "$ref": "#/properties/primaryColor",
      +  "description": "Caption text color (#RRGGBB or #RRGGBBAA)"
      +}
    • addedInput schema / properties / captionsSize
      Added value: +{
      +  "description": "Caption font size by the dashboard name: extra_small (10px), small (12px), normal (14px, default), large (16px), extra_large (18px). Use the user's word ('legenda grande' / 'large captions' → large).",
      +  "enum": [
      +    "extra_small",
      +    "small",
      +    "normal",
      +    "large",
      +    "extra_large"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / config
      Removed value: -{
      -  "additionalProperties": {},
      -  "description": "Global player config object (controls, colors, vsl, saveProgress, general)",
      -  "type": "object"
      -}
    • addedInput schema / properties / controls
      Added value: +{
      +  "description": "COMPLETE list of player controls (replaces the current one)",
      +  "items": {
      +    "enum": [
      +      "play-large",
      +      "rewind",
      +      "play",
      +      "fast-forward",
      +      "progress",
      +      "current-time",
      +      "volume",
      +      "captions",
      +      "settings",
      +      "pip",
      +      "fullscreen",
      +      "airplay",
      +      "cast"
      +    ],
      +    "type": "string"
      +  },
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / controlsColor
      Added value: +{
      +  "$ref": "#/properties/primaryColor",
      +  "description": "Controls color (#RRGGBB)"
      +}
    • addedInput schema / properties / defaultLanguage
      Added value: +{
      +  "description": "Language of the player menus (auto = viewer's browser)",
      +  "enum": [
      +    "auto",
      +    "pt",
      +    "en",
      +    "es"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / primaryColor
      Added value: +{
      +  "description": "Primary accent color (#RRGGBB)",
      +  "pattern": "^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
      +  "type": "string"
      +}
    • addedInput schema / properties / saveProgress
      Added value: +{
      +  "description": "Resume from where the viewer stopped (continuar de onde parou)",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / settingsControls
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Show/hide items of the gear (settings) menu — send only the items that change. With the captions button on, caption language stays on; all items off removes the settings button; turning one on brings it back.",
      +  "properties": {
      +    "captionsLanguage": {
      +      "description": "Caption language item",
      +      "type": "boolean"
      +    },
      +    "dubbing": {
      +      "description": "Dubbing (audio track) item",
      +      "type": "boolean"
      +    },
      +    "quality": {
      +      "description": "Quality item",
      +      "type": "boolean"
      +    },
      +    "speed": {
      +      "description": "Speed item",
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / theme
      Added value: +{
      +  "description": "Player theme",
      +  "enum": [
      +    "auto",
      +    "dark",
      +    "light"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / timeDisplayType
      Added value: +{
      +  "description": "Time shown in the control bar: current, remaining, or current/total",
      +  "enum": [
      +    "CURRENT_TIME",
      +    "REMAINING_TIME",
      +    "CURRENT_TOTAL_TIME"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "config"
      -]
  2. First observed

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true, idempotentHint=true, but the description adds essential context the annotations cannot: the blast radius ('applies to every video WITHOUT a player profile — including videos uploaded later'), patch semantics ('send only what changes; the rest is kept'), and the return value. It does not discuss reversibility or permissions, which is the remaining gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the scope statement and the exclusion list, with no filler. It is dense for a single paragraph running several clauses, but each clause carries routing or behavioral information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, yet the description says it returns the saved config, covers patch semantics, scope of effect across future videos, and where the excluded settings live. An agent has enough to call this correctly without consulting siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds value by framing which settings are global and explicitly excluding speed, autoplay and VSL, and it describes caption size/color/background and gear-menu items in domain language that helps map a user request to parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('update the account's GLOBAL player') and immediately scopes it: everything about the dashboard player except per-video settings. It explicitly distinguishes itself from panda_update_profile and panda_action_configure_folder_profile, so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternatives and the condition that selects them: speed/autoplay/VSL live in each video's profile via panda_update_profile / panda_action_configure_folder_profile, and branding is changed in Settings → Panda Partner instead. It also states which videos are affected (all without a profile, including future uploads).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.