zinema
Server Details
Turn movie/TV recommendations into playable trailer pages: permanent, free, every title plays.
- Status
- Healthy
- Uptime
- 99.8% over 82 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
Each tool targets a distinct action: create_list creates a trailer list, get_list checks the playability status of an existing list, and where_to_watch finds streaming services for a title from a list. The purposes do not overlap significantly, so an agent can easily select the right tool.
Two tools follow a verb_noun pattern (create_list, get_list), while where_to_watch is a phrase rather than a verb. All use snake_case consistently, but the deviation in verb style is a minor inconsistency.
Three tools is a reasonable number for a focused trailer-list service, each earning its place. The count is within the typical 3-15 range, though it is on the lower end.
The surface covers creating a list, checking status, and finding streaming services, but lacks operations like deleting or updating lists, or enumerating all created lists. Without a way to retrieve list contents beyond the initial create response, some workflows may hit dead ends.
Available Tools
3 toolscreate_listCreate a playable trailer listAIdempotentInspect
Creates a trailer list on zinema.tv from movie and TV show titles. In apps that support interactive results, the trailers play in the conversation; the returned link opens the same list in a browser, with each trailer in the requested language when a dub exists. Use when the user asks for movie or show recommendations, or wants to see trailers for specific titles. Returns, for each title, what it matched (title, year, TMDB id) and whether a trailer is playable now, pending, or unavailable.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Your recommended titles, in the order you want them to play. | |
| title | No | Optional page title, e.g. 'Slow-burn thrillers for tonight'. Plain text, no URLs. | |
| language | Yes | Language of your conversation with the user. Drives trailer language (original-with-subtitles when no dub exists), page wording and localized titles. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, idempotentHint=true, openWorldHint=true), the description discloses meaningful behavior: trailers play inline in apps with interactive results, the returned link opens the same list in a browser, and trailer language falls back to original-with-subtitles when no dub exists. It also describes per-title match/playability outcomes. It doesn't cover auth requirements or how long the created list persists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences that are front-loaded with purpose, then behavior, then usage and return shape. Each sentence carries information and there is no filler, though the return-value sentence is dense and could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully compensates by describing what comes back for each title (matched title, year, TMDB id, playability status). Combined with annotations covering the safety profile, an agent has what it needs to invoke correctly; only auth and list-persistence details are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so items, title, and language are already fully documented in the schema, including the maxItems of 20 and enum values. The description's language note (dub when available, original-with-subtitles otherwise) largely echoes the language parameter's own schema description, adding little beyond it. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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: 'Creates a trailer list on zinema.tv from movie and TV show titles.' That is unambiguous and clearly distinct from the read-oriented sibling get_list, though it never names that sibling explicitly. Purpose is clear without sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use when the user asks for movie or show recommendations, or wants to see trailers for specific titles' gives a clear triggering context. It stops short of stating when NOT to use it or naming get_list as the alternative for retrieving an existing list, so it lacks explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_listCheck a list's playabilityARead-onlyInspect
Check a zinema list you created earlier: which titles play now. A title that was 'pending' may have become 'playable' (its trailer gets acquired automatically) or 'no_trailer' (none exists anywhere).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The list code returned by create_list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful context beyond the readOnlyHint and openWorldHint annotations by explaining dynamic state transitions from 'pending' to 'playable' or 'no_trailer'. It confirms a read-only operation that reflects changing conditions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two well-structured sentences: the first states the tool's purpose, the second explains the possible status transitions. It is front-loaded and contains no redundant or unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description provides sufficient context about what the tool does and the significance of the statuses. It could be more explicit about the exact return format, but the phrase 'which titles play now' and the status explanations give an agent enough understanding to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the single parameter 'code' as the list code returned by create_list. The description does not add extra parameter details beyond a slight contextual reminder that the list was created earlier, so the baseline for high schema coverage is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks a previously created list and reports which titles currently play. It uses a specific verb ('check') and resource ('zinema list'), and it distinguishes itself from the sibling create_list by focusing on inspection rather than creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used after create_list by referencing 'a list you created earlier'. It does not explicitly mention when not to use it or name alternatives, but the sibling relationship and wording make the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
where_to_watchWhere to watch a titleARead-onlyInspect
Used by the zinema trailer player: lists the streaming services that offer a title from a zinema list in a given country, with a link to each.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | Two-letter country code, e.g. FR or US. | |
| item_id | Yes | The item_id of a title, as returned in a zinema list. | |
| language | No | Language for the title shown. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and external-dependency behavior are covered. The description adds that each result includes a link per service, which is useful return context given there is no output schema, but it says nothing about rate limits, auth, or empty-result behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the consumer context and then the actual action and return shape. No padding, though the 'Used by the zinema trailer player' preamble is somewhat incidental to the agent's decision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup with no output schema and full schema coverage on all three parameters, the description covers purpose, input provenance, and rough return content. Only edge-case behavior (no availability, invalid region) is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 region, item_id, and language including the enum values. The description only loosely restates region ('in a given country') and item_id provenance ('from a zinema list'), adding marginal meaning beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (lists) and resource (streaming services offering a title), plus the scope constraints (given country, from a zinema list). It is unambiguous what the tool returns. Sibling differentiation is unnecessary here since create_list/get_list are a different domain, but the description never explicitly separates itself from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening clause 'Used by the zinema trailer player' implies the calling context, and 'from a zinema list' implies item_id must originate from a list, which is a real precondition. However, there is no explicit when-to-use/when-not guidance or named alternative.
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 tool update
- Added
where_to_watch
2 tool updates
- First observed
create_list - First observed
get_list
Related MCP Connectors
Track the TV and films you watch, and find more like them, by talking to your own AI.
Find movies and shows for tonight with current trends, mood, taste and streaming options.
Search movies/TV by mood, genre, score, cast, and awards, filtered to what's streaming near you.
Find movies and TV shows, track watches, and get suggestions based on your taste.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to recommend the YouTube videos Hacker News commenters repeatedly endorse for a given situation or goal, returning ranked picks with summaries, real commenter reasons, and thread links. Also supports semantic video search, topic browsing, full video cards with HN comments, and similar-video discovery, all locally with no API keys.MIT
- AlicenseAqualityCmaintenanceEnables AI coding agents to turn local or public transcripts into ranked Shorts candidates, non-spoiling chapters, SEO title matrices, thumbnail briefs, and compliance audits without API keys.4MIT
- AlicenseNot gradedqualityAmaintenanceEnables search across videos you've watched via transcripts, on-screen text, and frames, citing exact timestamps. Point it at videos, channels, or playlists; it indexes everything locally and answers queries with deep links to the exact second.3MIT
- AlicenseAqualityCmaintenanceLet AI agents watch videos: local transcripts, speaker labels, scenes, chapters and exact-moment search from any video URL or file. Fully local, no API keys.43AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.