Skip to main content
Glama

Read an entry

get_title
Read-onlyIdempotent

Retrieve a Metacritic movie, show, or game entry by slug and kind, selecting sections such as scores, awards, networks, and where to watch for detailed title data.

Instructions

Read one Metacritic entry by slug and kind, both from search_titles. Sections are opt-in because a full entry is large: 'basic' and 'scores' are the default and cover most questions. 'scores' fetches the critic and audience breakdowns, each with its own scale, so never compare the two numbers directly. Sections gate the payload: asking for 'scores' alone returns no description, and 'basic' alone returns no scores. 'networks' lists the broadcasters of a show; 'where_to_watch' costs an extra request and covers films and shows only. A long description paginates: when 'truncated' is true, call again with 'offset' set to 'next_offset'.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "slug": "<slug>",
      "kind": "<kind>"
    },
    "name": "get_title"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindYesWhich catalogue the entry belongs to. Pass it back with the slug.
slugYesIdentifier from search_titles, such as 'the-matrix'.
offsetNoWhere to resume the description.
sectionsNoWhich parts to return. Each extra section beyond the default costs a request.
max_charsNoCharacter budget for the description.

Output Schema

NameRequiredDescriptionDefault
notesYes
titleYes
awardsNoOne tally per ceremony. Metacritic publishes no per-category detail.
genresNo
offsetYes
imdb_idNoIMDb identifier, usable to cross-reference other sources.
taglineNo
networksNoBroadcasters, for shows.
truncatedNo
productionNo
user_scoreYes
descriptionNo
next_offsetNoPass as 'offset' to read the rest.
total_charsNoLength of the full description.
critic_scoreYes
returned_charsNo
where_to_watchNo
duration_minutesNoRuntime in minutes for a film, or the length of a typical episode for a show.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed19 schema fields changedv2.1.0
    • changedOutput schema / properties / critic_score / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "max": {
      -        "description": "Scale this score is on: 100 for critics, 10 for users.",
      -        "type": "number"
      -      },
      -      "negative_count": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "neutral_count": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "positive_count": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "review_count": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "score": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "sentiment": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Metacritic's own wording for the verdict."
      -      }
      -    },
      -    "required": [
      -      "score",
      -      "max",
      -      "review_count",
      -      "positive_count",
      -      "neutral_count",
      -      "negative_count",
      -      "sentiment"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "max": {
      +        "description": "Scale this score is on: 100 for critics, 10 for users.",
      +        "type": "number"
      +      },
      +      "negative_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "neutral_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "positive_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "review_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "score": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "sentiment": {
      +        "description": "Metacritic's own wording for the verdict.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "score",
      +      "max",
      +      "review_count",
      +      "positive_count",
      +      "neutral_count",
      +      "negative_count",
      +      "sentiment"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / description / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / description / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / imdb_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / imdb_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / tagline / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / tagline / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / title / properties / metascore / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / title / properties / metascore / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / title / properties / rating / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / title / properties / rating / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / title / properties / release_date / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / title / properties / release_date / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / title / properties / user_score / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / title / properties / user_score / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / user_score / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "max": {
      -        "description": "Scale this score is on: 100 for critics, 10 for users.",
      -        "type": "number"
      -      },
      -      "negative_count": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "neutral_count": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "positive_count": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "review_count": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "score": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "sentiment": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Metacritic's own wording for the verdict."
      -      }
      -    },
      -    "required": [
      -      "score",
      -      "max",
      -      "review_count",
      -      "positive_count",
      -      "neutral_count",
      -      "negative_count",
      -      "sentiment"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "max": {
      +        "description": "Scale this score is on: 100 for critics, 10 for users.",
      +        "type": "number"
      +      },
      +      "negative_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "neutral_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "positive_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "review_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "score": {
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "sentiment": {
      +        "description": "Metacritic's own wording for the verdict.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "score",
      +      "max",
      +      "review_count",
      +      "positive_count",
      +      "neutral_count",
      +      "negative_count",
      +      "sentiment"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / where_to_watch / items / properties / url / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / where_to_watch / items / properties / url / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "title",
      -  "description",
      -  "tagline",
      -  "genres",
      -  "duration_minutes",
      -  "imdb_id",
      -  "total_chars",
      -  "returned_chars",
      -  "offset",
      -  "next_offset",
      -  "truncated",
      -  "critic_score",
      -  "user_score",
      -  "notes"
      -]New value: +[
      +  "title",
      +  "offset",
      +  "critic_score",
      +  "user_score",
      +  "notes"
      +]
  2. Changed33 schema fields changedv2.0.1
    • addedInput schema / properties / offset / maximum
      Added value: +9007199254740991
    • changedOutput schema / properties / awards / items / properties / nominations / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / awards / items / properties / wins / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / critic_score / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "max": {
      -        "description": "Scale this score is on: 100 for critics, 10 for users.",
      -        "type": "number"
      -      },
      -      "negative_count": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "neutral_count": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "positive_count": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "review_count": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "score": {
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "sentiment": {
      -        "description": "Metacritic's own wording for the verdict.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "score",
      -      "max",
      -      "review_count",
      -      "positive_count",
      -      "neutral_count",
      -      "negative_count",
      -      "sentiment"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "max": {
      +        "description": "Scale this score is on: 100 for critics, 10 for users.",
      +        "type": "number"
      +      },
      +      "negative_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "neutral_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "positive_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "review_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "score": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "sentiment": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Metacritic's own wording for the verdict."
      +      }
      +    },
      +    "required": [
      +      "score",
      +      "max",
      +      "review_count",
      +      "positive_count",
      +      "neutral_count",
      +      "negative_count",
      +      "sentiment"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / description / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / description / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • changedOutput schema / properties / duration_minutes / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / imdb_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / imdb_id / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • changedOutput schema / properties / next_offset / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / offset / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / offset / minimum
      Added value: +-9007199254740991
    • changedOutput schema / properties / production / items / properties / id / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / returned_chars / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / returned_chars / minimum
      Added value: +-9007199254740991
    • addedOutput schema / properties / tagline / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / tagline / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / title / properties / id / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / title / properties / id / minimum
      Added value: +-9007199254740991
    • addedOutput schema / properties / title / properties / metascore / anyOf
      Added value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / title / properties / metascore / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • addedOutput schema / properties / title / properties / rating / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / title / properties / rating / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / title / properties / release_date / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / title / properties / release_date / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / title / properties / user_score / anyOf
      Added value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / title / properties / user_score / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
    • changedOutput schema / properties / title / properties / year / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": -9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / total_chars / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / total_chars / minimum
      Added value: +-9007199254740991
    • changedOutput schema / properties / user_score / anyOf
      Previous value: -[
      -  {
      -    "$ref": "#/properties/critic_score/anyOf/0"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "max": {
      +        "description": "Scale this score is on: 100 for critics, 10 for users.",
      +        "type": "number"
      +      },
      +      "negative_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "neutral_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "positive_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "review_count": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "score": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "sentiment": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Metacritic's own wording for the verdict."
      +      }
      +    },
      +    "required": [
      +      "score",
      +      "max",
      +      "review_count",
      +      "positive_count",
      +      "neutral_count",
      +      "negative_count",
      +      "sentiment"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / where_to_watch / items / properties / url / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / where_to_watch / items / properties / url / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
  3. First observedv1.0.0

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the read-only and idempotent annotations, the description discloses payload gating between sections, the cost of extra sections, the film/show limitation of where_to_watch, and pagination behavior via truncated/next_offset. These are concrete behavioral details an agent needs to call the tool correctly.

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?

The description is front-loaded with purpose, then moves through defaults, section behavior, and pagination in a compact sequence. Each sentence adds relevant operational guidance without repeating the schema.

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?

Given the annotations, full parameter schema, output schema, and sibling tools, the description supplies the remaining context an agent needs: section tradeoffs, pagination recovery, and the scope of where_to_watch. No critical calling detail appears to be missing.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds substantial meaning beyond the schema: it explains default sections, section gating, the different scales of critic and audience scores, what networks returns, and how offset relates to truncated and next_offset.

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 opens with a specific verb and resource: 'Read one Metacritic entry by slug and kind.' It also makes the source of the identifiers explicit ('both from search_titles'), which clearly distinguishes this lookup from a search or browse operation.

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?

It gives clear usage context: identifiers come from search_titles, defaults cover most questions, and extra sections cost more requests. It does not explicitly compare this tool with get_reviews or browse_titles, so the when-not-to-use guidance is incomplete.

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

Deploy Server

Other Tools