Skip to main content
Glama

tvmaze-mcp-server

Server Details

Search TVmaze shows, next episodes in your timezone, episode guides, daily TV schedules, and cast.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cyanheads/tvmaze-mcp-server
GitHub Stars
0
Server Listing
tvmaze-mcp-server

TDQS

A4.5/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct resource-action pair: search, lookup by external ID, show profile, episodes, cast, next episode, and schedule. Any potential overlap, such as get_show also exposing previous/next episode, is explicitly clarified in the descriptions with guidance on which tool to use.

Naming Consistency5/5

All tool names follow the same tvmaze_ + verb + noun pattern, mostly using get_ for retrieval and lookup_/search_ for resolution. The naming is predictable and makes the tool set easy to navigate.

Tool Count5/5

Seven tools is a well-scoped size for a read-only TV metadata server. Each tool covers a meaningful portion of the TVmaze API without excessive fragmentation or unnecessary duplication.

Completeness4/5

The core workflows are well covered: search, external ID lookup, show details, episodes, cast, and schedules. Minor gaps remain, such as no dedicated previous-episode lookup and no way to page through search results, but these can be worked around with existing tools.

Available Tools

7 tools
tvmaze_get_castTvmaze Get CastA
Read-onlyIdempotent
Inspect

List the credited cast of a show with the characters they play, optionally with crew; or list the guest cast of one episode. The source records no recurring-versus-guest distinction on a show’s cast list, so a name’s absence from it does not mean the performer never appeared — check an episode’s guest cast for that.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
castNoCast credits — for scope "show", the main cast; for scope "episode", that episode’s guest cast.
crewNoCrew credits. Present only when include_crew was set on a show query.
errorNoPresent when the call failed. Absent on success.
scopeNoWhich credit list was returned.
noticeNoGuidance when no credits are recorded. Absent otherwise.
subject_idNoTVmaze id the credits belong to — a show id or an episode id, matching scope.
totalCountNoCredits returned, cast plus crew.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already state readOnlyHint, openWorldHint, and idempotentHint. The description adds useful behavioral context beyond that: the source records no recurring-versus-guest distinction and the implication for interpreting absence, which is a non-obvious limitation an agent needs to know.

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 exactly two sentences, front-loading the core operation in the first sentence and then adding the crucial open-world caveat in the second. Every clause earns its place with no redundancy.

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

Completeness5/5

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

Given the rich schema descriptions, output schema, and annotations, the description still fills the remaining semantic gap by explaining the show-versus-episode distinction and why checking the episode guest cast for possible appearances. Nothing the agent needs to call this correctly 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%, so the schema already documents every parameter, including include_crew and its default and the sources for show_id and episode_id. The description adds only the 'optionally with crew' notion, lightly reinforcing the schema but not going beyond the schema's already-rich parameter text.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'List the credited cast of a show with the characters they play' and explicitly distinguishes the show-level and episode-scope modes. This clearly separates it from sibling tools like tvmaze_get_episodes and tvmaze_get_show, whose purposes are different resources.

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 is clear about when to use episode guest cast versus show cast, including the caveat that absence from the show cast list does not prove non-appearance and pointing the agent to 'check an episode’s guest cast for that.' It does not explicitly name sibling tools, but the tool itself already covers the cast-retrieval niche.

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

tvmaze_get_episodesTvmaze Get EpisodesA
Read-onlyIdempotent
Inspect

List a show’s episodes with air times, runtimes, and synopses. Pass a season number to list one season, which is the cheaper path and the usual one; omit it to walk the whole run, which is paged because a long-running series returns hundreds of episodes. Specials are excluded unless include_specials is set.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum episodes to return in one call. Raise it for a short series; the default keeps a long run inside a reasonable response size.
cursorNoContinuation token from a previous call’s next_cursor. Omit for the first page.
seasonNoSeason number to list, as numbered in the season list from tvmaze_get_show. Omit to list every episode of the series. Daily shows number seasons by calendar year.
show_idYesTVmaze show id, from tvmaze_search_shows, tvmaze_lookup_show, or tvmaze_get_schedule.
timezoneNoIANA timezone name for the air times, e.g. "America/Los_Angeles". Defaults to the server-configured timezone.
include_specialsNoInclude specials alongside regular episodes. Off by default because specials roughly double the result count on a series that has many.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page limit that was applied.
showNoThe show the episodes belong to.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of episodes returned on this page.
noticeNoGuidance when nothing was recorded, or when specials were filtered out of a season listing. Absent otherwise.
seasonNoSeason number listed. Absent when the whole run was listed.
episodesNoEpisodes in airing order.
has_moreNoTrue when more episodes remain beyond this page.
timezoneNoIANA timezone the air times were rendered in.
truncatedNoTrue when the page limit was reached.
totalCountNoEpisodes matching before the page limit was applied.
next_cursorNoPass as cursor to fetch the next page. Absent on the last page.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and open-world behavior. The description adds meaningful non-obvious behavior: specials are excluded by default, the whole-run path is paged, and a season-scoped call is cheaper. This goes beyond the annotations and helps the agent predict response cost and filtering behavior.

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

Conciseness5/5

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

Three sentences, each earning its place: the main purpose, the season-vs-full-run decision with cost/paging context, and the specials default. The most important usage guidance is front-loaded.

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

Completeness5/5

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

Given the rich output schema and well-covered parameters, the description covers the key behavioral decisions an agent needs: season scoping, paging, and specials handling. No critical operational detail is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so a baseline of 3 is appropriate. The description adds extra value by highlighting the season parameter as the cheaper/usual path, explaining that omitting it triggers a paged walk, and noting the specials-exclusion default tied to include_specials. These nuances are not fully captured in the parameter descriptions.

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

Purpose5/5

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

The description uses a specific verb (List) and resource (a show's episodes) and names the returned content (air times, runtimes, synopses). It clearly distinguishes this from sibling tools like tvmaze_get_next_episode, tvmaze_get_schedule, and tvmaze_get_cast by focusing on episode listing with season/paging behavior.

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

Usage Guidelines4/5

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

The description gives clear direction on the common path (pass a season number) and the alternative (omit it to walk the whole run), including the cost tradeoff and paging implication. It does not explicitly name sibling alternatives, but the guidance is sufficiently actionable for an agent to decide how to call the tool.

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

tvmaze_get_next_episodeTvmaze Get Next EpisodeA
Read-onlyIdempotent
Inspect

Report when a show’s next episode airs, converted to a viewer timezone. Accepts a TVmaze id or a show title — a title is resolved with a stricter single-match search than tvmaze_search_shows uses. A show with no scheduled next episode is reported as a miss carrying its most recent episode, which is the normal state for a series between seasons.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
showNoThe show the answer is about. Absent when the show itself could not be resolved.
errorNoPresent when the call failed. Absent on success.
foundNoTrue when a next episode is scheduled.
guidanceNoWhat to do next when no next episode was returned. Absent on a hit.
timezoneNoIANA timezone the air times were rendered in.
miss_reasonNoWhy no next episode was returned. "show_not_found" means the title or id resolved to nothing; "no_scheduled_episode" means the show exists but has nothing on the schedule.
next_episodeNoThe next scheduled episode. Absent on a miss.
previous_episodeNoThe most recently aired episode. Returned on a hit and on a "no_scheduled_episode" miss, so a between-seasons answer still says where the show left off.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds meaningful behavior beyond that: the stricter title matching and the miss-with-most-recent-episode behavior. It does not cover potential errors (e.g., show not found) but that is minor given the annotations and the tool's read-only nature.

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 two sentences, front-loads the core purpose, and includes only essential details. No fluff or redundancy—every sentence earns its place.

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

Completeness4/5

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

For a simple lookup tool with an output schema and annotations covering safety and idempotency, the description covers the key aspects: what it returns, how to specify the show (id or title), timezone conversion, and the miss behavior. It doesn't mention error cases, but that is not critical given the output schema exists and the tool is read-only. The description is adequate for an agent to invoke it correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds extra value by clarifying that title resolution uses a stricter single-match search than tvmaze_search_shows, which is not fully captured in the schema. It also ties the timezone parameter to the viewer timezone conversion. This goes beyond schema details, hence a 4.

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

Purpose5/5

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

The description opens with a clear verb-resource pair ('Report when a show's next episode airs') and explicitly notes it accepts either an id or title, distinguishing it from siblings like tvmaze_get_episodes (which lists episodes) and tvmaze_search_shows (which is a broader search). The purpose is unambiguous and differentiates itself.

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

Usage Guidelines4/5

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

The description gives clear context: it mentions the stricter single-match search relative to tvmaze_search_shows, implying when to use this tool for title resolution, and explains the miss behavior for off-season shows. However, it does not explicitly state 'use this when you need the next air date' or contrast with all alternative tools, leaving some inference to the agent.

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

tvmaze_get_scheduleTvmaze Get ScheduleA
Read-onlyIdempotent
Inspect

List television episodes airing on a given date. Scope "linear" covers broadcast and cable networks in one country; "streaming" covers streaming services — global services such as Netflix and Prime Video when no country is given, or that country’s local streaming services when one is. Scope "all" merges both. The source caches schedule data for up to an hour, so a same-day listing can lag a late change.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDate to list, ISO 8601 (YYYY-MM-DD). Defaults to today in the requested timezone.
limitNoMaximum entries to return in one call. A full day in one country runs to roughly 50 broadcast entries and over 120 global streaming entries.
scopeNoWhich feed to read. "linear" is broadcast and cable networks; "streaming" is streaming services; "all" merges both and costs three upstream requests.linear
cursorNoContinuation token from a previous call’s next_cursor. Omit for the first page.
countryNoISO 3166-1 alpha-2 country code, e.g. "US", "GB", "JP". The United Kingdom is "GB". Required in effect for scopes "linear" and "all" — omitted, it falls back to the server-configured country. For scope "streaming", omitting it selects global streaming services rather than one country’s local ones.
timezoneNoIANA timezone name for the air times, e.g. "America/Los_Angeles". Defaults to the server-configured timezone. Also decides what "today" means when date is omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page limit that was applied.
dateNoDate listed, ISO 8601 (YYYY-MM-DD).
errorNoPresent when the call failed. Absent on success.
shownNoNumber of entries returned on this page.
noticeNoGuidance when nothing is listed, or when one feed of a merged query did not respond. Absent otherwise.
entriesNoEpisodes airing on the date, earliest first.
has_moreNoTrue when more entries remain beyond this page.
timezoneNoIANA timezone the air times were rendered in.
truncatedNoTrue when the page limit was reached.
totalCountNoMerged entry count before the page limit was applied.
next_cursorNoPass as cursor to fetch the next page. Absent on the last page.
applied_feedsNoExactly which upstream feeds the results cover, e.g. ["linear:US"], ["web:global"], ["linear:GB","web:GB","web:global"].

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/openWorld annotations, the description discloses meaningful behavioral details: schedule data is cached for up to an hour and may lag late changes, and the "all" scope costs three upstream requests. This helps an agent anticipate staleness and cost without contradicting the annotations.

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?

Four sentences, front-loaded with the core action, and each sentence earns its place. The scope definitions are compact, and the caching caveat is a single clear warning. No filler or redundant restating of the schema.

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

Completeness5/5

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

The description is complete for this tool: it addresses the main decision axes (scope, country, timezone), discloses the cache and request-cost behavior, and relies on the output schema and detailed parameter schema for paging and return values. Nothing essential is missing.

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 schema already covers all six parameters with 100% coverage, so the baseline is 3. The description adds value by integrating parameter meanings into scenarios: how scope and country interact for streaming services, what "all" costs, and how timezone affects the default date. This is useful beyond the isolated schema descriptions.

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

Purpose5/5

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

The description opens with a specific verb and resource: "List television episodes airing on a given date." It then clarifies the three scope variants, which clearly differentiates this from show/cast/episode lookup siblings. An agent can immediately know what this tool does and how it differs from 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 Guidelines4/5

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

The description gives clear context for choosing between linear, streaming, and all scopes, and explains how country affects global vs local streaming. It does not explicitly name sibling alternatives or say when not to use this tool, but the schedule-specific purpose and scope guidance are sufficient for correct selection.

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

tvmaze_get_showTvmaze Get ShowA
Read-onlyIdempotent
Inspect

Fetch a television show by its TVmaze id: full profile, weekly broadcast slot, season list, and the previous and next episode when the source has them. This is the entry point for an id returned by tvmaze_search_shows or tvmaze_lookup_show. For the episode list itself use tvmaze_get_episodes, and for credits use tvmaze_get_cast.

ParametersJSON Schema
NameRequiredDescriptionDefault
show_idYesTVmaze show id, from tvmaze_search_shows, tvmaze_lookup_show, or tvmaze_get_schedule.
timezoneNoIANA timezone name for rendering the previous and next episode air times, e.g. "America/Los_Angeles" or "Europe/London". Defaults to the server-configured timezone.

Output Schema

ParametersJSON Schema
NameRequiredDescription
showNoFull show profile.
errorNoPresent when the call failed. Absent on success.
noticeNoGuidance when a Running show has no scheduled next episode. Absent otherwise.
seasonsNoEvery season TVmaze records, in order. Pass a season number to tvmaze_get_episodes.
timezoneNoIANA timezone the episode times were rendered in.
next_episodeNoThe next episode scheduled to air. Absent when none is scheduled — a Running show between seasons has no next episode.
previous_episodeNoThe most recently aired episode. Absent for a show that has not premiered.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=true, so the safety profile is covered. The description adds useful behavioral context: it discloses that previous/next episode are included only 'when the source has them', and that the timezone parameter affects rendering of those air times. It doesn't describe pagination or rate limits, but for a read-only fetch with an output schema, the added context is sufficient.

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

Conciseness5/5

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

Three sentences, each earning its place: the first states the resource and contents, the second gives provenance, the third routes to siblings. The key scoping information is front-loaded, and there is no repetition of schema or annotation content.

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?

For a read-only fetch tool with an output schema, the description is complete. It covers what the tool returns, where the id comes from, how the timezone parameter behaves, and which siblings to use for other data. The annotations cover safety, and the output schema covers return structure, so nothing essential is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema already documents both parameters well. The description adds value by explaining the provenance of show_id (from search/lookup/schedule) and by clarifying that timezone is for rendering episode air times, which reinforces the schema's description. This goes slightly beyond the baseline 3.

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 states a specific verb ('Fetch') and resource ('a television show by its TVmaze id'), and enumerates exactly what is included: full profile, weekly broadcast slot, season list, and previous/next episode when available. It also distinguishes itself from sibling tools by naming tvmaze_search_shows, tvmaze_lookup_show, tvmaze_get_episodes, and tvmaze_get_cast, so an agent can clearly tell it apart.

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

Usage Guidelines5/5

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

The description explicitly says this is the entry point for an id returned by tvmaze_search_shows or tvmaze_lookup_show, and explicitly routes the agent to tvmaze_get_episodes for the episode list and tvmaze_get_cast for credits. This is clear when-to-use and when-not-to-use guidance with named alternatives.

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

tvmaze_lookup_showTvmaze Lookup ShowA
Read-onlyIdempotent
Inspect

Resolve a television show from its id in another catalog — IMDb, TheTVDB, or TVRage — and return the matching TVmaze profile. Use this to cross a show id from another source into TVmaze. A show absent from TVmaze is reported as a miss with guidance, not an error.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
showNoThe resolved show. Absent on a miss.
errorNoPresent when the call failed. Absent on success.
foundNoTrue when the external id resolved to a TVmaze show.
sourceNoCatalog the lookup was made against.
guidanceNoWhat to do next when the lookup missed. Absent on a hit.
external_idNoId that was looked up, as submitted.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, openWorld, and idempotent hints. The description adds valuable non-obvious behavior: when a show is absent from TVmaze, the tool reports a miss with guidance rather than raising an error. This edge-case disclosure goes beyond what the annotations and schema provide.

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?

Two sentences with no filler. The core action and use case come first, and the miss-handling behavior is a distinct, valuable second sentence. Every element earns its place.

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 tool is simple, the annotations cover safety and idempotency, the output schema documents the return value, and the description covers the failure mode. No necessary information is missing for an agent to select and invoke this tool 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?

Input schema coverage is 100%, with each source variant and external_id pattern fully documented. The description adds no new parameter-level meaning beyond restating the three catalogs, so the schema carries the semantic weight. This matches the baseline for full schema coverage.

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

Purpose5/5

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

The description names a precise verb and resource: resolve an external catalog id (IMDb, TheTVDB, TVRage) into a TVmaze profile. It also conveys the distinguishing scope — this is a cross-reference lookup, not a search or a direct TVmaze-id fetch — which separates it from siblings like tvmaze_get_show and tvmaze_search_shows.

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 explicitly states when to use it: 'Use this to cross a show id from another source into TVmaze.' This is clear contextual guidance. It does not explicitly name sibling alternatives or exclusion conditions, but the use case is unambiguous enough that an agent can route correctly.

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

tvmaze_search_showsTvmaze Search ShowsA
Read-onlyIdempotent
Inspect

Search television shows by title and return up to 10 matches, each with its network or streaming service, production status, genres, rating, and ids in other catalogs. Matching is fuzzy, so small typos still resolve. The result set is hard-capped at 10 by the source and cannot be paged — narrow the title to reach an eleventh match. To go the other way, from an IMDb or TheTVDB id to a show, use tvmaze_lookup_show.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesShow title or title fragment. Matched fuzzily against every show title in the database, so minor misspellings still resolve.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe result ceiling the source applied.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of shows returned.
showsNoMatching shows, best match first. At most 10.
noticeNoGuidance when nothing matched or when the ten-result ceiling was reached. Absent otherwise.
truncatedNoTrue when the source's fixed ten-result ceiling was reached.
effectiveQueryNoThe query as submitted upstream.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, and the description adds valuable behavioral context on top: fuzzy matching behavior, the hard-capped result set, the lack of pagination, and the exact data fields returned. This goes well beyond what annotations alone provide and contradicts nothing.

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

Conciseness5/5

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

Three purposeful sentences: the first defines the operation and return value, the second covers matching and limits, and the third routes to the correct alternative. No filler, no repetition, and the most important information is front-loaded.

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?

For a single-parameter read-only search tool, this description is fully self-sufficient. It tells the agent what the tool does, what data it returns, its fuzzy behavior, its pagination limitations, and how to choose a sibling tool. The presence of an output schema means return-value details don't need to be restated.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds an extra layer of guidance beyond the schema by explaining that narrowing the query is required to reach results beyond the hard cap, which gives the agent a strategy for using the query parameter effectively.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Search television shows by title', then enumerates exactly what each match returns. It also distinguishes itself from the sibling tvmaze_lookup_show by explicitly stating it handles the reverse direction, making tool selection unambiguous.

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

Usage Guidelines5/5

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

The description provides clear usage context: it tells the agent this is the right tool for title-based fuzzy search and explicitly says to use tvmaze_lookup_show when starting from an IMDb or TheTVDB id. It also documents the practical constraint of the 10-result cap and the strategy of narrowing the title.

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.

  1. 7 tool updates
    • First observedtvmaze_get_cast
    • First observedtvmaze_get_episodes
    • First observedtvmaze_get_next_episode
    • First observedtvmaze_get_schedule
    • First observedtvmaze_get_show
    • First observedtvmaze_lookup_show
    • First observedtvmaze_search_shows

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching TV show metadata, episodes, and schedules via the TVMaze API with no authentication required.
    1 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching for movies and TV shows, retrieving detailed show information, and checking TV broadcast schedules through natural language or direct tool calls.
    2 npm
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables querying TV programming data from Tunarr XMLTV feeds, including viewing channel listings, current and upcoming schedules, and searching for programmes by title or description.
    5
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables querying The Movie Database (TMDB) v3 API for movie and TV show information, including search, episode details, and trending content.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.