Skip to main content
Glama
Grinv

TMDB MCP Server

Get person filmography

get_person_credits
Read-only

List the movies and TV shows a person is known for, including cast and crew credits sorted by popularity; filter crew by department to get a complete filmography.

Instructions

List the movies and TV shows a person is known for (cast roles and crew jobs), most popular first, capped to the top 25 of each by default; talk-show/awards-show guest appearances ('Self'/'Himself'/'Herself', plus any cast credit on a TV talk or news show) and repeat entries for the same title are excluded so the list stays about actual roles. A cameo credited under the person's own name is kept, since TMDB marks it no differently from a real role (verified live: Tom Hanks's top cast row is The Simpsons as 'Tom Hanks (voice)'). A title with several crew jobs (writer AND director AND producer on one film) still only counts once against the crew cap. Cast entries include a vote_average; crew entries (director, writer, …) do not — call get_movie/get_tv on the id for a crew credit's own vote_average. Pass department (e.g. 'Directing') to restrict crew to just that role — the reliable way to get someone's complete filmography in one department when their other departments would otherwise compete for the same cap; for a handful of exceptionally prolific people even that isn't enough (e.g. 50+ directing credits), so raise limit too when department alone still looks short. Use for 'what has this actor/director been in'. This tool has no genre filter — for 'which of X's movies are animated/horror/etc.' use discover_movies instead, combining with_cast/with_crew/with_people with with_genres (discover_tv has no equivalent — it can't filter by person at all — so for a person's TV work in one genre, call this tool and check the returned media_type 'tv' entries' genres yourself, e.g. via get_tv_shows). Get the id from search_people.

Input Schema

NameRequiredDescriptionDefault
idYesTMDB numeric id.
limitNoMax cast entries and max crew entries to return (each capped separately; default 25). Raise this for an exceptionally prolific person — e.g. a director with 50+ films — where even a department filter still leaves more titles than the default cap keeps.
departmentNoRestrict crew credits to this department (e.g. 'Directing' for a director's filmography). Without it, a multi-hyphenate's OTHER departments (writing, producing, …) compete for the same 25-credit cap and can crowd out titles in the department you actually want.

Output Schema

NameRequiredDescriptionDefault
castYes
crewYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changedv0.14.0
    • removedOutput schema / properties / cast / items / properties / character / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / cast / items / properties / character / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / cast / items / properties / vote_average / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / cast / items / properties / vote_average / description
      Added value: +"TMDB's own 0-10 user score. A different audience and scale from the IMDb/RT/Metacritic scores get_movie/get_tv return as `ratings` — don't compare, average or substitute across the two."
    • addedOutput schema / properties / cast / items / properties / vote_average / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / cast / items / properties / year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / cast / items / properties / year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / crew / items / properties / department / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / crew / items / properties / department / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / crew / items / properties / job / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / crew / items / properties / job / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / crew / items / properties / year / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / crew / items / properties / year / type
      Added value: +[
      +  "number",
      +  "null"
      +]
  2. Addedv0.8.1
  3. Removedv0.8.0
  4. First observedv0.3.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already carry readOnlyHint/openWorldHint, but the description adds substantial non-obvious behavior: default 25-per-side caps applied separately to cast and crew, self/talk-show guest credit exclusion, de-duplication of repeat titles, single-count for multiple crew jobs on one title, and the asymmetry that cast rows have vote_average while crew rows do not. The cameo caveat and the Tom Hanks verification are exactly the edge case an agent would otherwise get wrong.

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 core behavior and exclusions, then parameters, then routing guidance — good ordering. It is long and a couple of parentheticals (the live Tom Hanks verification, the 50+ directing aside) are illustrative rather than strictly load-bearing, but almost every sentence conveys a rule an agent needs.

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 an output schema and full annotation coverage, the description still supplies everything missing: ordering, cap semantics, exclusion policy, what rating fields appear where, and cross-tool routing for the genre case the tool cannot handle. Nothing an agent needs to call this correctly and interpret the result is absent.

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?

Schema coverage is 100%, so the baseline would be 3, but the description adds real semantics the schema cannot: department is framed as the reliable way to get a complete single-department filmography because other departments compete for the same cap, and limit should be raised specifically when the department filter still under-returns for prolific people. That is decision-relevant, not paraphrase.

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 ('List the movies and TV shows a person is known for') and immediately distinguishes scope from siblings by noting it covers both cast and crew, ordered by popularity. An agent can tell this apart from get_movie_credits/get_tv_credits and discover_movies without opening any 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?

Explicitly names the trigger ('what has this actor/director been in'), names the exclusion ('no genre filter'), and routes to the correct alternative per case: discover_movies with with_cast/with_crew for movie genres, and a manual TV workaround because discover_tv can't filter by person. It also names search_people as the source of the id.

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