Skip to main content
Glama
ryanxili

TMDB MCP Server

by ryanxili

TMDB MCP Server

Model Context Protocol (MCP) server for The Movie Database (TMDB) API.

Features

  • Search: movies, TV shows, people, multi

  • Trending: daily/weekly for movies, TV, all

  • Movies: popular, top_rated, now_playing, upcoming, details, credits, similar, recommendations, videos

  • TV: popular, top_rated, airing_today, on_the_air, details, credits, similar, videos

  • People: details, movie_credits, tv_credits

  • Genres: movie and TV genre lists

Related MCP server: TMDB MCP Server

Requirements

  • Node.js >= 18

  • TMDB API Key

Installation

npm install @ryanxili/tmdb-mcp

Quick Start

Install

npm install @ryanxili/tmdb-mcp

Run

# With TMDB API key
TMDB_API_KEY=your_key node node_modules/@ryanxili/tmdb-mcp/index.js

Or create a runner script:

# run.js
import('@ryanxili/tmdb-mcp');

Local Development

# Clone
git clone https://github.com/ryanxili/tmdb-mcp.git
cd tmdb-mcp

# Install
npm install

# Run
export TMDB_API_KEY=your_key
npm start

Configuration

Set your TMDB API key as an environment variable:

export TMDB_API_KEY="your_api_key_here"

Or the MCP server will prompt for API key if not set.

Running

# With environment variable
TMDB_API_KEY=your_key npm start

# Or export first
export TMDB_API_KEY=your_key
npm start

MCP Client Configuration

Add to your MCP config:

{
  "mcpServers": {
    "tmdb": {
      "command": "node",
      "args": ["node_modules/@ryanxili/tmdb-mcp/index.js"],
      "env": {
        "TMDB_API_KEY": "your_api_key"
      }
    }
  }
}

Or with npx (requires internet):

{
  "mcpServers": {
    "tmdb": {
      "command": "npx",
      "args": ["-y", "@ryanxili/tmdb-mcp"],
      "env": {
        "TMDB_API_KEY": "your_api_key"
      }
    }
  }
}

Implementation Note

This MCP server uses curl instead of native fetch for API requests because:

  • Node.js built-in fetch does not respect system proxy settings (http_proxy/https_proxy)

  • curl automatically uses proxy environment variables, ensuring compatibility with various network environments

Available Tools

Tool

Description

search_movie

Search movies by query

search_tv

Search TV shows by query

search_person

Search people by query

search_multi

Multi search (movies, TV, people)

trending_movie_day

Trending movies today

trending_movie_week

Trending movies this week

trending_tv_day

Trending TV today

trending_tv_week

Trending TV this week

trending_all_day

All trending today

trending_all_week

All trending this week

movie_popular

Popular movies

movie_top_rated

Top rated movies

movie_now_playing

Now playing movies

movie_upcoming

Upcoming movies

movie_details

Movie details by ID

movie_credits

Movie cast & crew

movie_similar

Similar movies

movie_recommendations

Movie recommendations

movie_videos

Movie videos/trailers

tv_popular

Popular TV shows

tv_top_rated

Top rated TV shows

tv_airing_today

TV airing today

tv_on_the_air

TV on the air

tv_details

TV show details

tv_credits

TV cast & crew

tv_similar

Similar TV shows

tv_videos

TV videos

person_details

Person details

person_movie_credits

Person movie credits

person_tv_credits

Person TV credits

genre_movie_list

Movie genres

genre_tv_list

TV genres

Language

All results are returned in Chinese (zh-CN) by default.

Get TMDB API Key

  1. Go to TMDB

  2. Create an account

  3. Go to Settings > API

  4. Generate your API key

License

MIT

Available Tools

32 tools
genre_movie_listMovie GenresB

Get list of movie genres

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states 'Get list' which implies a read operation, but doesn't specify if it requires authentication, has rate limits, returns paginated results, or details about the format/content of the genre list. This leaves significant gaps for a tool that might interact with an external API.

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 a single, clear sentence with no wasted words. It's front-loaded with the core purpose and efficiently communicates what the tool does without unnecessary elaboration.

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?

Given the tool's simplicity (0 parameters, no output schema), the description is minimally adequate. However, without annotations or output schema, it doesn't provide enough context about the return value format, authentication needs, or error handling, which could be important for an AI agent to use it correctly in practice.

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?

The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description doesn't need to add parameter information, and it correctly doesn't mention any parameters, earning a baseline score of 4 for this dimension.

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

Purpose4/5

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

The description 'Get list of movie genres' clearly states the verb ('Get') and resource ('movie genres'), making the purpose immediately understandable. However, it doesn't differentiate from its sibling 'genre_tv_list' which presumably gets TV genres, so it misses full sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context for usage, or comparison with sibling tools like 'genre_tv_list' for TV genres or other genre-related operations.

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

genre_tv_listTV GenresB

Get list of TV genres

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. 'Get list' implies a read-only operation, but it doesn't disclose important behavioral traits like whether this requires authentication, rate limits, what format the list returns (e.g., IDs, names, hierarchical), or if it's cached/static data. The description is too minimal for a tool with no annotation coverage.

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 perfectly concise at three words, front-loading the essential information with zero wasted language. Every word ('Get', 'list', 'TV genres') earns its place in communicating the core functionality.

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

Completeness2/5

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

Given the tool's simplicity (0 parameters) but lack of annotations and output schema, the description is insufficient. It doesn't explain what the output looks like (e.g., array of genre objects with ids/names), whether it's comprehensive or filtered, or how it relates to other TV tools. For a tool with no structured output documentation, more context is needed.

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?

With 0 parameters and 100% schema description coverage, the baseline is 4. The description appropriately doesn't discuss parameters since there are none, and the schema already documents the empty object structure completely.

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

Purpose4/5

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

The description 'Get list of TV genres' clearly states the verb ('Get') and resource ('TV genres'), making the purpose immediately understandable. However, it doesn't distinguish from its sibling 'genre_movie_list' beyond the 'TV' vs 'movie' distinction, which is implicit but not explicit.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'tv_details' or 'tv_popular' that might also involve genres, there's no indication of when this specific genre list retrieval is appropriate versus getting genre information through other means.

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

movie_creditsMovie CreditsC

Get movie cast and crew by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
movie_idYesTMDB movie ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Get' implies a read operation, it doesn't mention any behavioral traits such as rate limits, authentication requirements, error handling, or what happens with invalid IDs. This leaves significant gaps for a tool that interacts with external data.

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 extremely concise and front-loaded with a single, clear sentence that states the core functionality. There's no wasted language, making it efficient for quick understanding.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'cast and crew' data is returned (e.g., format, fields), potential limitations, or how it differs from similar tools. For a tool with no structured output information, more context is needed to guide effective use.

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

Parameters3/5

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

The description adds minimal value beyond the input schema, which has 100% coverage. It mentions 'by ID' but doesn't elaborate on the 'movie_id' parameter beyond what's in the schema ('TMDB movie ID'). With high schema coverage, the baseline is 3, as the schema already documents the parameter adequately.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('movie cast and crew'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'movie_details' or 'person_movie_credits', which might also provide related information.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'movie_details', 'person_movie_credits'), there's no indication of when this specific cast/crew retrieval is preferred, leaving the agent to guess based on context.

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

movie_detailsMovie DetailsC

Get movie details by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
movie_idYesTMDB movie ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states a read operation ('Get') but doesn't disclose behavioral traits such as rate limits, authentication needs, error handling, or what 'details' includes. This is a significant gap for a tool with no annotation coverage.

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 a single, efficient sentence with no wasted words. It's front-loaded and appropriately sized for a simple tool, making it easy to parse quickly.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'details' entail, potential return values, or error cases. For a tool with rich sibling context and no structured output, more information is needed to be fully helpful.

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

Parameters3/5

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

Schema description coverage is 100%, with the parameter 'movie_id' documented as 'TMDB movie ID'. The description adds no additional meaning beyond the schema, such as format examples or constraints, so it meets the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'movie details', specifying it's by ID. It distinguishes from siblings like movie_popular or search_movie by focusing on ID-based retrieval, though it doesn't explicitly name alternatives.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives is provided. The description implies usage when you have a movie ID, but it doesn't mention prerequisites, exclusions, or compare to siblings like movie_credits or tv_details.

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

movie_now_playingNow Playing MoviesC

Get now playing movies in theaters

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-1000)
regionNoRegion code (ISO 3166-1)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Get') but doesn't mention any behavioral traits such as rate limits, authentication needs, pagination behavior, or what the return format looks like. This is a significant gap for a tool with no annotation coverage.

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 a single, efficient sentence with zero waste. It's front-loaded and directly communicates the core functionality without unnecessary elaboration, making it easy for an agent to parse quickly.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like response format, error handling, or usage constraints. For a tool with no structured data beyond the input schema, more context is needed to guide the agent effectively.

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

Parameters3/5

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

The input schema has 100% description coverage, with clear documentation for both parameters ('page' and 'region'). The description doesn't add any semantic details beyond what the schema provides, such as explaining how 'region' affects results or default behaviors. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('now playing movies in theaters'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'movie_upcoming' or 'movie_popular', which might have overlapping scopes, so it misses the highest score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'movie_upcoming', 'movie_popular'), there's no indication of context, exclusions, or prerequisites, leaving the agent to infer usage based on the name alone.

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

movie_recommendationsMovie RecommendationsC

Get movie recommendations by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
movie_idYesTMDB movie ID
pageNoPage number (1-1000)

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get movie recommendations by ID' implies a read-only operation but doesn't specify critical traits like whether it requires authentication, rate limits, pagination behavior (beyond the 'page' parameter in schema), or what the output format looks like (e.g., list of movies with details). For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

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?

The description is a single, straightforward sentence ('Get movie recommendations by ID'), making it appropriately concise and front-loaded. There's no wasted verbiage, and it directly states the core function. However, it could be slightly improved by adding a bit more context without sacrificing brevity, but it's efficient as is.

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

Completeness2/5

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

Given the complexity of a recommendation tool with 2 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'recommendations' entail (e.g., similar movies, user-based suggestions), how results are structured, or any behavioral aspects like error handling. For a tool that likely returns a list of movies, more context is needed to guide effective use, especially with many sibling tools that might serve similar purposes.

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

Parameters3/5

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

The description adds minimal meaning beyond the input schema, which has 100% coverage with clear descriptions for 'movie_id' (TMDB movie ID) and 'page' (page number 1-1000). It implies that 'movie_id' is used to fetch recommendations, but doesn't elaborate on how recommendations are generated or the relationship between parameters. With high schema coverage, the baseline is 3, as the description doesn't compensate with additional insights but doesn't detract either.

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

Purpose2/5

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

The description 'Get movie recommendations by ID' restates the tool name 'movie_recommendations' with minimal elaboration, making it tautological. It specifies the action ('Get') and resource ('movie recommendations') but lacks detail on what 'recommendations' entails (e.g., similar movies, personalized suggestions). Compared to siblings like 'movie_similar' or 'movie_popular', it doesn't clearly differentiate its purpose beyond the basic name.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'movie_similar' and 'movie_popular' that might overlap in functionality, it doesn't specify scenarios (e.g., use for recommendations based on a specific movie ID, not for trending or genre-based lists). There's no mention of prerequisites, exclusions, or comparative contexts, leaving usage ambiguous.

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

movie_similarSimilar MoviesC

Get similar movies by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
movie_idYesTMDB movie ID
pageNoPage number (1-1000)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'Get' but doesn't specify if this is a read-only operation, requires authentication, has rate limits, or what the output format might be. This leaves significant gaps for an agent to understand how to use it effectively.

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 extremely concise with a single sentence that directly states the tool's purpose. It's front-loaded and wastes no words, making it easy to parse quickly.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'similar movies' means (e.g., based on genre, ratings, or other criteria), the return format, or error handling, which are crucial for an agent to use this tool correctly in a movie database context.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents both parameters ('movie_id' as TMDB movie ID and 'page' as page number). The description adds no additional semantic context beyond what the schema provides, such as examples or usage tips, but it doesn't need to compensate for gaps.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'similar movies by ID', making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'movie_recommendations' or 'tv_similar', which might serve similar functions for different contexts.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as 'movie_recommendations' or 'tv_similar', nor does it mention prerequisites like needing a valid movie ID. It simply states the action without context.

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

movie_top_ratedTop Rated MoviesC

Get top rated movies

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-1000)
regionNoRegion code (ISO 3166-1)

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'Get top rated movies', which implies a read-only operation but lacks details on rate limits, authentication needs, pagination behavior (implied by the 'page' parameter), or what 'top rated' entails (e.g., sorting criteria, data freshness). This leaves significant gaps in understanding how the tool behaves beyond basic retrieval.

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 extremely concise with 'Get top rated movies', a single sentence that front-loads the core action and resource. There is no wasted language or redundancy, making it efficient for quick comprehension. However, this conciseness comes at the cost of detail, which is reflected in lower scores for other dimensions.

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

Completeness2/5

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

Given the tool's complexity (a list retrieval with parameters), lack of annotations, and no output schema, the description is incomplete. It does not address behavioral aspects like pagination, sorting, or error handling, and fails to differentiate from sibling tools. For a tool with parameters and no structured output documentation, more context is needed to guide effective use.

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

Parameters3/5

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

The input schema has 100% description coverage, with clear documentation for 'page' and 'region' parameters. The description adds no additional meaning beyond the schema, as it does not explain parameter usage, defaults, or interactions. With high schema coverage, the baseline score is 3, as the description does not compensate but also does not detract from the schema's clarity.

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

Purpose3/5

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

The description 'Get top rated movies' clearly states the verb ('Get') and resource ('top rated movies'), making the purpose understandable. However, it lacks specificity about what 'top rated' means (e.g., based on ratings, popularity, or a specific metric) and does not differentiate from siblings like 'movie_popular' or 'tv_top_rated', which offer similar list functionalities. This makes it vague in distinguishing its exact scope.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention scenarios for usage, exclusions, or comparisons to siblings such as 'movie_popular' (for popularity-based lists) or 'trending_movie_day' (for trending content). Without any context, the agent must infer usage from the tool name alone, which is insufficient for optimal selection.

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

movie_upcomingUpcoming MoviesC

Get upcoming movies

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-1000)
regionNoRegion code (ISO 3166-1)

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Get upcoming movies' implies a read-only operation but doesn't specify authentication needs, rate limits, pagination behavior, or what 'upcoming' entails (e.g., future releases only). It lacks details on response format or error handling.

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 extremely concise with a single sentence ('Get upcoming movies'), which is front-loaded and wastes no words. It efficiently communicates the core purpose without unnecessary elaboration.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete for a tool with 2 parameters. It doesn't explain what 'upcoming' means, how results are returned, or any behavioral traits like pagination or regional filtering. For a read operation with structured inputs, more context is needed to guide the agent effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters ('page' and 'region') adequately. The description adds no additional meaning beyond what the schema provides, such as explaining how 'region' affects results or default behavior when parameters are omitted. Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose3/5

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

The description 'Get upcoming movies' states a clear verb ('Get') and resource ('upcoming movies'), but it's vague about scope and doesn't distinguish from siblings like 'movie_now_playing' or 'movie_popular'. It lacks specificity about what 'upcoming' means (e.g., release dates, time frame).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'movie_now_playing' or 'movie_popular'. The description doesn't mention context, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.

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

movie_videosMovie VideosC

Get movie videos (trailers, teasers, etc.) by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
movie_idYesTMDB movie ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states it's a read operation ('Get'), implying no destructive effects, but doesn't disclose behavioral traits like rate limits, authentication needs, response format, or pagination. This is a significant gap for a tool with no annotation coverage.

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 a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place without redundancy.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the return values include (e.g., video types, URLs, metadata) or address potential errors. For a tool with no structured behavioral data, more context is needed to be fully helpful.

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

Parameters3/5

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

The schema description coverage is 100%, with the single parameter 'movie_id' fully documented in the schema as 'TMDB movie ID'. The description adds no additional meaning beyond implying it's used to fetch videos, which is already clear from the purpose. Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'movie videos (trailers, teasers, etc.) by ID', making the purpose specific and understandable. It distinguishes from siblings like movie_details or movie_credits by focusing on video content, though it doesn't explicitly contrast with tv_videos or other video-related tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention if this is for retrieving all videos for a movie or how it differs from movie_details (which might include videos) or tv_videos. The description lacks context about prerequisites or exclusions.

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

person_detailsPerson DetailsB

Get person details by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
person_idYesTMDB person ID

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is a 'Get' operation, which suggests a read-only action, but doesn't clarify if it requires authentication, has rate limits, or what happens with invalid IDs (e.g., errors vs. empty responses). For a tool with zero annotation coverage, this leaves significant gaps in understanding its operational behavior and constraints.

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 extremely concise with a single sentence ('Get person details by ID') that front-loads the core purpose without any wasted words. Every part of the sentence earns its place by specifying the action, resource, and key input, making it efficient and easy to parse for an AI agent.

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

Completeness2/5

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

Given the tool's simplicity (1 parameter, 100% schema coverage) and lack of output schema, the description is incomplete. It doesn't explain what 'details' include (e.g., biography, filmography), potential response formats, or error handling. Without annotations or output schema, the description should provide more context to fully guide usage, but it remains minimal, leaving the agent to infer behavior from the tool name and schema alone.

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

Parameters3/5

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

The description adds minimal meaning beyond the input schema, which has 100% coverage and fully documents the single parameter 'person_id' as a TMDB person ID. The description mentions 'by ID', aligning with the schema, but doesn't provide additional context like ID format examples or validation rules. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

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

Purpose4/5

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

The description clearly states the action ('Get') and resource ('person details by ID'), making the purpose immediately understandable. It distinguishes this tool from siblings like search_person or person_movie_credits by focusing on retrieval of details for a specific person ID rather than searching or listing credits. However, it doesn't specify what 'details' include, leaving some ambiguity about the scope of information returned.

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

Usage Guidelines3/5

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

The description implies usage when you have a specific TMDB person ID and need their details, which is clear from the phrasing 'by ID'. However, it doesn't explicitly state when not to use this tool (e.g., for searching without an ID) or name alternatives like search_person for when you don't have an ID. The context is implied but not fully articulated with exclusions or direct sibling comparisons.

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

person_movie_creditsPerson Movie CreditsC

Get person movie credits by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
person_idYesTMDB person ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states a read operation ('Get'), but doesn't disclose behavioral traits like authentication needs, rate limits, response format, pagination, or error handling. This is a significant gap for a tool with zero annotation coverage.

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 a single, efficient sentence with zero waste. It's front-loaded with the core purpose, making it easy to scan and understand quickly.

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

Completeness2/5

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

Given no annotations, no output schema, and a single parameter with full schema coverage, the description is incomplete. It doesn't explain what 'movie credits' includes (e.g., cast/crew roles, dates) or the return format, leaving gaps for an AI agent to use it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, with the parameter 'person_id' documented as 'TMDB person ID'. The description adds no additional meaning beyond what the schema provides, such as format examples or constraints. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Get') and resource ('person movie credits'), specifying it's by ID. It distinguishes from siblings like 'person_details' (general info) and 'person_tv_credits' (TV-specific), but doesn't explicitly differentiate from 'movie_credits' (which might be for movies rather than people).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'person_details' for general info or 'person_tv_credits' for TV credits. The description implies usage when you have a person ID and want movie credits, but lacks explicit context or exclusions.

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

person_tv_creditsPerson TV CreditsC

Get person TV credits by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
person_idYesTMDB person ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states a read operation ('Get') but doesn't mention rate limits, authentication needs, response format, pagination, or error conditions. For a tool that likely queries an external API, this leaves significant behavioral gaps.

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 extremely concise at just 5 words, front-loading the essential information with zero wasted words. Every element ('Get', 'person TV credits', 'by ID') serves a clear purpose in communicating the tool's function.

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

Completeness2/5

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

Given no annotations, no output schema, and a single parameter with good schema coverage, the description is incomplete. It doesn't explain what 'TV credits' includes (e.g., acting roles, crew positions), the response format, or any limitations. For a tool that returns potentially complex data, more context is needed.

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

Parameters3/5

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

The schema has 100% description coverage (the 'person_id' parameter is fully documented as 'TMDB person ID'), so the baseline is 3. The description adds no additional parameter information beyond what's in the schema, but doesn't need to compensate for any gaps.

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

Purpose4/5

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

The description clearly states the verb ('Get') and resource ('person TV credits by ID'), making the purpose understandable. It distinguishes this tool from siblings like 'person_movie_credits' by specifying TV credits, but doesn't explicitly differentiate from 'person_details' or 'tv_credits' which might overlap in scope.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'person_movie_credits' for movie credits or 'person_details' for general person information. It doesn't mention prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name alone.

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

search_movieSearch MoviesC

Search for movies by query

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
pageNoPage number (1-1000)
include_adultNoInclude adult content

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but reveals little behavior. It doesn't mention pagination behavior (implied by 'page' parameter but not explained), rate limits, authentication needs, response format, or what happens with empty results. 'Search' implies read-only, but this isn't explicitly stated.

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 extremely concise at just 5 words with zero waste. It's front-loaded with the core purpose. Every word earns its place, though this conciseness comes at the cost of completeness.

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

Completeness2/5

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

For a search tool with 3 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the search returns, how results are ordered, pagination behavior, or how it differs from similar search tools. The minimal description leaves too many questions unanswered.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds no additional meaning about parameters beyond implying 'query' is the search term. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose3/5

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

The description 'Search for movies by query' clearly states the verb ('search') and resource ('movies'), but it's vague about scope and doesn't distinguish from siblings like 'search_multi' or 'search_tv'. It doesn't specify what kind of search this is (title, keyword, etc.) or what fields are searched.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives like 'search_multi' (which searches across movies, TV, and people) or 'search_tv'. The description doesn't mention any context, prerequisites, or exclusions for usage.

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

search_multiMulti SearchC

Search for movies, TV shows, and people

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
pageNoPage number (1-1000)
include_adultNoInclude adult content

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Search' implies a read operation, the description doesn't mention pagination behavior (implied by the page parameter), rate limits, authentication requirements, or what the response format looks like. This is inadequate for a search tool with no annotation coverage.

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 extremely concise - a single sentence that communicates the core functionality without any wasted words. It's appropriately sized for a straightforward search tool and front-loads the essential information.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the search returns (e.g., combined results or separate sections), how results are ordered, or any limitations. For a multi-resource search tool in a rich API with many sibling tools, this minimal description leaves significant gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description doesn't add any meaningful context about parameters beyond what the schema provides, such as search scope limitations or how the 'include_adult' parameter affects results. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Search') and resources ('movies, TV shows, and people'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like search_movie, search_tv, and search_person, which perform similar but more specific searches.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling search tools (search_movie, search_tv, search_person), there's no indication whether this is a combined search or when one might prefer the more specific tools.

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

search_personSearch PeopleC

Search for people by query

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
pageNoPage number (1-1000)

TDQS

C2.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It fails to mention critical aspects like whether this is a read-only operation, pagination behavior beyond the schema, rate limits, authentication needs, or what the search returns. This is inadequate for a tool with parameters.

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 a single, efficient sentence with zero wasted words. It's appropriately sized for a simple search tool and front-loads the core purpose without unnecessary elaboration.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete. It doesn't explain what the search returns, how results are structured, or behavioral traits like error handling. For a search tool with parameters, this leaves significant gaps for an AI agent.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no additional meaning beyond what's in the schema, such as query examples or pagination context. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Search') and resource ('people'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'search_movie' or 'search_tv' beyond the resource type, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'search_multi' or 'person_details'. It lacks context about query types, scope, or any prerequisites, leaving the agent to infer usage from the tool name alone.

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

search_tvSearch TV ShowsC

Search for TV shows by query

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query
pageNoPage number (1-1000)
include_adultNoInclude adult content

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions searching by query but doesn't disclose behavioral traits such as pagination behavior (implied by 'page' parameter), rate limits, authentication needs, result format, or whether it's a read-only operation. This leaves significant gaps for an agent to understand how to use it effectively.

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 a single, efficient sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for a simple search tool, making it easy to parse quickly.

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

Completeness2/5

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

Given no annotations, no output schema, and multiple sibling tools, the description is incomplete. It doesn't explain return values, usage context, or behavioral constraints, leaving the agent with insufficient information to operate the tool effectively in a complex environment.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents parameters (query, page, include_adult). The description adds no additional meaning beyond implying a search query, which is already covered. Baseline score of 3 is appropriate as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Search for') and resource ('TV shows'), making the purpose immediately understandable. It distinguishes from general search tools like 'search_multi' by specifying TV shows, though it doesn't explicitly differentiate from 'search_movie' or other media-specific searches beyond the title.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'search_movie', 'search_person', 'search_multi', and various TV-specific tools (e.g., 'tv_popular', 'tv_details'), there's no indication of when a search is preferred over browsing or filtering by other criteria.

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

tv_airing_todayTV Airing TodayC

Get TV shows airing today

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-1000)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does ('Get TV shows airing today') but doesn't describe how it behaves: no information about pagination (implied by the 'page' parameter but not explained), rate limits, authentication needs, data freshness, or what 'airing today' means temporally (timezone, broadcast vs. streaming). This leaves significant gaps for an agent.

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 extremely concise at four words, front-loaded with the core action and resource. Every word earns its place with no wasted text, making it easy to parse quickly.

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

Completeness2/5

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

Given the tool's moderate complexity (fetching dynamic TV data) with no annotations, no output schema, and a simple but incomplete description, this is inadequate. The description doesn't explain what 'airing today' entails, the response format, pagination behavior, or how it differs from siblings, leaving the agent with insufficient context to use it effectively.

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

Parameters3/5

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

The input schema has 100% description coverage for its single parameter ('page'), so the schema already documents it fully. The description adds no additional parameter semantics beyond implying pagination through the verb 'Get', which doesn't compensate or clarify beyond the schema. This meets the baseline for high schema coverage.

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

Purpose4/5

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

The description 'Get TV shows airing today' clearly states the verb ('Get') and resource ('TV shows airing today'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'tv_on_the_air' or 'trending_tv_day' that might have overlapping functionality, preventing a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'tv_on_the_air' or 'trending_tv_day' from the sibling list. It lacks context about whether this shows currently airing episodes, upcoming premieres, or daily schedules, leaving the agent to guess based on tool names alone.

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

tv_creditsTV CreditsC

Get TV show cast and crew by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
tv_idYesTMDB TV show ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves data ('Get'), implying a read-only operation, but doesn't cover critical aspects like rate limits, authentication needs, error handling, or the format/structure of the returned cast and crew data. For a tool with zero annotation coverage, this is a significant gap in transparency.

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 extremely concise and front-loaded with a single, direct sentence: 'Get TV show cast and crew by ID'. Every word contributes to understanding the tool's function, with no wasted verbiage or unnecessary elaboration, making it highly efficient for an AI agent.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete for effective tool use. It doesn't explain what 'cast and crew' data includes (e.g., roles, departments), how results are structured, or any behavioral constraints. For a data retrieval tool with no structured output guidance, this leaves too many unknowns for the agent.

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

Parameters3/5

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

The description adds minimal semantic value beyond the input schema. It mentions 'by ID', which aligns with the 'tv_id' parameter in the schema, but the schema already has 100% coverage with a clear description ('TMDB TV show ID'). No additional details (e.g., ID source, validation rules) are provided, so it meets the baseline for high schema coverage without compensating further.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Get TV show cast and crew by ID'. It specifies the verb ('Get'), resource ('TV show cast and crew'), and key input ('by ID'), making the function unambiguous. However, it doesn't explicitly differentiate from siblings like 'tv_details' or 'person_tv_credits', which might also provide cast/crew information, so it falls short of a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a TMDB ID), exclusions, or comparisons to siblings like 'tv_details' (which might include credits) or 'person_tv_credits' (which focuses on a person's TV roles). This lack of context leaves the agent to infer usage from the name alone.

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

tv_detailsTV DetailsC

Get TV show details by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
tv_idYesTMDB TV show ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'Get' which implies a read-only operation, but doesn't disclose behavioral traits such as rate limits, authentication needs, error handling, or what details are returned (e.g., cast, ratings). For a tool with no annotations, this is a significant gap in transparency.

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 a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for a simple tool, making it easy for an agent to parse quickly.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'details' include (e.g., plot, genres, runtime) or the return format, leaving the agent uncertain about the tool's behavior. For a tool with rich sibling context, more completeness is needed.

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

Parameters3/5

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

Schema description coverage is 100%, with the parameter 'tv_id' documented as 'TMDB TV show ID'. The description adds no additional meaning beyond the schema, such as format examples or constraints. Baseline 3 is appropriate since the schema does the heavy lifting, but no extra value is added.

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

Purpose4/5

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

The description clearly states the action ('Get') and resource ('TV show details'), specifying it's by ID. It distinguishes from siblings like 'search_tv' or 'tv_popular' that don't retrieve by ID, though it doesn't explicitly mention these alternatives. The purpose is specific but could be more differentiated.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'search_tv' for finding IDs or 'tv_similar' for related content. The description implies usage when you have a TV show ID, but it doesn't state prerequisites or exclusions, leaving the agent to infer context.

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

tv_on_the_airTV On The AirC

Get TV shows currently on air

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-1000)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states 'Get TV shows currently on air', implying a read-only operation, but doesn't disclose any behavioral traits such as rate limits, authentication needs, pagination behavior, or what 'currently on air' means in terms of time window. This is a significant gap for a tool with no annotation coverage.

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 a single, efficient sentence that front-loads the core purpose without any wasted words. It's appropriately sized for a simple tool and earns its place by clearly stating what the tool does.

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

Completeness2/5

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

Given the complexity of a tool that fetches real-time TV data, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'currently on air' entails (e.g., live vs. scheduled), how results are formatted, or any limitations, making it inadequate for an agent to use effectively without additional context.

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

Parameters3/5

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

The description adds no parameter semantics beyond what the input schema provides. With 100% schema description coverage, the schema already documents the 'page' parameter fully. The description doesn't explain how pagination relates to 'currently on air' shows or any other contextual details, so it meets the baseline but adds no extra value.

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

Purpose4/5

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

The description 'Get TV shows currently on air' clearly states the verb ('Get') and resource ('TV shows currently on air'), making the tool's purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'tv_airing_today' or 'trending_tv_day', which might have overlapping functionality, so it doesn't reach the highest score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'tv_airing_today', 'trending_tv_day', and 'trending_tv_week', there's no indication of how this tool differs in scope or timing, leaving the agent to guess based on the name alone.

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

tv_similarSimilar TV ShowsC

Get similar TV shows by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
tv_idYesTMDB TV show ID
pageNoPage number (1-1000)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions nothing about behavioral traits: no information on rate limits, authentication needs, pagination behavior (despite a 'page' parameter), what 'similar' means algorithmically, or the response format. This is inadequate for a tool with parameters and no output schema.

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 a single, efficient sentence with zero waste—it directly states the tool's purpose without fluff. It's appropriately sized for a simple lookup tool.

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

Completeness2/5

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

Given no annotations, no output schema, and a parameterized tool, the description is incomplete. It lacks crucial context: what 'similar' entails, pagination details, response structure, or error handling. This leaves significant gaps for an agent to use the tool effectively.

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

Parameters3/5

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

Schema description coverage is 100%, with clear parameter descriptions in the schema. The description adds no additional meaning beyond implying 'tv_id' is used to find similar shows and 'page' is for pagination, which is already covered. Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Get') and resource ('similar TV shows'), specifying it operates 'by ID'. It distinguishes from siblings like 'tv_details' (which gets details) and 'tv_popular' (which gets popular shows), but doesn't explicitly contrast with 'movie_similar' (which does the same for movies) or explain why to use this over other recommendation tools.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'movie_similar' (for movies), 'tv_recommendations' (if available as a sibling, though not listed), or other TV show discovery tools (e.g., 'tv_popular'). It only states what it does, not when it's appropriate.

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

tv_top_ratedTop Rated TV ShowsC

Get top rated TV shows

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-1000)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get' implies a read-only operation, but it doesn't cover rate limits, authentication needs, pagination behavior (hinted by the 'page' parameter but not explained), or what the return format looks like. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

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?

The description is a single, efficient sentence with no wasted words, making it appropriately sized. However, it's under-specified rather than concise—it could benefit from more detail without becoming verbose. It's front-loaded but lacks depth, so it earns a 4 for brevity but not full clarity.

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

Completeness2/5

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

Given the complexity of a data-fetching tool with no annotations, no output schema, and multiple siblings, the description is incomplete. It doesn't explain the return values, how 'top rated' is determined, or usage context. For a tool in a rich ecosystem, more information is needed to ensure the agent can use it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, with the single parameter 'page' documented as 'Page number (1-1000)'. The description adds no additional meaning beyond this, as it doesn't mention pagination or how results are structured. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

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

Purpose3/5

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

The description 'Get top rated TV shows' clearly states the action (get) and resource (top rated TV shows), but it's vague about scope and doesn't differentiate from siblings like 'tv_popular' or 'movie_top_rated'. It specifies the resource type (TV shows vs movies) but lacks detail about what 'top rated' means (e.g., by ratings, votes, or time period).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. With siblings like 'tv_popular', 'tv_airing_today', and 'movie_top_rated', the description doesn't explain when 'top rated' is preferred (e.g., for critically acclaimed shows vs trending ones) or any prerequisites. Usage is implied but not explicitly stated.

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

tv_videosTV VideosC

Get TV show videos by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
tv_idYesTMDB TV show ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the basic action without disclosing behavioral traits such as rate limits, authentication needs, error handling, or what 'videos' entails (e.g., trailers, clips). It's minimal and lacks critical operational context.

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 a single, efficient sentence with zero waste, front-loaded with the core action. It's appropriately sized for a simple tool, earning its place without redundancy.

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

Completeness2/5

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

Given no annotations, no output schema, and a simple input schema, the description is incomplete. It doesn't explain what 'videos' includes, potential response formats, or any constraints, leaving gaps for a tool that likely returns structured data.

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

Parameters3/5

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

Schema description coverage is 100%, with the parameter 'tv_id' documented as 'TMDB TV show ID'. The description adds no additional meaning beyond this, as it only restates 'by ID'. Baseline 3 is appropriate since the schema fully covers the parameter.

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

Purpose4/5

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

The description clearly states the action ('Get') and resource ('TV show videos'), specifying retrieval by ID. It distinguishes from siblings like 'tv_details' or 'movie_videos' by focusing on videos specifically, though it doesn't explicitly contrast with 'tv_credits' or other video-related tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'tv_details' (which might include videos) or 'movie_videos' (for movies). The description implies usage when needing videos for a TV show by ID, but lacks explicit context or exclusions.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 32 tool updatesv1.0.1
    • First observedgenre_movie_list
    • First observedgenre_tv_list
    • First observedmovie_credits
    • First observedmovie_details
    • First observedmovie_now_playing
    • First observedmovie_popular
    • First observedmovie_recommendations
    • First observedmovie_similar
    • First observedmovie_top_rated
    • First observedmovie_upcoming
    • First observedmovie_videos
    • First observedperson_details
    • First observedperson_movie_credits
    • First observedperson_tv_credits
    • First observedsearch_movie
    • First observedsearch_multi
    • First observedsearch_person
    • First observedsearch_tv
    • First observedtrending_all_day
    • First observedtrending_all_week
    • First observedtrending_movie_day
    • First observedtrending_movie_week
    • First observedtrending_tv_day
    • First observedtrending_tv_week
    • First observedtv_airing_today
    • First observedtv_credits
    • First observedtv_details
    • First observedtv_on_the_air
    • First observedtv_popular
    • First observedtv_similar
    • First observedtv_top_rated
    • First observedtv_videos

TDQS

B3.2/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity. The tools are well-organized by resource type (movie, TV, person, genre, trending) and action (details, credits, search, lists), making it easy for an agent to select the correct tool. Overlap is minimal and intentional, such as separate tools for movie and TV genres.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun or noun_verb pattern throughout, such as 'movie_details', 'search_movie', and 'trending_all_day'. All names use snake_case uniformly, with clear prefixes indicating the resource type, making the set predictable and readable.

Tool Count3/5

With 32 tools, the count is borderline high for a movie/TV database server, potentially feeling heavy. While each tool serves a specific function, the number might overwhelm agents, though it aligns with TMDB's comprehensive API coverage. A more focused subset could improve usability.

Completeness5/5

The tool surface is complete for the TMDB domain, covering CRUD-like operations (though TMDB is read-only) and lifecycle aspects like details, credits, recommendations, and trending. It includes movies, TV shows, people, and genres with no obvious gaps, enabling agents to handle diverse queries effectively.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides integration with The Movie Database (TMDB) API for searching movies, TV shows, and people, accessing detailed information, and discovering popular and trending content. Enables AI assistants to access comprehensive movie and television metadata including ratings, cast, crew, and overviews.
    31
    1
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides access to The Movie Database (TMDB) API for searching movies, retrieving movie details, cast information, and browsing current, upcoming, popular, and top-rated films, as well as searching for actors and directors.
    31
    -
  • A
    license
    A
    quality
    C
    maintenance
    Provides access to The Movie Database (TMDB) API, enabling users to search for movies, TV shows, and people, get detailed information, discover content with advanced filters, and retrieve recommendations.
    13
    31
    5
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ryanxili/tmdb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server