Skip to main content
Glama

request_media

Request movies or TV series in Overseerr with auto-confirmation for short seasons and explicit confirmation for longer series. Validates existing requests and supports single, batch, and 4K requests.

Instructions

Request media with auto-confirm for TV ≤24 eps. Single/batch with validation. Confirm: Movies auto | TV ≤24 eps auto | TV >24 eps needs confirmed:true TV needs seasons (array or "all"). "all"=no specials; [0,1,2]=with specials

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
is4kNoRequest 4K
itemsNoBatch items
dryRunNoPreview only
mediaIdNoTMDB ID (single)
seasonsNoTV seasons. "all"=no season 0 (specials); [0,1,2]=with specials
serverIdNo
confirmedNoConfirm multi-season
mediaTypeNoMedia type (single)
profileIdNo
rootFolderNo
validateFirstNoCheck existing requests and availability. TV checks only requested seasons and skips covered seasons.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.3.1
    • changedInput schema / properties / validateFirst / description
      Previous value: -"Check existing"New value: +"Check existing requests and availability. TV checks only requested seasons and skips covered seasons."
  2. Addedv2.1.3
  3. Removedv2.1.2
  4. Changed12 schema fields changedv1.0.0
    • addedInput schema / properties / confirmed
      Added value: +{
      +  "default": false,
      +  "description": "Confirm multi-season",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / dryRun
      Added value: +{
      +  "default": false,
      +  "description": "Preview only",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / is4k / description
      Previous value: -"Request 4K version (default: false)"New value: +"Request 4K"
    • addedInput schema / properties / items
      Added value: +{
      +  "description": "Batch items",
      +  "items": {
      +    "properties": {
      +      "is4k": {
      +        "type": "boolean"
      +      },
      +      "mediaId": {
      +        "type": "number"
      +      },
      +      "mediaType": {
      +        "enum": [
      +          "movie",
      +          "tv"
      +        ],
      +        "type": "string"
      +      },
      +      "seasons": {
      +        "description": "TV seasons (REQUIRED). \"all\"=no season 0 (specials); [0,1,2]=with specials",
      +        "oneOf": [
      +          {
      +            "items": {
      +              "type": "number"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "enum": [
      +              "all"
      +            ],
      +            "type": "string"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "mediaType",
      +      "mediaId"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / mediaId / description
      Previous value: -"TMDB ID of the media"New value: +"TMDB ID (single)"
    • changedInput schema / properties / mediaType / description
      Previous value: -"Type of media to request"New value: +"Media type (single)"
    • removedInput schema / properties / profileId / description
      Removed value: -"Quality profile ID (optional)"
    • removedInput schema / properties / rootFolder / description
      Removed value: -"Root folder path (optional)"
    • changedInput schema / properties / seasons / description
      Previous value: -"For TV shows: array of season numbers or \"all\" (optional)"New value: +"TV seasons. \"all\"=no season 0 (specials); [0,1,2]=with specials"
    • removedInput schema / properties / serverId / description
      Removed value: -"Specific server ID (optional)"
    • addedInput schema / properties / validateFirst
      Added value: +{
      +  "default": true,
      +  "description": "Check existing",
      +  "type": "boolean"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "mediaType",
      -  "mediaId"
      -]
  5. First observed

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It does disclose the auto-confirm thresholds and the season/specials semantics. However, it omits side effects, return values, permissions, and what 'validation' actually checks or does, leaving a meaningful transparency gap.

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

Conciseness5/5

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

Three dense sentences front-load the purpose and then provide the confirmation rules and season semantics. There is no filler; every clause conveys a constraint or a meaningful alternative.

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

Completeness3/5

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

The tool has 11 parameters and no annotations or output schema, yet the description omits several parameters (serverId, profileId, rootFolder) and any response/error behavior. The core auto-confirm logic is well covered, but an agent still lacks full context for confident invocation in all cases.

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 73%, so the schema already documents most parameters. The description adds real semantic value by tying 'confirmed:true' to episode-count thresholds and explaining how 'all' vs an array affects specials in TV requests, which goes beyond the schema's parameter descriptions.

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?

The description names the operation clearly: 'Request media' with specific auto-confirm behavior for TV ≤24 eps and single/batch/validation modes. It distinguishes this from the sibling lookup tools (search_media, get_media_details) and the management tool (manage_media_requests).

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

Usage Guidelines4/5

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

The description gives explicit usage context: movies and short TV auto-confirm, longer TV requires confirmed:true, and TV requires seasons with the specials interpretation. It doesn't explicitly name alternatives or when-not-to-use cases, so no exclusion guidance is present.

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