Skip to main content
Glama

Search Tv Shows

search_tv_shows
Read-onlyIdempotent

Look up a TV SERIES BY NAME on TVmaze and get its facts in one call — "tell me about the TV show Breaking Bad", "when did The Sopranos air", "how was Chernobyl rated", "what network was Mad Men on", "is The Bear still running". Returns the show name, genres, premiere and end dates, status (Running/Ended), rating, network, summary and images for each match. THE entry point for a named series: it takes the TITLE directly, so a show known by name is answered here without resolving an id first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesTV show name or keyword to search for

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
showsYes
total_foundYesTotal number of shows found

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "shows": {
      +      "items": {
      +        "properties": {
      +          "ended": {
      +            "description": "End date in YYYY-MM-DD format",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "genres": {
      +            "description": "List of genres",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "id": {
      +            "description": "TVmaze show ID",
      +            "type": "number"
      +          },
      +          "image": {
      +            "description": "Medium-size poster image URL",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "language": {
      +            "description": "Primary language",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "name": {
      +            "description": "Show name",
      +            "type": "string"
      +          },
      +          "network": {
      +            "description": "Network or web channel name",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "premiered": {
      +            "description": "Premiere date in YYYY-MM-DD format",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "rating": {
      +            "description": "Average rating score",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "score": {
      +            "description": "Search relevance score",
      +            "type": "number"
      +          },
      +          "status": {
      +            "description": "Current status (Running, Ended, etc.)",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "summary": {
      +            "description": "Show summary without HTML tags",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "type": {
      +            "description": "Show type (e.g., Scripted, Reality)",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "url": {
      +            "description": "TVmaze show URL",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "score",
      +          "id",
      +          "name",
      +          "type",
      +          "language",
      +          "genres",
      +          "status",
      +          "premiered",
      +          "ended",
      +          "rating",
      +          "network",
      +          "summary",
      +          "url",
      +          "image"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total_found": {
      +      "description": "Total number of shows found",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "total_found",
      +    "shows"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "query": "Breaking Bad"
      +  },
      +  {
      +    "query": "sci-fi drama"
      +  }
      +]
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already convey readOnlyHint, idempotentHint, and openWorldHint. The description adds behavioral context by listing the exact return fields (name, genres, dates, status, rating, network, summary, images) and the match behavior. It does not contradict annotations. While it omits potential errors or rate limits, the combination of annotations and description provides sufficient transparency for a search tool.

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 front-loaded with purpose and a clear entry point claim. The examples are useful for illustrating usage. It is slightly long with six examples, but each adds context. No unnecessary words. Could be trimmed slightly, but overall well-structured and scannable.

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

Completeness5/5

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

The description covers purpose, usage, input format, output fields, and distinguishes from ID-based lookups. The presence of an output schema and annotations fills in remaining details. For a single-parameter search tool, nothing critical is missing.

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 a single parameter 'query' described as 'TV show name or keyword to search for'. The description emphasizes using the title directly ('takes the TITLE directly'), which adds marginal emphasis but does not significantly extend beyond the schema. Baseline of 3 is appropriate since the schema already handles param meaning.

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

Purpose5/5

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

The description clearly states the tool searches TV series by name on TVmaze and returns facts. It uses specific verbs ('Look up', 'search'), identifies the resource ('TV SERIES BY NAME on TVmaze'), and distinguishes itself from siblings by claiming to be 'THE entry point for a named series' and contrasting with resolving an ID first. The examples reinforce the verb-resource purpose.

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

Usage Guidelines4/5

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

The description provides strong guidance on when to use this tool: when querying a TV series by name. It gives multiple natural language query examples and explicitly states it is the entry point for named series. However, it does not explicitly state when NOT to use it or mention alternatives like search_movies or get_tv_show for other use cases, so not a full 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.5/5.0
Disambiguation2/5

Many tools have heavily overlapping purposes—ask_pipeworx, ask_pipeworx_beta, and ask_pipeworx_grounded are nearly identical, while entity_profile, compare_entities, and recent_changes all pull overlapping company data. The server is named 'Movies' but only 4 of 35 tools relate to movies, making it impossible to infer what the tool set is actually for.

Naming Consistency2/5

Naming is a mix of verb_noun (search_movies, get_tv_schedule), bare nouns (remember, recall), brand prefixes (pipeworx_*, polymarket_*), and ad-hoc verbs (ask_pipeworx vs validate_claim). There is no consistent convention; even the pipeworx family uses ask_ vs grounded vs beta suffixes that don't follow a predictable pattern.

Tool Count2/5

35 tools is heavy for a single server, and for a 'Movies' server it is extreme overkill since the vast majority have nothing to do with movies. Even if the intent was a general data/betting server, 35 tools exceed the upper bound of the well-scoped range and would be better split into focused servers.

Completeness2/5

As a movies/TV server it is severely incomplete: there is no get_movie, no reviews, no watchlist, no person/actor search—only search_movies, search_tv_shows, get_tv_show, and get_tv_schedule. If instead the domain is Pipeworx data, coverage is better but still lacks mutation tools (e.g., no create/update for subscriptions beyond subscribe/unsubscribe) and the movie tools become dead weight.