SceneF — California, Florida and Hawaii Movie Showtimes
Server Details
56 California, Florida and Hawaii movie boards: chains, indies, repertory. Verified daily. Free.
- Status
- Healthy
- Uptime
- 100.0% over 36 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 10 tools
Most tools have distinct roles, but several overlap around showtime retrieval: scenef_now and scenef_whats_playing both cover tonight, scenef_film_details and scenef_search_showtimes both return per-film showtimes, and scenef_theater_info overlaps with venue-scoped searches. The detailed descriptions and cross-references help, but an agent could still pick the wrong tool for a given showtime query.
All tool names share the scenef_ prefix and lower_snake_case, making the family recognizable. However, the grammatical pattern is inconsistent: some are verb phrases like search_showtimes and resolve_board, while others are nouns or adverbial phrases like discounts, now, and whats_playing. This is a minor deviation from a strict verb_noun convention.
Ten tools is well within the ideal range for a domain-specific server. Each tool addresses a distinct aspect of the showtime experience—discovery, search, details, discounts, planning, and data quality—without unnecessary redundancy.
The server covers the main movie-showtime workflow well: resolving location, seeing what's playing, searching by film or theater, getting film and theater details, discounts, and planning. The main gap is the lack of a direct way to list or resolve theaters and venues by name, which forces agents to discover venue IDs through film and showtime results.
Available Tools
10 toolsscenef_accuracyThe accuracy recordARead-onlyInspect
Accuracy is computed, not claimed: every showtime carries a confidence level, a source tier, and a last-verified time, and the running record of our own verification checks — failures included — is public at https://scenef.com/api/accuracy. This tool returns that record: the site-wide confidence mix, the counts of verification checks confirmed / missing / unreachable over the record's window (window_days in the payload — 30 days at present) with the pass rate and the exact denominator it was computed from, the same per venue with source tier and last-verified time, and the definitions of every level. Checks that could not run — a bot wall, a client-rendered page — are graded unreachable and excluded from the pass rate rather than counted as passes. Quote these numbers directly; they are recomputed on every call.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | Which regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback. | |
| response_format | No | Output size. "concise" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre. |
Output Schema
| Name | Required | Description |
|---|---|---|
| docs | Yes | |
| site | Yes | |
| method | Yes | |
| region | Yes | |
| venues | Yes | |
| timezone | Yes | |
| data_as_of | Yes | |
| attribution | Yes | |
| region_name | Yes | |
| accuracy_url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnly and non-destructive, but the description adds substantial behavioral context: failures are public, unreachable checks are excluded from the pass rate, the window is 30 days, and results are recomputed on each call. This goes well beyond what annotations convey and gives an agent strong expectations about data provenance and edge cases.
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?
Although the description is relatively long, every sentence earns its place: it establishes provenance, states the return value, explains the unreachable-check handling, and gives usage direction. The structure is front-loaded with the core purpose and expands into necessary methodology without fluff.
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?
The main description is unusually complete for a read-only tool with annotations and an output schema, covering methodology, exclusions, denominator semantics, and recency. It falls just short of perfect because the response_format parameter's schema description appears contaminated with text about whats_playing, and the main description does not clarify the concise/detailed distinction specifically for accuracy output.
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 coverage is 100%, so the main description is not required to re-explain region or response_format. The description contributes output-related context like window_days but does not add input-parameter semantics beyond the schema. It meets the baseline but does not exceed it.
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 first two sentences define a clear resource — the accuracy/verification record — and a specific action: 'This tool returns that record.' It is immediately distinguishable from siblings like scenef_search_showtimes or scenef_now, which focus on showtimes or board listings rather than verification statistics.
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 includes explicit routing guidance: 'Call scenef_now for the full list' of regions, and 'Use scenef_search_showtimes for all times for one film or theatre.' It also advises that the returned numbers should be quoted directly because they are recomputed on every call. It does not comprehensively enumerate every situation where accuracy should be preferred, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scenef_coming_soonComing soon (on-sale radar)ARead-onlyInspect
Films whose first screening on this board is more than 48 hours out, sorted by first night — the on-sale radar for runs worth booking early. Configurable horizon. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | Which regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback. | |
| horizon_days | No | How far ahead to look (default 21 days). | |
| response_format | No | Output size. "concise" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre. |
Output Schema
| Name | Required | Description |
|---|---|---|
| films | Yes | |
| region | Yes | |
| timezone | Yes | |
| data_as_of | Yes | |
| film_count | Yes | |
| attribution | Yes | |
| region_name | Yes | |
| accuracy_url | Yes | |
| horizon_days | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description goes beyond that by disclosing that every emitted showtime includes confidence, source tier, reporting sources and verified_at, and that showtimes_complete marks partial arrays — useful behavioral context for interpreting results.
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 opening is front-loaded and efficient, but the last two sentences contain a confusing 'In whats_playing' reference that appears copy-pasted from a different tool and repeats response-format details already in the schema. Those sentences do not earn their place and harm clarity.
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?
Given the output schema exists, the description does not need to enumerate return fields; it supplies the core selection rule, sorting, configurable horizon, and data-provenance behavior. The whats_playing mis-reference is a notable flaw, but the tool remains callable based on the provided info.
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, horizon_days, and response_format thoroughly. The description adds only the high-level 'Configurable horizon' and not much beyond what the schema provides, so the 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 names a precise resource: films whose first screening on the board is more than 48 hours out, sorted by first night. This clearly separates it from scenef_whats_playing and scenef_search_showtimes, and the 'on-sale radar' phrasing conveys the intended booking use case.
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 'worth booking early' phrasing implies when to use it, and 'Configurable horizon' hints at tuning, but there is no explicit when-to-use/when-not-to-use guidance or named alternatives. The agent must infer the tool's niche from the title and wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scenef_discountsDiscount gridARead-onlyInspect
Every structured discount across one board's theaters — venue, label, detail, and day-bound days — with the ones that apply today flagged.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | Which regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback. | |
| response_format | No | Output size. "concise" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre. |
Output Schema
| Name | Required | Description |
|---|---|---|
| region | Yes | |
| venues | Yes | |
| timezone | Yes | |
| today_dow | Yes | |
| data_as_of | Yes | |
| today_name | Yes | |
| attribution | Yes | |
| region_name | Yes | |
| accuracy_url | Yes | |
| applies_today_count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, destructiveHint=false) already convey safety. The description adds behavioral context by mentioning that today's applicable discounts are flagged, which is useful. It doesn't specify other behaviors like sorting or pagination, but given annotations, this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the core function and includes key attributes. It is efficient with no wasted words, making it easy to scan.
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?
Given the output schema exists and the tool has only 2 optional parameters, the description covers the essential context. It doesn't explain edge cases like empty boards, but the output schema likely handles that. Overall, enough for an agent to call 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?
Schema description coverage is 100%, so parameters are fully documented. The description doesn't add much beyond the schema, but since the schema is complete and detailed (including error behavior for region, and response format details), the baseline of 3 is elevated to 4 because the schema itself is well-written and covers semantics.
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's purpose: listing structured discounts across a board's theaters with specific attributes (venue, label, detail, day-bound days) and flags applicable ones. It distinguishes from siblings by focusing on discounts, though it doesn't explicitly differentiate from related tools like scenef_whats_playing, but the purpose is clear.
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 usage context: querying discounts for a board's theaters. It doesn't explicitly state when not to use it or name alternatives, but the schema's response_format description mentions using scenef_search_showtimes for all times for one film/theatre, which gives partial guidance. This is clear but lacks explicit 'when not to use' statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scenef_film_detailsFilm detailsARead-onlyInspect
The full card for one film: title, year, runtime, genres, directors, cast, overview, rating, trailer and poster urls when present, every upcoming showtime with venue/time/ticket link, and a last-night flag when the run is ending. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.
| Name | Required | Description | Default |
|---|---|---|---|
| film | Yes | Film title or SceneF slug. | |
| region | No | Which regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback. | |
| response_format | No | Output size. "concise" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre. |
Output Schema
| Name | Required | Description |
|---|---|---|
| film | No | |
| query | Yes | |
| region | Yes | |
| matched | Yes | |
| timezone | Yes | |
| showtimes | No | |
| candidates | No | |
| data_as_of | Yes | |
| attribution | Yes | |
| final_night | No | |
| region_name | Yes | |
| accuracy_url | Yes | |
| is_last_night | No | |
| showtime_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable transparency about the potential for a last-night flag, the inclusion of accuracy metadata (confidence, source tier, verified_at), and the behavior of the region parameter (error if unknown, no inference). This adds context that isn't in the annotations, though it could mention what happens when a film is not found or showtime data is incomplete.
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 dense and front-loaded with the core purpose, then lists fields efficiently. It could be slightly more concise by trimming some redundant explanation of the response formats (e.g., the schema already describes them, but the description elaborates). However, every sentence earns its place by adding useful detail about metadata and exclusions.
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?
The tool is moderately complex with three parameters and a rich output schema, but the description covers the key scenarios: when to use the tool, what data it returns, and how to control output detail. The output schema presumably documents resulting fields, so the description doesn't need to explain return values. Missing is explicit mention of error handling or edge cases (e.g., film not found), but these are minor given the existing coverage.
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 all three parameters thoroughly. The description does add some value by explaining the behavior of 'concise' versus 'detailed' response formats, but the schema already covers the enum and the region's error behavior. Since schema does the heavy lifting, a baseline of 3 is appropriate; it doesn't significantly augment beyond what's already there.
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 explicitly states it provides the full card for one film, listing the specific data fields (title, year, runtime, genres, etc.), and distinguishes itself by noting it covers showtimes per film, unlike sibling tools that handle broader search or planning. This makes it clear what the tool does and how it differs from others.
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 gives explicit when-to-use guidance: it mentions that for all times for one film or theatre, use scenef_search_showtimes instead. It also clarifies the distinction between 'concise' and 'detailed' response formats, helping the agent choose the right call. This goes beyond simple context and includes exclusions, making it a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scenef_nowRight nowARead-onlyInspect
The cheap is-anything-on call: how many screenings tonight, the next 5 curtains across this board with venue/time/film, and dataset freshness per source. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | Which regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback. | |
| response_format | No | Output size. "concise" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre. |
Output Schema
| Name | Required | Description |
|---|---|---|
| boards | Yes | |
| region | Yes | |
| sources | Yes | |
| night_of | Yes | |
| timezone | Yes | |
| data_as_of | Yes | |
| is_tonight | Yes | |
| attribution | Yes | |
| region_name | Yes | |
| accuracy_url | Yes | |
| next_curtains | Yes | |
| still_to_come | Yes | |
| screenings_tonight | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only annotations, the description discloses meaningful behavior: outputs are capped at tonight's count plus the next 5 showtimes, every emitted showtime carries confidence, source tier, reporting sources and verified_at, and dataset freshness is reported per source. It also explains the concise/detailed output split and that showtimes_complete flags a partial array. Nothing contradicts readOnlyHint, openWorldHint, or destructiveHint; the weird 'In whats_playing' formatting keeps this from a 5.
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 opening sentence front-loads the core purpose in a dense, efficient clause and the second sentence adds output-metadata detail in one line. The third sentence is information-dense but reads awkwardly with 'In whats_playing,' which slightly hurts scannability. No wasted sentences, but the structure could be cleaner.
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 a full output schema, 100% parameter coverage, and read-only annotations in place, the description covers the essential call semantics: scope, freshness, per-showtime metadata, and output-size behavior. The main gap is the unclear relationship to the scenef_whats_playing sibling, especially given the 'In whats_playing' phrasing, which an agent may misread as pointing to that sibling tool rather than describing the board output.
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 both parameters, including the default-board behavior, 'never inferred from where you are,' and error-on-unknown-region semantics for region, plus the concise/detailed output details for response_format. The description's reference to concise/detailed largely restates what the schema's response_format text already covers, adding only the wrapper framing of 'cheap.' A baseline 3 is appropriate since the description does not materially extend the parameter docs.
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 and distinctive positioning — 'The cheap is-anything-on call' — then enumerates concrete outputs: how many screenings tonight, the next 5 curtains with venue/time/film, and dataset freshness per source. This clearly identifies the tool as a lightweight, board-scoped status check and separates it from richer siblings like scenef_search_showtimes or scenef_whats_playing. The only minor ambiguity is the 'In whats_playing' phrase, but the core purpose is unmistakable.
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 is only implied through the phrase 'cheap is-anything-on call,' which signals a quick check but never explicitly states when not to use the tool or names an alternative within the description. The explicit alternative guidance ('Use scenef_search_showtimes for all times for one film or theatre') lives in the schema's response_format text, not in the description itself. The awkward 'In whats_playing' wording further blurs the boundary with the scenef_whats_playing sibling rather than clarifying when each is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scenef_plan_movie_nightPlan a movie nightARead-onlyInspect
The concierge: give it a window and a taste profile and it returns 2-4 complete plans — film + specific showtime + theater + why it fits — each with ticket and calendar links, plus one wildcard pick outside the stated genres. Rankings are pure preference-fit; never pay-ranked. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.
| Name | Required | Description | Default |
|---|---|---|---|
| when | No | When to look: "tonight" (default), "tomorrow", "weekend" (Fri/Sat/Sun of the current week), or a YYYY-MM-DD date. | |
| region | No | Which regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback. | |
| party_size | No | How many people are going. | |
| preferences | No | Bring-your-own taste profile. Everything here tilts the ranking and degrades gracefully EXCEPT time_after/time_before, which are hard bounds. | |
| response_format | No | Output size. "concise" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| plans | Yes | |
| nights | Yes | |
| region | Yes | |
| window | Yes | |
| timezone | Yes | |
| warnings | Yes | |
| wildcard | Yes | |
| data_as_of | Yes | |
| party_size | Yes | |
| plan_count | Yes | |
| attribution | Yes | |
| region_name | Yes | |
| accuracy_url | Yes | |
| discounts_relaxed | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavior beyond the readOnly/destructive annotations: rankings are 'pure preference-fit; never pay-ranked', a wildcard pick is always included, every showtime carries confidence/source tier/verified_at metadata, and concise vs detailed response shapes differ. The 'In whats_playing...' phrasing introduces some ambiguity about which tool's output is being described, but it does not contradict 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 early sentences are dense and information-rich, and the ranking/metadata disclosures are valuable. However, the closing 'In whats_playing...' sentence is awkward and appears mislabeled for this tool, making the description feel less cohesive than it could be.
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?
Given the output schema exists and the parameter schema is fully documented, the description covers the planning behavior, ranking philosophy, output metadata, and response format. The main gaps are explicit sibling routing and the minor naming confusion around 'whats_playing', but an agent still has enough information to call the tool 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?
Schema description coverage is 100%, so the baseline is 3. The main description only broadly refers to a 'window and taste profile' and adds no parameter-specific meaning beyond the schema. The rich hard/soft preference semantics live inside the input-schema descriptions, not in the tool description itself.
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 what the tool produces: 2-4 complete movie-night plans with film, showtime, theater, rationale, ticket links, calendar links, and a wildcard pick outside stated genres. It positions the tool as a 'concierge' planner, which separates it from the sibling list/search tools, though it doesn't explicitly name the sibling it competes with.
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 tool's purpose implies when to use it—when the user wants curated plans rather than raw listings. The response_format parameter adds one useful alternative: 'Use scenef_search_showtimes for all times for one film or theatre.' However, there is no explicit statement of when to choose plan_movie_night over scenef_whats_playing or the other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scenef_resolve_boardWhich board covers this placeARead-onlyInspect
Translate a city, 5-digit ZIP, neighborhood or board alias into the region handle every other tool takes. Returns the board and WHAT matched it. Refuses rather than guessing: an ambiguous name returns candidates (Gainesville is a town in Texas and another in Florida), a place we cover but have not published returns outside_coverage with the nearest published boards, and an unknown string returns unknown with no fallback board. Coordinates are not accepted — this reads names, not locations.
| Name | Required | Description | Default |
|---|---|---|---|
| place | Yes | A city ("Pasadena"), a 5-digit ZIP ("94121"), a neighborhood ("the Mission") or a board alias ("the East Bay", "sf"). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| note | No | |
| input | Yes | |
| reason | No | |
| region | No | |
| matched | No | |
| candidates | No | |
| nearest_lit | No | |
| region_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, non-destructive, and non-open-world behavior. The description adds valuable transparency about return content, ambiguity handling, outside_coverage responses, and the lack of a fallback board for unknown strings.
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 compact and front-loaded with the main purpose, followed by behavioral details. The use of 'WHAT' in capitals and the em-dash structure are slightly stylized but do not hurt clarity or add unnecessary length.
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?
Given an output schema exists, the description does not need to spell out every return field. It clearly explains the main output (board and matched input) and the three edge-case response modes, which is sufficient for an agent to know what to expect.
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 single required parameter `place` is fully described in the schema with concrete examples of valid inputs: city names, ZIP codes, neighborhoods, and aliases. The description also clarifies what is not accepted, making the parameter semantics unambiguous.
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 action (Translate) and resource (city, ZIP, neighborhood, board alias) into the region handle used by other tools. The scope is clear and distinguishes it from the sibling tools that operate on films, theaters, and showtimes.
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?
Implicitly tells when to use the tool by clarifying it reads names, not locations, and by describing refusal behavior for ambiguous or unknown input. It does not explicitly name alternative tools, but the scope is reasonably clear from the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scenef_search_showtimesSearch showtimes for a filmARead-onlyInspect
Showtimes scoped by FILM or by THEATER — pass at least one. With film: where that film is playing (title or slug; fuzzy-matched, ambiguous queries return candidates). With venues and no film: everything on at those theaters, each showtime naming its film. Grouped by theater with local times, tags (35mm/qa/sold-out), the night each show belongs to, and a ticket link per showtime. Optional date and time-window filters apply to both. For the whole board with no film or theater in mind, call scenef_whats_playing instead. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Restrict to one night, YYYY-MM-DD. | |
| film | No | Film title, or a SceneF slug taken from films[].slug / scenef_whats_playing. A title that is not on the board answers with a miss and points at scenef_whats_playing, so guessing is safe but browsing is faster. Optional when `venues` is given — omit it to ask what is on at a theater. | |
| region | No | Which regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback. | |
| venues | No | Restrict to these theaters (ids or names), e.g. ["roxie", "Balboa"]. Required when `film` is omitted. | |
| time_after | No | Only shows at or after this local time, "HH:MM" 24h. | |
| time_before | No | Only shows at or before this local time, "HH:MM" 24h. | |
| response_format | No | Output size. "concise" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre. |
Output Schema
| Name | Required | Description |
|---|---|---|
| film | No | |
| query | Yes | |
| region | Yes | |
| venues | Yes | |
| matched | Yes | |
| refusal | No | |
| timezone | Yes | |
| warnings | Yes | |
| candidates | No | |
| data_as_of | Yes | |
| attribution | Yes | |
| filtered_by | No | |
| region_name | Yes | |
| accuracy_url | Yes | |
| coverage_note | Yes | |
| showtime_count | Yes | |
| unknown_venues | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true and destructiveHint=false, so the description adds value by explaining grouping, tags, night association, ticket links, and confidence/source metadata. It also clarifies the difference between concise and detailed output, which is beyond the schema. No contradictions.
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 a single paragraph but covers all major aspects: purpose, parameters, grouping, output variations, and sibling routing. It is front-loaded with the core scoping and ends with the alternative. It is dense but not bloated, slightly long yet every sentence contributes.
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?
Given the tool's complexity (7 params, multiple scoping modes, output formats) and the presence of an output schema, the description is complete. It covers when to use which parameter combination, the behavior of concise vs. detailed, and error handling (unknown region, miss). The output schema likely explains return structure, so the description doesn't need to.
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 coverage is 100%, so the baseline is 3. However, the description adds meaningful semantics: for film, it explains fuzzy matching and ambiguous queries; for venues, it clarifies the condition when film is omitted; for region, it emphasizes that it's never inferred. These go beyond the schema's straightforward parameter descriptions.
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's scope: search showtimes by film or theater, with both options and their variations. It distinguishes itself by grouping by theater, including local times, tags, night, and ticket links. It also forward-references the alternative scenef_whats_playing, making its purpose distinct from siblings.
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 explicitly says to use scenef_whats_playing for the whole board without a film or theater, and the schema's response_format description says to use this tool for all times for one film or theatre. It also notes that guessing a film is safe and browsing is faster, guiding when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scenef_theater_infoTheater infoARead-onlyInspect
One theater's card: address, neighborhood, website, ticketing note, structured discounts (label/detail/day), amenities, its next 5 showtimes with ticket links, and its calendar feed url. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | Which regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback. | |
| theater | Yes | Theater id or name, e.g. "roxie" or "Balboa Theater". | |
| response_format | No | Output size. "concise" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| venue | No | |
| region | Yes | |
| matched | Yes | |
| timezone | Yes | |
| upcoming | No | |
| candidates | No | |
| data_as_of | Yes | |
| attribution | Yes | |
| region_name | Yes | |
| accuracy_url | Yes | |
| upcoming_count | No | |
| covered_venue_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations: it discloses that every emitted showtime carries confidence, source tier, reporting sources, and verified_at; it explains the concise/detailed output semantics including showtimes_complete flag; and it notes the calendar feed URL. This is rich behavioral disclosure that goes beyond the structured fields.
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 dense but well-organized: it front-loads the core purpose, then details the output contents, then explains the response_format variants. Every sentence carries information. It could be slightly more concise by trimming redundancy with the schema (e.g., response_format details are partially in the schema), but the added context about showtimes_complete and confidence metadata earns its place.
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?
Given the output schema exists and the annotations cover safety, the description is complete for an agent to select and invoke this tool correctly. It explains the return structure, the meaning of concise vs detailed, the confidence metadata, and routes to the right sibling for other use cases. Nothing critical is missing.
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 all three parameters thoroughly. The description adds value by explaining the output-size semantics of response_format ('concise' gives total showtime_count and one next screening; 'detailed' includes full array) and by clarifying that region is never inferred. This goes beyond the schema's basic parameter descriptions.
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: 'One theater's card' listing exactly what it contains (address, neighborhood, website, ticketing note, structured discounts, amenities, next 5 showtimes with ticket links, calendar feed URL). It clearly distinguishes itself from siblings by naming scenef_search_showtimes and scenef_whats_playing as alternatives for different granularity. An agent can tell exactly what this tool returns 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool vs alternatives: 'Use scenef_search_showtimes for all times for one film or theatre' and explains the concise vs detailed modes within whats_playing context. The schema also clarifies that region is never inferred and unknown regions are errors. This gives clear routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scenef_whats_playingWhat's playing in California, Florida and HawaiiARead-onlyInspect
Ranked list of films playing California, Florida and Hawaii theaters in a given window (tonight, tomorrow, the weekend, or a date), with optional genre and format filters. When the window covers tonight, opens with Notable tonight — scarcity facts with evidence (measured seat counts, final nights, lone prints, posted discounts, live elements); lead with those when asked what to see. Each entry carries year, runtime, genres, a one-line hook, venue count, showtime_count, the next showtime, and the film's SceneF url. The full per-showtime rows are in "detailed", or from scenef_search_showtimes scoped to one film or theatre. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.
| Name | Required | Description | Default |
|---|---|---|---|
| when | No | When to look: "tonight" (default), "tomorrow", "weekend" (Fri/Sat/Sun of the current week), or a YYYY-MM-DD date. | |
| genres | No | Genre filters, e.g. ["horror", "comedy"]. | |
| region | No | Which regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback. | |
| formats | No | Format/tag filters, e.g. ["35mm", "70mm", "qa", "live-score"]. | |
| max_results | No | Max films to return (default 12, cap 25). | |
| response_format | No | Output size. "concise" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| films | Yes | |
| nights | Yes | |
| region | Yes | |
| window | Yes | |
| notable | Yes | |
| timezone | Yes | |
| data_as_of | Yes | |
| film_count | Yes | |
| attribution | Yes | |
| region_name | Yes | |
| accuracy_url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/destructive annotations, it discloses that tonight queries open with 'Notable tonight' scarcity facts, that showtimes carry confidence/source-tier/reporting-source metadata, and that showtimes_complete indicates whether an array is partial. None of this contradicts the annotations, and it adds meaningful call-visible 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?
The core ranked-list behavior is front-loaded, and the later sentences pack useful output/transparency details without filler. There is slight redundancy ('full per-showtime rows are in detailed' vs 'detailed includes the full array'), but overall it is dense and organized for a fairly complex tool.
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 an output schema present, the description doesn't need to restate return fields, and it still covers output shape, notable-tonight behavior, region handling, alternative search routing, and showtime confidence metadata. An agent has enough to decide when and how to invoke this tool 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?
Schema coverage is 100%, so the schema already documents when/genres/region/formats/max_results/response_format. The description adds value by explaining that a tonight window triggers the Notable-tonight section and by clarifying what 'concise' vs 'detailed' means for the showtimes array, which goes beyond the enum labels.
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?
Description opens with 'Ranked list of films playing California, Florida and Hawaii theaters in a given window...' which states a specific verb, resource, and timeframe. It distinguishes itself from siblings by naming scenef_search_showtimes for per-film/per-theatre showtimes and describes the notable-tonight opener, so an agent knows exactly what this tool returns.
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?
It gives explicit when-to-use signals ('lead with those when asked what to see') and a clear alternative: 'Use scenef_search_showtimes for all times for one film or theatre.' It also points to scenef_now for region lists and explicitly says an unknown region is an error rather than a fallback, so routing is unambiguous.
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.
9 tool updates
- Changed
scenef_accuracy6 fields changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. \"detailed\" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre." - added
Output schema / properties / accuracy_urlAdded value: +{ + "type": "string" +} - added
Output schema / properties / regionAdded value: +{ + "type": "string" +} - added
Output schema / properties / region_nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / timezoneAdded value: +{ + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "data_as_of", - "attribution", - "site", - "venues", - "method", - "docs" -]New value: +[ + "data_as_of", + "attribution", + "accuracy_url", + "region", + "region_name", + "timezone", + "site", + "venues", + "method", + "docs" +]
- Changed
scenef_coming_soon1 field changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. \"detailed\" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre."
- Changed
scenef_discounts1 field changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. \"detailed\" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre."
- Changed
scenef_film_details9 fields changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. \"detailed\" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre." - added
Output schema / properties / showtimes / items / properties / calendar_urlAdded value: +{ + "type": "string" +} - added
Output schema / properties / showtimes / items / properties / confidenceAdded value: +{ + "anyOf": [ + { + "enum": [ + "venue-published", + "corroborated", + "single-source", + "disputed" + ], + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / showtimes / items / properties / freshnessAdded value: +{ + "additionalProperties": false, + "properties": { + "age_hours": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "retained": { + "type": "boolean" + }, + "source_status": { + "enum": [ + "ok", + "held", + "failed", + "unknown" + ], + "type": "string" + }, + "stale_after_hours": { + "type": "number" + }, + "status": { + "enum": [ + "current", + "stale", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "age_hours", + "stale_after_hours", + "retained", + "source_status" + ], + "type": "object" +} - added
Output schema / properties / showtimes / items / properties / noteAdded value: +{ + "type": "string" +} - added
Output schema / properties / showtimes / items / properties / source_tierAdded value: +{ + "type": "string" +} - added
Output schema / properties / showtimes / items / properties / sourcesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / showtimes / items / properties / verified_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / showtimes / items / requiredPrevious value: -[ - "screening_id", - "venue", - "starts_at", - "night_of", - "local_time", - "tags", - "ticket_url" -]New value: +[ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url", + "calendar_url", + "confidence", + "source_tier", + "sources", + "verified_at" +]
- Changed
scenef_now9 fields changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. \"detailed\" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre." - added
Output schema / properties / next_curtains / items / properties / calendar_urlAdded value: +{ + "type": "string" +} - added
Output schema / properties / next_curtains / items / properties / confidenceAdded value: +{ + "anyOf": [ + { + "enum": [ + "venue-published", + "corroborated", + "single-source", + "disputed" + ], + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / next_curtains / items / properties / freshnessAdded value: +{ + "additionalProperties": false, + "properties": { + "age_hours": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "retained": { + "type": "boolean" + }, + "source_status": { + "enum": [ + "ok", + "held", + "failed", + "unknown" + ], + "type": "string" + }, + "stale_after_hours": { + "type": "number" + }, + "status": { + "enum": [ + "current", + "stale", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "age_hours", + "stale_after_hours", + "retained", + "source_status" + ], + "type": "object" +} - added
Output schema / properties / next_curtains / items / properties / noteAdded value: +{ + "type": "string" +} - added
Output schema / properties / next_curtains / items / properties / source_tierAdded value: +{ + "type": "string" +} - added
Output schema / properties / next_curtains / items / properties / sourcesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / next_curtains / items / properties / verified_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / next_curtains / items / requiredPrevious value: -[ - "screening_id", - "venue", - "starts_at", - "night_of", - "local_time", - "tags", - "ticket_url", - "film" -]New value: +[ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url", + "calendar_url", + "confidence", + "source_tier", + "sources", + "verified_at", + "film" +]
- Changed
scenef_plan_movie_night12 fields changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. \"detailed\" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre." - added
Output schema / properties / plans / items / properties / showtime / properties / calendar_urlAdded value: +{ + "type": "string" +} - added
Output schema / properties / plans / items / properties / showtime / properties / confidenceAdded value: +{ + "anyOf": [ + { + "enum": [ + "venue-published", + "corroborated", + "single-source", + "disputed" + ], + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / plans / items / properties / showtime / properties / freshnessAdded value: +{ + "additionalProperties": false, + "properties": { + "age_hours": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "retained": { + "type": "boolean" + }, + "source_status": { + "enum": [ + "ok", + "held", + "failed", + "unknown" + ], + "type": "string" + }, + "stale_after_hours": { + "type": "number" + }, + "status": { + "enum": [ + "current", + "stale", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "age_hours", + "stale_after_hours", + "retained", + "source_status" + ], + "type": "object" +} - added
Output schema / properties / plans / items / properties / showtime / properties / noteAdded value: +{ + "type": "string" +} - added
Output schema / properties / plans / items / properties / showtime / properties / source_tierAdded value: +{ + "type": "string" +} - added
Output schema / properties / plans / items / properties / showtime / properties / sourcesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / plans / items / properties / showtime / properties / verified_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / plans / items / properties / showtime / requiredPrevious value: -[ - "screening_id", - "venue", - "starts_at", - "night_of", - "local_time", - "tags", - "ticket_url" -]New value: +[ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url", + "calendar_url", + "confidence", + "source_tier", + "sources", + "verified_at" +] - added
Output schema / properties / warningsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - changed
Output schema / properties / wildcard / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "showtime": { - "additionalProperties": {}, - "properties": { - "local_time": { - "type": "string" - }, - "night_of": { - "type": "string" - }, - "screening_id": { - "type": "string" - }, - "starts_at": { - "type": "string" - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ticket_url": { - "type": "string" - }, - "venue": { - "additionalProperties": {}, - "properties": { - "name": { - "type": "string" - }, - "neighborhood": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "short": { - "type": "string" - }, - "venue_id": { - "type": "string" - } - }, - "required": [ - "venue_id", - "name", - "short", - "neighborhood" - ], - "type": "object" - } - }, - "required": [ - "screening_id", - "venue", - "starts_at", - "night_of", - "local_time", - "tags", - "ticket_url" - ], - "type": "object" - }, - "why": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "why", - "showtime" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "showtime": { + "additionalProperties": {}, + "properties": { + "calendar_url": { + "type": "string" + }, + "confidence": { + "anyOf": [ + { + "enum": [ + "venue-published", + "corroborated", + "single-source", + "disputed" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "freshness": { + "additionalProperties": false, + "properties": { + "age_hours": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "retained": { + "type": "boolean" + }, + "source_status": { + "enum": [ + "ok", + "held", + "failed", + "unknown" + ], + "type": "string" + }, + "stale_after_hours": { + "type": "number" + }, + "status": { + "enum": [ + "current", + "stale", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "age_hours", + "stale_after_hours", + "retained", + "source_status" + ], + "type": "object" + }, + "local_time": { + "type": "string" + }, + "night_of": { + "type": "string" + }, + "note": { + "type": "string" + }, + "screening_id": { + "type": "string" + }, + "source_tier": { + "type": "string" + }, + "sources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "starts_at": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ticket_url": { + "type": "string" + }, + "venue": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood" + ], + "type": "object" + }, + "verified_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url", + "calendar_url", + "confidence", + "source_tier", + "sources", + "verified_at" + ], + "type": "object" + }, + "why": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "why", + "showtime" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / requiredPrevious value: -[ - "data_as_of", - "attribution", - "accuracy_url", - "region", - "region_name", - "timezone", - "window", - "nights", - "party_size", - "note", - "discounts_relaxed", - "plan_count", - "plans", - "wildcard" -]New value: +[ + "data_as_of", + "attribution", + "accuracy_url", + "region", + "region_name", + "timezone", + "window", + "nights", + "party_size", + "note", + "warnings", + "discounts_relaxed", + "plan_count", + "plans", + "wildcard" +]
- Changed
scenef_search_showtimes11 fields changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. \"detailed\" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre." - added
Output schema / properties / venues / items / properties / showtimes / items / properties / calendar_urlAdded value: +{ + "type": "string" +} - added
Output schema / properties / venues / items / properties / showtimes / items / properties / confidenceAdded value: +{ + "anyOf": [ + { + "enum": [ + "venue-published", + "corroborated", + "single-source", + "disputed" + ], + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / venues / items / properties / showtimes / items / properties / freshnessAdded value: +{ + "additionalProperties": false, + "properties": { + "age_hours": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "retained": { + "type": "boolean" + }, + "source_status": { + "enum": [ + "ok", + "held", + "failed", + "unknown" + ], + "type": "string" + }, + "stale_after_hours": { + "type": "number" + }, + "status": { + "enum": [ + "current", + "stale", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "age_hours", + "stale_after_hours", + "retained", + "source_status" + ], + "type": "object" +} - added
Output schema / properties / venues / items / properties / showtimes / items / properties / noteAdded value: +{ + "type": "string" +} - added
Output schema / properties / venues / items / properties / showtimes / items / properties / source_tierAdded value: +{ + "type": "string" +} - added
Output schema / properties / venues / items / properties / showtimes / items / properties / sourcesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / venues / items / properties / showtimes / items / properties / verified_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / venues / items / properties / showtimes / items / requiredPrevious value: -[ - "screening_id", - "venue", - "starts_at", - "night_of", - "local_time", - "tags", - "ticket_url" -]New value: +[ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url", + "calendar_url", + "confidence", + "source_tier", + "sources", + "verified_at" +] - added
Output schema / properties / warningsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - changed
Output schema / requiredPrevious value: -[ - "data_as_of", - "attribution", - "accuracy_url", - "region", - "region_name", - "timezone", - "query", - "matched", - "unknown_venues", - "coverage_note", - "showtime_count", - "venues" -]New value: +[ + "data_as_of", + "attribution", + "accuracy_url", + "region", + "region_name", + "timezone", + "query", + "matched", + "warnings", + "unknown_venues", + "coverage_note", + "showtime_count", + "venues" +]
- Changed
scenef_theater_info9 fields changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. \"detailed\" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre." - added
Output schema / properties / upcoming / items / properties / calendar_urlAdded value: +{ + "type": "string" +} - added
Output schema / properties / upcoming / items / properties / confidenceAdded value: +{ + "anyOf": [ + { + "enum": [ + "venue-published", + "corroborated", + "single-source", + "disputed" + ], + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / upcoming / items / properties / freshnessAdded value: +{ + "additionalProperties": false, + "properties": { + "age_hours": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "retained": { + "type": "boolean" + }, + "source_status": { + "enum": [ + "ok", + "held", + "failed", + "unknown" + ], + "type": "string" + }, + "stale_after_hours": { + "type": "number" + }, + "status": { + "enum": [ + "current", + "stale", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "age_hours", + "stale_after_hours", + "retained", + "source_status" + ], + "type": "object" +} - added
Output schema / properties / upcoming / items / properties / noteAdded value: +{ + "type": "string" +} - added
Output schema / properties / upcoming / items / properties / source_tierAdded value: +{ + "type": "string" +} - added
Output schema / properties / upcoming / items / properties / sourcesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / upcoming / items / properties / verified_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / upcoming / items / requiredPrevious value: -[ - "screening_id", - "venue", - "starts_at", - "night_of", - "local_time", - "tags", - "ticket_url", - "film" -]New value: +[ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url", + "calendar_url", + "confidence", + "source_tier", + "sources", + "verified_at", + "film" +]
- Changed
scenef_whats_playing12 fields changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. \"detailed\" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre." - added
Output schema / properties / films / items / properties / next_showtimeAdded value: +{ + "additionalProperties": {}, + "properties": { + "calendar_url": { + "type": "string" + }, + "confidence": { + "anyOf": [ + { + "enum": [ + "venue-published", + "corroborated", + "single-source", + "disputed" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "freshness": { + "additionalProperties": false, + "properties": { + "age_hours": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "retained": { + "type": "boolean" + }, + "source_status": { + "enum": [ + "ok", + "held", + "failed", + "unknown" + ], + "type": "string" + }, + "stale_after_hours": { + "type": "number" + }, + "status": { + "enum": [ + "current", + "stale", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "age_hours", + "stale_after_hours", + "retained", + "source_status" + ], + "type": "object" + }, + "local_time": { + "type": "string" + }, + "night_of": { + "type": "string" + }, + "note": { + "type": "string" + }, + "screening_id": { + "type": "string" + }, + "source_tier": { + "type": "string" + }, + "sources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "starts_at": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ticket_url": { + "type": "string" + }, + "venue": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood" + ], + "type": "object" + }, + "verified_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url", + "calendar_url", + "confidence", + "source_tier", + "sources", + "verified_at" + ], + "type": "object" +} - added
Output schema / properties / films / items / properties / showtimes / items / properties / calendar_urlAdded value: +{ + "type": "string" +} - added
Output schema / properties / films / items / properties / showtimes / items / properties / confidenceAdded value: +{ + "anyOf": [ + { + "enum": [ + "venue-published", + "corroborated", + "single-source", + "disputed" + ], + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / films / items / properties / showtimes / items / properties / freshnessAdded value: +{ + "additionalProperties": false, + "properties": { + "age_hours": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "retained": { + "type": "boolean" + }, + "source_status": { + "enum": [ + "ok", + "held", + "failed", + "unknown" + ], + "type": "string" + }, + "stale_after_hours": { + "type": "number" + }, + "status": { + "enum": [ + "current", + "stale", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "age_hours", + "stale_after_hours", + "retained", + "source_status" + ], + "type": "object" +} - added
Output schema / properties / films / items / properties / showtimes / items / properties / noteAdded value: +{ + "type": "string" +} - added
Output schema / properties / films / items / properties / showtimes / items / properties / source_tierAdded value: +{ + "type": "string" +} - added
Output schema / properties / films / items / properties / showtimes / items / properties / sourcesAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / films / items / properties / showtimes / items / properties / verified_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - changed
Output schema / properties / films / items / properties / showtimes / items / requiredPrevious value: -[ - "screening_id", - "venue", - "starts_at", - "night_of", - "local_time", - "tags", - "ticket_url" -]New value: +[ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url", + "calendar_url", + "confidence", + "source_tier", + "sources", + "verified_at" +] - added
Output schema / properties / films / items / properties / showtimes_completeAdded value: +{ + "description": "Whether showtimes includes all showtime_count screenings. Concise includes only the next screening; detailed includes all.", + "type": "boolean" +} - changed
Output schema / properties / films / items / requiredPrevious value: -[ - "key", - "slug", - "title", - "year", - "runtime_min", - "genres", - "directors", - "url", - "venue_count", - "showtime_count" -]New value: +[ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url", + "venue_count", + "showtime_count", + "next_showtime", + "showtimes", + "showtimes_complete" +]
1 tool update
- Added
scenef_resolve_board
9 tool updates
- Changed
scenef_accuracy1 field changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size: \"concise\" (default) for tight text lines, \"detailed\" to add ids, per-showtime ticket urls, and extra metadata."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."
- Changed
scenef_coming_soon1 field changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size: \"concise\" (default) for tight text lines, \"detailed\" to add ids, per-showtime ticket urls, and extra metadata."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."
- Changed
scenef_discounts1 field changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size: \"concise\" (default) for tight text lines, \"detailed\" to add ids, per-showtime ticket urls, and extra metadata."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."
- Changed
scenef_film_details1 field changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size: \"concise\" (default) for tight text lines, \"detailed\" to add ids, per-showtime ticket urls, and extra metadata."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."
- Changed
scenef_now1 field changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size: \"concise\" (default) for tight text lines, \"detailed\" to add ids, per-showtime ticket urls, and extra metadata."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."
- Changed
scenef_plan_movie_night1 field changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size: \"concise\" (default) for tight text lines, \"detailed\" to add ids, per-showtime ticket urls, and extra metadata."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."
- Changed
scenef_search_showtimes1 field changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size: \"concise\" (default) for tight text lines, \"detailed\" to add ids, per-showtime ticket urls, and extra metadata."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."
- Changed
scenef_theater_info1 field changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size: \"concise\" (default) for tight text lines, \"detailed\" to add ids, per-showtime ticket urls, and extra metadata."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre."
- Changed
scenef_whats_playing3 fields changed- changed
Input schema / properties / response_format / descriptionPrevious value: -"Output size: \"concise\" (default) for tight text lines, \"detailed\" to add ids, per-showtime ticket urls, and extra metadata."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary — on list-shaped tools each film carries showtime_count and next_showtime, but NOT the full showtimes array. \"detailed\" adds the per-showtime rows with ids, ticket urls, and accuracy metadata. Concise measures ~10KB where detailed measures ~69KB, so ask for detailed when you need the rows and scenef_search_showtimes when you need them for one film or theatre." - added
Output schema / properties / films / items / properties / showtime_countAdded value: +{ + "type": "number" +} - changed
Output schema / properties / films / items / requiredPrevious value: -[ - "key", - "slug", - "title", - "year", - "runtime_min", - "genres", - "directors", - "url", - "venue_count", - "showtimes" -]New value: +[ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url", + "venue_count", + "showtime_count" +]
9 tool updates
- Changed
scenef_accuracy1 field changed- added
Input schema / properties / regionAdded value: +{ + "description": "Which regional board to read, e.g. \"sf\", \"oahu\", \"sacramento\". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.", + "type": "string" +}
- Changed
scenef_coming_soon5 fields changed- added
Input schema / properties / regionAdded value: +{ + "description": "Which regional board to read, e.g. \"sf\", \"oahu\", \"sacramento\". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.", + "type": "string" +} - added
Output schema / properties / regionAdded value: +{ + "type": "string" +} - added
Output schema / properties / region_nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / timezoneAdded value: +{ + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "data_as_of", - "attribution", - "accuracy_url", - "horizon_days", - "film_count", - "films" -]New value: +[ + "data_as_of", + "attribution", + "accuracy_url", + "region", + "region_name", + "timezone", + "horizon_days", + "film_count", + "films" +]
- Changed
scenef_discounts5 fields changed- added
Input schema / properties / regionAdded value: +{ + "description": "Which regional board to read, e.g. \"sf\", \"oahu\", \"sacramento\". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.", + "type": "string" +} - added
Output schema / properties / regionAdded value: +{ + "type": "string" +} - added
Output schema / properties / region_nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / timezoneAdded value: +{ + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "data_as_of", - "attribution", - "accuracy_url", - "today_dow", - "today_name", - "applies_today_count", - "venues" -]New value: +[ + "data_as_of", + "attribution", + "accuracy_url", + "region", + "region_name", + "timezone", + "today_dow", + "today_name", + "applies_today_count", + "venues" +]
- Changed
scenef_film_details5 fields changed- added
Input schema / properties / regionAdded value: +{ + "description": "Which regional board to read, e.g. \"sf\", \"oahu\", \"sacramento\". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.", + "type": "string" +} - added
Output schema / properties / regionAdded value: +{ + "type": "string" +} - added
Output schema / properties / region_nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / timezoneAdded value: +{ + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "data_as_of", - "attribution", - "accuracy_url", - "query", - "matched" -]New value: +[ + "data_as_of", + "attribution", + "accuracy_url", + "region", + "region_name", + "timezone", + "query", + "matched" +]
- Changed
scenef_now6 fields changed- added
Input schema / properties / regionAdded value: +{ + "description": "Which regional board to read, e.g. \"sf\", \"oahu\", \"sacramento\". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.", + "type": "string" +} - added
Output schema / properties / boardsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "region": { + "type": "string" + }, + "timezone": { + "type": "string" + } + }, + "required": [ + "region", + "name", + "timezone" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / regionAdded value: +{ + "type": "string" +} - added
Output schema / properties / region_nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / timezoneAdded value: +{ + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "data_as_of", - "attribution", - "accuracy_url", - "night_of", - "is_tonight", - "screenings_tonight", - "still_to_come", - "next_curtains", - "sources" -]New value: +[ + "data_as_of", + "attribution", + "accuracy_url", + "region", + "region_name", + "timezone", + "night_of", + "is_tonight", + "screenings_tonight", + "still_to_come", + "next_curtains", + "boards", + "sources" +]
- Changed
scenef_plan_movie_night5 fields changed- added
Input schema / properties / regionAdded value: +{ + "description": "Which regional board to read, e.g. \"sf\", \"oahu\", \"sacramento\". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.", + "type": "string" +} - added
Output schema / properties / regionAdded value: +{ + "type": "string" +} - added
Output schema / properties / region_nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / timezoneAdded value: +{ + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "data_as_of", - "attribution", - "accuracy_url", - "window", - "nights", - "party_size", - "note", - "discounts_relaxed", - "plan_count", - "plans", - "wildcard" -]New value: +[ + "data_as_of", + "attribution", + "accuracy_url", + "region", + "region_name", + "timezone", + "window", + "nights", + "party_size", + "note", + "discounts_relaxed", + "plan_count", + "plans", + "wildcard" +]
- Changed
scenef_search_showtimes5 fields changed- added
Input schema / properties / regionAdded value: +{ + "description": "Which regional board to read, e.g. \"sf\", \"oahu\", \"sacramento\". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.", + "type": "string" +} - added
Output schema / properties / regionAdded value: +{ + "type": "string" +} - added
Output schema / properties / region_nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / timezoneAdded value: +{ + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "data_as_of", - "attribution", - "accuracy_url", - "query", - "matched", - "unknown_venues", - "coverage_note", - "showtime_count", - "venues" -]New value: +[ + "data_as_of", + "attribution", + "accuracy_url", + "region", + "region_name", + "timezone", + "query", + "matched", + "unknown_venues", + "coverage_note", + "showtime_count", + "venues" +]
- Changed
scenef_theater_info5 fields changed- added
Input schema / properties / regionAdded value: +{ + "description": "Which regional board to read, e.g. \"sf\", \"oahu\", \"sacramento\". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.", + "type": "string" +} - added
Output schema / properties / regionAdded value: +{ + "type": "string" +} - added
Output schema / properties / region_nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / timezoneAdded value: +{ + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "data_as_of", - "attribution", - "accuracy_url", - "query", - "matched" -]New value: +[ + "data_as_of", + "attribution", + "accuracy_url", + "region", + "region_name", + "timezone", + "query", + "matched" +]
- Changed
scenef_whats_playing5 fields changed- added
Input schema / properties / regionAdded value: +{ + "description": "Which regional board to read, e.g. \"sf\", \"oahu\", \"sacramento\". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.", + "type": "string" +} - added
Output schema / properties / regionAdded value: +{ + "type": "string" +} - added
Output schema / properties / region_nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / timezoneAdded value: +{ + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "data_as_of", - "attribution", - "accuracy_url", - "window", - "nights", - "note", - "notable", - "film_count", - "films" -]New value: +[ + "data_as_of", + "attribution", + "accuracy_url", + "region", + "region_name", + "timezone", + "window", + "nights", + "note", + "notable", + "film_count", + "films" +]
1 tool update
- Changed
scenef_search_showtimes1 field changed- changed
Input schema / properties / film / descriptionPrevious value: -"Film title or SceneF slug, e.g. \"The Matrix\" or \"the-matrix-1999\". Optional when `venues` is given — omit it to ask what is on at a theater."New value: +"Film title, or a SceneF slug taken from films[].slug / scenef_whats_playing. A title that is not on the board answers with a miss and points at scenef_whats_playing, so guessing is safe but browsing is faster. Optional when `venues` is given — omit it to ask what is on at a theater."
2 tool updates
- Changed
scenef_plan_movie_night4 fields changed- changed
Input schema / properties / preferences / descriptionPrevious value: -"Bring-your-own taste profile."New value: +"Bring-your-own taste profile. Everything here tilts the ranking and degrades gracefully EXCEPT time_after/time_before, which are hard bounds." - added
Input schema / properties / preferences / properties / time_afterAdded value: +{ + "description": "HARD earliest start, \"HH:MM\" local 24h, e.g. \"20:00\" for \"nothing before 8\". Unlike the other preferences this does NOT degrade: if nothing starts that late the tool says so rather than ranking a show you cannot get to.", + "type": "string" +} - added
Input schema / properties / preferences / properties / time_beforeAdded value: +{ + "description": "HARD latest start, \"HH:MM\" local 24h. Same no-fallback rule.", + "type": "string" +} - changed
Input schema / properties / preferences / properties / window / descriptionPrevious value: -"Preferred start-time window."New value: +"Preferred start-time window — a soft tilt. For a time you genuinely cannot make, use time_after/time_before instead."
- Changed
scenef_search_showtimes8 fields changed- changed
Input schema / properties / film / descriptionPrevious value: -"Film title or SceneF slug, e.g. \"The Matrix\" or \"the-matrix-1999\"."New value: +"Film title or SceneF slug, e.g. \"The Matrix\" or \"the-matrix-1999\". Optional when `venues` is given — omit it to ask what is on at a theater." - changed
Input schema / properties / venues / descriptionPrevious value: -"Restrict to these theaters (ids or names), e.g. [\"roxie\", \"Balboa\"]."New value: +"Restrict to these theaters (ids or names), e.g. [\"roxie\", \"Balboa\"]. Required when `film` is omitted." - removed
Input schema / requiredRemoved value: -[ - "film" -] - added
Output schema / properties / filtered_byAdded value: +{ + "enum": [ + "film", + "venue" + ], + "type": "string" +} - added
Output schema / properties / query / anyOfAdded value: +[ + { + "type": "string" + }, + { + "type": "null" + } +] - removed
Output schema / properties / query / typeRemoved value: -"string" - added
Output schema / properties / refusalAdded value: +{ + "type": "string" +} - added
Output schema / properties / venues / items / properties / showtimes / items / properties / filmAdded value: +{ + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "directors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "genres": { + "items": { + "type": "string" + }, + "type": "array" + }, + "key": { + "type": "string" + }, + "runtime_min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "year": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url" + ], + "type": "object" + }, + { + "type": "null" + } + ] +}
8 tool updates
- Changed
scenef_coming_soon1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "accuracy_url": { + "type": "string" + }, + "attribution": { + "type": "string" + }, + "data_as_of": { + "type": "string" + }, + "film_count": { + "type": "number" + }, + "films": { + "items": { + "additionalProperties": {}, + "properties": { + "directors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "first_night": { + "type": "string" + }, + "genres": { + "items": { + "type": "string" + }, + "type": "array" + }, + "key": { + "type": "string" + }, + "opening_venues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "runtime_min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "year": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url", + "first_night", + "opening_venues" + ], + "type": "object" + }, + "type": "array" + }, + "horizon_days": { + "type": "number" + } + }, + "required": [ + "data_as_of", + "attribution", + "accuracy_url", + "horizon_days", + "film_count", + "films" + ], + "type": "object" +}
- Changed
scenef_discounts1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "accuracy_url": { + "type": "string" + }, + "applies_today_count": { + "type": "number" + }, + "attribution": { + "type": "string" + }, + "data_as_of": { + "type": "string" + }, + "today_dow": { + "type": "number" + }, + "today_name": { + "type": "string" + }, + "venues": { + "items": { + "additionalProperties": {}, + "properties": { + "discounts": { + "items": { + "additionalProperties": {}, + "properties": { + "applies_today": { + "type": "boolean" + }, + "day": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "detail": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "required": [ + "label", + "kind", + "day", + "detail", + "applies_today" + ], + "type": "object" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood", + "discounts" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data_as_of", + "attribution", + "accuracy_url", + "today_dow", + "today_name", + "applies_today_count", + "venues" + ], + "type": "object" +}
- Changed
scenef_film_details1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "accuracy_url": { + "type": "string" + }, + "attribution": { + "type": "string" + }, + "candidates": { + "items": { + "additionalProperties": {}, + "properties": { + "directors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "genres": { + "items": { + "type": "string" + }, + "type": "array" + }, + "key": { + "type": "string" + }, + "runtime_min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "year": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url" + ], + "type": "object" + }, + "type": "array" + }, + "data_as_of": { + "type": "string" + }, + "film": { + "additionalProperties": {}, + "properties": { + "directors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "genres": { + "items": { + "type": "string" + }, + "type": "array" + }, + "key": { + "type": "string" + }, + "runtime_min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "year": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url" + ], + "type": "object" + }, + "final_night": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "is_last_night": { + "type": "boolean" + }, + "matched": { + "type": "boolean" + }, + "query": { + "type": "string" + }, + "showtime_count": { + "type": "number" + }, + "showtimes": { + "items": { + "additionalProperties": {}, + "properties": { + "local_time": { + "type": "string" + }, + "night_of": { + "type": "string" + }, + "screening_id": { + "type": "string" + }, + "starts_at": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ticket_url": { + "type": "string" + }, + "venue": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood" + ], + "type": "object" + } + }, + "required": [ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data_as_of", + "attribution", + "accuracy_url", + "query", + "matched" + ], + "type": "object" +}
- Changed
scenef_now1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "accuracy_url": { + "type": "string" + }, + "attribution": { + "type": "string" + }, + "data_as_of": { + "type": "string" + }, + "is_tonight": { + "type": "boolean" + }, + "next_curtains": { + "items": { + "additionalProperties": {}, + "properties": { + "film": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "directors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "genres": { + "items": { + "type": "string" + }, + "type": "array" + }, + "key": { + "type": "string" + }, + "runtime_min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "year": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "local_time": { + "type": "string" + }, + "night_of": { + "type": "string" + }, + "screening_id": { + "type": "string" + }, + "starts_at": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ticket_url": { + "type": "string" + }, + "venue": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood" + ], + "type": "object" + } + }, + "required": [ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url", + "film" + ], + "type": "object" + }, + "type": "array" + }, + "night_of": { + "type": "string" + }, + "screenings_tonight": { + "type": "number" + }, + "sources": { + "additionalProperties": {}, + "properties": { + "healthy": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "healthy", + "total" + ], + "type": "object" + }, + "still_to_come": { + "type": "number" + } + }, + "required": [ + "data_as_of", + "attribution", + "accuracy_url", + "night_of", + "is_tonight", + "screenings_tonight", + "still_to_come", + "next_curtains", + "sources" + ], + "type": "object" +}
- Changed
scenef_plan_movie_night1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "accuracy_url": { + "type": "string" + }, + "attribution": { + "type": "string" + }, + "data_as_of": { + "type": "string" + }, + "discounts_relaxed": { + "type": "boolean" + }, + "nights": { + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "party_size": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "plan_count": { + "type": "number" + }, + "plans": { + "items": { + "additionalProperties": {}, + "properties": { + "film": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "directors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "genres": { + "items": { + "type": "string" + }, + "type": "array" + }, + "key": { + "type": "string" + }, + "runtime_min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "year": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "is_wildcard": { + "type": "boolean" + }, + "score": { + "type": "number" + }, + "showtime": { + "additionalProperties": {}, + "properties": { + "local_time": { + "type": "string" + }, + "night_of": { + "type": "string" + }, + "screening_id": { + "type": "string" + }, + "starts_at": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ticket_url": { + "type": "string" + }, + "venue": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood" + ], + "type": "object" + } + }, + "required": [ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url" + ], + "type": "object" + }, + "why": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "is_wildcard", + "score", + "why", + "film", + "showtime" + ], + "type": "object" + }, + "type": "array" + }, + "wildcard": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "showtime": { + "additionalProperties": {}, + "properties": { + "local_time": { + "type": "string" + }, + "night_of": { + "type": "string" + }, + "screening_id": { + "type": "string" + }, + "starts_at": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ticket_url": { + "type": "string" + }, + "venue": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood" + ], + "type": "object" + } + }, + "required": [ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url" + ], + "type": "object" + }, + "why": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "why", + "showtime" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "window": { + "type": "string" + } + }, + "required": [ + "data_as_of", + "attribution", + "accuracy_url", + "window", + "nights", + "party_size", + "note", + "discounts_relaxed", + "plan_count", + "plans", + "wildcard" + ], + "type": "object" +}
- Changed
scenef_search_showtimes1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "accuracy_url": { + "type": "string" + }, + "attribution": { + "type": "string" + }, + "candidates": { + "items": { + "additionalProperties": {}, + "properties": { + "directors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "genres": { + "items": { + "type": "string" + }, + "type": "array" + }, + "key": { + "type": "string" + }, + "runtime_min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "year": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url" + ], + "type": "object" + }, + "type": "array" + }, + "coverage_note": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "data_as_of": { + "type": "string" + }, + "film": { + "additionalProperties": {}, + "properties": { + "directors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "genres": { + "items": { + "type": "string" + }, + "type": "array" + }, + "key": { + "type": "string" + }, + "runtime_min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "year": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url" + ], + "type": "object" + }, + "matched": { + "type": "boolean" + }, + "query": { + "type": "string" + }, + "showtime_count": { + "type": "number" + }, + "unknown_venues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "venues": { + "items": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "showtimes": { + "items": { + "additionalProperties": {}, + "properties": { + "local_time": { + "type": "string" + }, + "night_of": { + "type": "string" + }, + "screening_id": { + "type": "string" + }, + "starts_at": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ticket_url": { + "type": "string" + }, + "venue": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood" + ], + "type": "object" + } + }, + "required": [ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url" + ], + "type": "object" + }, + "type": "array" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood", + "showtimes" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "data_as_of", + "attribution", + "accuracy_url", + "query", + "matched", + "unknown_venues", + "coverage_note", + "showtime_count", + "venues" + ], + "type": "object" +}
- Changed
scenef_theater_info1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "accuracy_url": { + "type": "string" + }, + "attribution": { + "type": "string" + }, + "candidates": { + "items": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood" + ], + "type": "object" + }, + "type": "array" + }, + "covered_venue_ids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "data_as_of": { + "type": "string" + }, + "matched": { + "type": "boolean" + }, + "query": { + "type": "string" + }, + "upcoming": { + "items": { + "additionalProperties": {}, + "properties": { + "film": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "directors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "genres": { + "items": { + "type": "string" + }, + "type": "array" + }, + "key": { + "type": "string" + }, + "runtime_min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "year": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "local_time": { + "type": "string" + }, + "night_of": { + "type": "string" + }, + "screening_id": { + "type": "string" + }, + "starts_at": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ticket_url": { + "type": "string" + }, + "venue": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood" + ], + "type": "object" + } + }, + "required": [ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url", + "film" + ], + "type": "object" + }, + "type": "array" + }, + "upcoming_count": { + "type": "number" + }, + "venue": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood" + ], + "type": "object" + } + }, + "required": [ + "data_as_of", + "attribution", + "accuracy_url", + "query", + "matched" + ], + "type": "object" +}
- Changed
scenef_whats_playing1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "accuracy_url": { + "type": "string" + }, + "attribution": { + "type": "string" + }, + "data_as_of": { + "type": "string" + }, + "film_count": { + "type": "number" + }, + "films": { + "items": { + "additionalProperties": {}, + "properties": { + "directors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "genres": { + "items": { + "type": "string" + }, + "type": "array" + }, + "key": { + "type": "string" + }, + "runtime_min": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "showtimes": { + "items": { + "additionalProperties": {}, + "properties": { + "local_time": { + "type": "string" + }, + "night_of": { + "type": "string" + }, + "screening_id": { + "type": "string" + }, + "starts_at": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ticket_url": { + "type": "string" + }, + "venue": { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "neighborhood": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "short": { + "type": "string" + }, + "venue_id": { + "type": "string" + } + }, + "required": [ + "venue_id", + "name", + "short", + "neighborhood" + ], + "type": "object" + } + }, + "required": [ + "screening_id", + "venue", + "starts_at", + "night_of", + "local_time", + "tags", + "ticket_url" + ], + "type": "object" + }, + "type": "array" + }, + "slug": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + }, + "venue_count": { + "type": "number" + }, + "year": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "key", + "slug", + "title", + "year", + "runtime_min", + "genres", + "directors", + "url", + "venue_count", + "showtimes" + ], + "type": "object" + }, + "type": "array" + }, + "nights": { + "items": { + "type": "string" + }, + "type": "array" + }, + "notable": { + "items": { + "additionalProperties": {}, + "properties": { + "local_time": { + "type": "string" + }, + "title": { + "type": "string" + }, + "venue": { + "type": "string" + } + }, + "required": [ + "title", + "venue", + "local_time" + ], + "type": "object" + }, + "type": "array" + }, + "note": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "window": { + "type": "string" + } + }, + "required": [ + "data_as_of", + "attribution", + "accuracy_url", + "window", + "nights", + "note", + "notable", + "film_count", + "films" + ], + "type": "object" +}
9 tool updates
- First observed
scenef_accuracy - First observed
scenef_coming_soon - First observed
scenef_discounts - First observed
scenef_film_details - First observed
scenef_now - First observed
scenef_plan_movie_night - First observed
scenef_search_showtimes - First observed
scenef_theater_info - First observed
scenef_whats_playing
Related MCP Connectors
Read-only Hawaii MCP: 2,500+ tours, 600+ restaurants, events, weather, day itineraries, 4 islands.
No-API-key US market boards from SEC, Cboe, FINRA and CFTC: options flow, insiders, 13F, buybacks
312K+ FL commercial parcels, 6,400+ verified listings, AI visibility reports, x402 micropayments
SEC filings the day they are filed, on nine boards, plus an actuarial reading of any US filer.
Related MCP Servers
- AlicenseAqualityBmaintenanceEvery movie showtime in San Francisco — repertory houses, single-screen neighborhood theaters, 35mm/70mm prints, and the chains — verified against each theater's own box office, with a published accuracy record. Nine read-only tools; hosted endpoint at https://scenef.com/mcp (no key), with a bundled mcp-remote bridge for stdio clients.9201 npmMIT
- AlicenseAqualityDmaintenanceUnofficial, read-only MCP server for Fandango showtimes and seat availability, reverse-engineered from observed web traffic.6MIT
- FlicenseNot gradedqualityBmaintenanceThe routing layer between AI agents and local Florida businesses. Live data on permits, sector gaps, and market signals across 2,383 ZIP codes — so when an agent, voice assistant, or real customer needs something done, the right business gets the job. Ask LocalIntel Claim Your Listing-
- AlicenseAqualityDmaintenanceProvides a comprehensive movie booking experience for AMC Theatres, enabling users to discover movies, find showtimes, select seats, and process payments through conversational AI. Supports multi-location theater search with real-time seat availability and booking management.61MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.