Skip to main content
Glama

SceneF — California, Florida and Hawaii Movie Showtimes

Server Details

56 California, Florida and Hawaii movie boards: chains, indies, repertory. Verified daily. Free.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 56 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have clearly distinct purposes and descriptions explicitly route between them. However, scenef_now, scenef_whats_playing, scenef_search_showtimes, and scenef_film_details all return overlapping showtime information, so an agent must read carefully to pick the right one for a given query.

Naming Consistency4/5

All tools use the scenef_ prefix and snake_case, which is consistent and predictable. Some names are noun-only or descriptive labels rather than strict verb_noun pairs, but the overall convention is stable.

Tool Count5/5

Ten tools is well-scoped for a regional movie-showtime board service. Each tool covers a distinct facet such as discovery, details, planning, discounts, and data confidence, with no obvious bloat.

Completeness4/5

The surface covers discovery, film/theater details, showtimes, discounts, planning, board resolution, and data accuracy. A minor gap is the lack of a direct tool to enumerate all theaters or venues on a board, though agents can infer them through other responses.

Available Tools

10 tools
scenef_accuracyThe accuracy recordA
Read-onlyIdempotent
Inspect

Returns SceneF's verification record: this board's 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. Read-only: the call itself records nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoWhich regional board to read: a board id such as "sf", "oahu" or "miami", not a city name ("Honolulu" or "Chicago" is rejected). Omitted means "sf" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback.
response_formatNoOutput 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; "detailed" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in "concise" and up to 200 in "detailed". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest.

Output Schema

ParametersJSON Schema
NameRequiredDescription
docsYes
siteYes
methodYes
regionYes
venuesYes
timezoneYes
data_as_ofYes
attributionYes
region_nameYes
accuracy_urlYes

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: it discloses that unreachable checks (bot walls, client-rendered pages) are excluded from the pass rate rather than counted as passes, that the window is 30 days via window_days, that the exact denominator is returned, and that the call itself records nothing. That is meaningful behavioral context an agent cannot get from annotations.

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

Conciseness4/5

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

A single dense paragraph that front-loads what is returned before the grading rules and the read-only note. It is longer than typical but nearly every clause carries information — only the 'quote these numbers directly' instruction borders on filler.

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

Completeness4/5

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

An output schema exists so return shape need not be restated, yet the description usefully previews the payload (confidence mix, counts, per-venue tier, level definitions). Combined with the region semantics in the schema, an agent has enough to call it correctly; the only real gap is when-not-to-use guidance.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema fully documents region semantics (board id vs city name, default sf) and response_format. The description adds no parameter-level guidance beyond mentioning window_days as payload content, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource: returns SceneF's verification/accuracy record with confidence mix, check counts, pass rate, per-venue breakdown and level definitions. That is clearly distinct from siblings like scenef_whats_playing or scenef_now, so an agent can differentiate it without opening the schema.

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

Usage Guidelines3/5

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

Gives useful usage context (quote these numbers directly, recomputed every call, read-only), but never states when to prefer this tool over alternatives such as scenef_now for read-status checks, nor any exclusions. Usage is implied rather than prescribed.

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

scenef_coming_soonComing soonC
Read-onlyIdempotent
Inspect

Lists films whose first screening on this board is more than 48 hours out, sorted by first night. Configurable horizon. It sets no alert, watch or reminder. Read-only: the call itself records nothing. SceneF does not sell, hold or book tickets. Ticket links are https://scenef.com/go/{id} redirects to the theater's own site or the ticket seller it uses (a link to a showtime that is gone lands back on SceneF); whoever follows one, a person or a client, is logged once anonymously (time, the screening with its film and theater, client type, browser family, referring site, link source tag, and whether the showtime was gone; no IP address, cookie or account) and forwarded. Every emitted showtime carries confidence, source tier, reporting sources and verified_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoWhich regional board to read: a board id such as "sf", "oahu" or "miami", not a city name ("Honolulu" or "Chicago" is rejected). Omitted means "sf" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback.
horizon_daysNoHow far ahead to look (default 21 days).
response_formatNoOutput 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; "detailed" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in "concise" and up to 200 in "detailed". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest.

Output Schema

ParametersJSON Schema
NameRequiredDescription
filmsYes
regionYes
timezoneYes
data_as_ofYes
film_countYes
attributionYes
region_nameYes
accuracy_urlYes
horizon_daysYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive. The description usefully reinforces 'read-only, records nothing' and explains the outbound ticket-redirect logging behavior, which is real context. But it contradicts itself by describing an anonymous log being written on link-follow, and this logging detail is about redirect targets, not this tool's own calls, so it's mostly tangential.

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

Conciseness2/5

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

The core purpose is buried: the first sentence is fine, but the middle is dominated by a long digression on ticket-link logging, tracking fields, and SceneF's non-selling policy. Much of this is not decision-relevant to invoking the tool and dilutes the front-loaded purpose.

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

Completeness3/5

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

Purpose and the key scoping rule are present, and an output schema exists so return values need not be explained. However the description spends its budget on outbound-link logging rather than clarifying what 'coming soon' returns or how it differs from the other listing siblings.

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

Parameters3/5

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

Schema coverage is 100% and the schema already documents region, horizon_days and response_format in depth. The description only echoes 'configurable horizon' and adds nothing on region or response_format that the schema doesn't already say, so baseline 3 applies.

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

Purpose3/5

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

States a specific verb+resource ('Lists films') and a distinguishing scope condition (first screening >48h out, sorted by first night), which separates it from scenef_now/whats_playing. But the long tail about ticket-link logging and 'coming soon' semantics is tangled, and it never cleanly contrasts itself against the sibling tools that also list films.

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

Usage Guidelines3/5

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

The >48h-out threshold implicitly tells the agent when to reach for this rather than scenef_now, and the schema notes routing to scenef_resolve_board for cities. No explicit when-not or named alternatives appear in the description itself, so usage is inferred rather than stated.

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

scenef_discountsDiscount gridA
Read-onlyIdempotent
Inspect

Every structured discount across one board's theaters — venue, label, detail, and day-bound days — with the ones that apply today flagged. Membership and discount-card pricing is not listed; it reads "Member pricing; see the theater". Read-only: the call itself records nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoWhich regional board to read: a board id such as "sf", "oahu" or "miami", not a city name ("Honolulu" or "Chicago" is rejected). Omitted means "sf" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback.
response_formatNoOutput 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; "detailed" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in "concise" and up to 200 in "detailed". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest.

Output Schema

ParametersJSON Schema
NameRequiredDescription
regionYes
venuesYes
timezoneYes
today_dowYes
data_as_ofYes
today_nameYes
attributionYes
region_nameYes
accuracy_urlYes
applies_today_countYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish readOnly/idempotent/destructive=false, so the 'Read-only: the call itself records nothing' line is redundant. The genuine value-add is the disclosure that membership and discount-card pricing is deliberately excluded and surfaces as 'Member pricing; see the theater' — a real limitation an agent could not derive from 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.

Conciseness4/5

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

Front-loaded with the resource and returned fields, then the exclusion, then the read-only note. Mostly earns its space, though the trailing read-only clause restates annotations and could be cut.

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

Completeness4/5

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

With annotations covering safety, a 100%-covered two-param schema, and an output schema handling return structure, the description is complete enough. The one notable gap is that it neither references scenef_resolve_board (required for city/ZIP input, per the schema) nor clarifies what 'structured' discounts exclude beyond membership pricing.

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

Parameters3/5

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

Schema description coverage is 100%, so the region and response_format semantics (board id vs city, default 'sf', enum sizing) are fully documented in the schema. The description adds no parameter detail beyond that, which is the expected baseline when the schema does the work.

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

Purpose4/5

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

The description states a specific resource and scope: 'Every structured discount across one board's theaters,' then enumerates the returned fields (venue, label, detail, day-bound days). It is clearly distinguishable from siblings like scenef_whats_playing or scenef_theater_info, though it never names an alternative to contrast with.

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

Usage Guidelines3/5

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

Usage is implied — call this to see discounts for a board — but there is no explicit when-to-use, when-not-to-use, or pointer to a preferred sibling. An agent can infer intent but receives no routing guidance.

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

scenef_film_detailsFilm detailsA
Read-onlyIdempotent
Inspect

The card for one film on one board: title, year, runtime, genres, directors, cast, overview, rating, a trailer url and a TMDB poster url when present, its upcoming showtimes nearest first with venue/time/ticket link, and a last-night flag when the run is ending. Returns the 40 nearest showtimes ("concise") or up to 200 ("detailed"); showtime_count is the total and showtimes_complete says whether the list is whole — scenef_search_showtimes with a date or theater narrows the rest. Read-only: the call itself records nothing. SceneF does not sell, hold or book tickets. Ticket links are https://scenef.com/go/{id} redirects to the theater's own site or the ticket seller it uses (a link to a showtime that is gone lands back on SceneF); whoever follows one, a person or a client, is logged once anonymously (time, the screening with its film and theater, client type, browser family, referring site, link source tag, and whether the showtime was gone; no IP address, cookie or account) and forwarded. Every emitted showtime carries confidence, source tier, reporting sources and verified_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
filmYesFilm title or SceneF slug.
regionNoWhich regional board to read: a board id such as "sf", "oahu" or "miami", not a city name ("Honolulu" or "Chicago" is rejected). Omitted means "sf" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback.
response_formatNoOutput 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; "detailed" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in "concise" and up to 200 in "detailed". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest.

Output Schema

ParametersJSON Schema
NameRequiredDescription
filmNo
noteNo
queryYes
regionYes
matchedYes
timezoneYes
showtimesNo
candidatesNo
data_as_ofYes
attributionYes
final_nightNo
region_nameYes
accuracy_urlYes
is_last_nightNo
showtime_countNo
showtimes_completeNoWhether showtimes holds all showtime_count screenings. The nearest 40 (concise) or 200 (detailed) are returned.

TDQS

A4.4/5.0
Behavior5/5

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

Despite readOnly/idempotent annotations already covering the safety profile, the description adds substantial non-obvious behavior: SceneF does not sell/hold tickets, ticket links are /go/{id} redirects, follow-through is logged anonymously with specific fields but no IP/cookie/account, and gone showtimes land back on SceneF. This is rich, hard-to-infer context.

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

Conciseness4/5

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

Purpose and core return semantics are front-loaded, but the opening sentence is a dense run-on and the ticket-link/logging passage is lengthy relative to the core lookup task. Still, most sentences carry real information rather than filler.

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

Completeness5/5

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

An output schema exists, yet the description still supplies the surrounding context an agent needs: card contents, paging behavior, tie-in to scenef_search_showtimes, and the ticket-link/privacy model. Nothing essential for correct invocation is missing.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema's response_format description already explains concise vs detailed counts and showtime_count/showtimes_complete. The description largely restates this ('40 nearest ... up to 200'), so the baseline 3 is appropriate with no meaningful addition over the schema.

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

Purpose5/5

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

The opening states a precise verb+resource and scope: 'The card for one film on one board,' then enumerates the fields returned (title, runtime, genres, directors, showtimes, flags). It is clearly distinguished from siblings like scenef_search_showtimes and scenef_whats_playing.

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

Usage Guidelines4/5

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

It gives a clear routing hint — 'scenef_search_showtimes with a date or theater narrows the rest' — and implies single-film lookup context. However, it doesn't explicitly state when to use this versus scenef_whats_playing, scenef_now, or scenef_coming_soon for a given agent intent.

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

scenef_nowCheck what is still on tonightA
Read-onlyIdempotent
Inspect

Use this for a quick check of what is still on tonight on one board: how many screenings tonight, the next 5 showtimes with venue/time/film, when the data was generated and which theaters' listings may be out of date. Called with no region it also lists every board id with its place and timezone. Read-only: the call itself records nothing. SceneF does not sell, hold or book tickets. Ticket links are https://scenef.com/go/{id} redirects to the theater's own site or the ticket seller it uses (a link to a showtime that is gone lands back on SceneF); whoever follows one, a person or a client, is logged once anonymously (time, the screening with its film and theater, client type, browser family, referring site, link source tag, and whether the showtime was gone; no IP address, cookie or account) and forwarded. Every emitted showtime carries confidence, source tier, reporting sources and verified_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoWhich regional board to read: a board id such as "sf", "oahu" or "miami", not a city name ("Honolulu" or "Chicago" is rejected). Omitted means "sf" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback.
response_formatNoOutput 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; "detailed" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in "concise" and up to 200 in "detailed". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest.

Output Schema

ParametersJSON Schema
NameRequiredDescription
boardsNo
regionYes
sourcesYes
night_ofYes
timezoneYes
data_as_ofYes
is_tonightYes
attributionYes
region_nameYes
accuracy_urlYes
next_curtainsYes
still_to_comeYes
screenings_tonightYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/no-destructive, but the description adds real value: that the call itself records nothing, that emitted showtimes carry confidence, source tier, reporting sources and verified_at, and that stale theaters may be listed. The long ticket-link logging passage describes what happens when a link is followed, which is adjacent to this call rather than about it, and pagination/limits are not addressed.

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

Conciseness3/5

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

The opening sentence is well front-loaded, but the middle section on ticket link redirects, anonymous link click logging (time, film, theater, client type, browser family, referring site, tag, gone-showtime flag, no IP/cookie/account) is disproportionate to a read tool and dilutes the core message.

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

Completeness4/5

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

With an output schema present, return structure needn't be explained, and the description still front-loads the shaped responses and staleness caveats. The gaps are minor: no guidance on result limits or how often the underlying data refreshes.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents region (board id, not city, default 'sf', error on unknown) and response_format (concise vs detailed). The description's only additional parameter fact is that a region-less call lists every board id with place and timezone, which is a marginal increment over the schema baseline.

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

Purpose5/5

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

States a specific verb and resource ('quick check of what is still on tonight on one board') and enumerates exactly what comes back: screening count, next 5 showtimes with venue/time/film, data generation time, and stale listings. The 'one board' framing plus the no-region board-listing behavior separates it from broad search siblings.

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

Usage Guidelines4/5

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

'Use this for a quick check of what is still on tonight' gives a clear selection context, and the region parameter doc routes city/ZIP/neighborhood lookups to scenef_resolve_board first. It stops short of naming when to prefer scenef_search_showtimes or scenef_whats_playing instead, so no explicit exclusions.

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

scenef_plan_movie_nightSuggest a movie nightA
Read-onlyIdempotent
Inspect

Suggests 2-4 movie-night options on one board from a window and a taste profile — film + specific showtime + theater + why it fits — plus one wildcard: the highest-ranked film outside the stated genres, or the next film down when no genre is stated. time_after/time_before are hard bounds; genres and formats only tilt the ranking, and when one matches nothing in the window the answer opens with a warning (also in warnings[]) saying so. It books, reserves and saves nothing; each option carries ticket and calendar links for the person to follow. Ranking uses only the stated preferences; no theater or film pays for placement. Read-only: the call itself records nothing. SceneF does not sell, hold or book tickets. Ticket links are https://scenef.com/go/{id} redirects to the theater's own site or the ticket seller it uses (a link to a showtime that is gone lands back on SceneF); whoever follows one, a person or a client, is logged once anonymously (time, the screening with its film and theater, client type, browser family, referring site, link source tag, and whether the showtime was gone; no IP address, cookie or account) and forwarded. Every emitted showtime carries confidence, source tier, reporting sources and verified_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
whenNoWhen to look: "tonight" (default), "tomorrow", "weekend" (Fri/Sat/Sun of the current week), or a YYYY-MM-DD date.
regionNoWhich regional board to read: a board id such as "sf", "oahu" or "miami", not a city name ("Honolulu" or "Chicago" is rejected). Omitted means "sf" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback.
party_sizeNoHow many people are going (1-20). It labels the plan; it does not change which shows are picked.
preferencesNoBring-your-own taste profile. Everything here tilts the ranking and degrades gracefully EXCEPT time_after/time_before, which are hard bounds.
response_formatNoOutput 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; "detailed" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in "concise" and up to 200 in "detailed". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
plansYes
nightsYes
regionYes
windowYes
timezoneYes
warningsYes
wildcardYes
data_as_ofYes
party_sizeYes
plan_countYes
attributionYes
region_nameYes
accuracy_urlYes
discounts_relaxedYes

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), yet the description adds substantial non-obvious behavior: it books/reserves/saves nothing, ranking is preference-only with no paid placement, unmatched genres/formats surface a warning in warnings[], and every ticket link is an https://scenef.com/go/{id} redirect that anonymously logs a follow and forwards to the theater. The confidence/source-tier/verified_at metadata disclosure is also beyond anything the schema states.

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

Conciseness3/5

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

The purpose and constraints are front-loaded well, but the body is dense and runs long, with the ticket-link/logging paragraph expanding into tangential detail (client type, browser family, referring site, cookie/IP disclaimers) that is only loosely tied to calling the tool. Several em-dash-joined clauses are run-on and could be tightened without losing meaning.

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

Completeness5/5

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

An output schema exists, so return structure needn't be explained, yet the description still covers what an agent needs: the 2-4 option shape, the wildcard, the warning channel, the no-booking guarantee, ranking ethics, and link behavior. Combined with a fully documented 5-parameter schema, nothing required to call it correctly is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description adds genuine meaning on top: it explains the wildcard rule (highest-ranked film outside the stated genres, or next film down when no genre is given), reinforces that genres/formats tilt rather than filter, and states that time bounds do not degrade. These clarify how the preferences object actually behaves beyond the per-field text.

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

Purpose5/5

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

Opens with a specific verb+resource+scope: 'Suggests 2-4 movie-night options on one board from a window and a taste profile', then enumerates exactly what each option contains (film, showtime, theater, rationale, wildcard). This is clearly distinct from sibling list/search tools like scenef_now, scenef_whats_playing and scenef_search_showtimes, which return raw listings rather than a curated plan.

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

Usage Guidelines3/5

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

Usage is implied by the purpose and by the hard-vs-soft semantics ('time_after/time_before are hard bounds; genres and formats only tilt the ranking'), which tells the agent when a preference will fail loudly vs degrade. However, there is no explicit when-to-use-this-vs-alternatives guidance against siblings such as search_showtimes or whats_playing, and the routing advice for cities (call scenef_resolve_board first) lives only in the region schema field.

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

scenef_resolve_boardFind the region for a placeA
Read-onlyIdempotent
Inspect

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 (Hollywood names both the Los Angeles board and the Miami board), a name SceneF knows only as a place outside its published boards returns outside_coverage (with any published board within 100 miles), and any other name it cannot place returns unknown with no fallback board. SceneF publishes 56 boards, in California, Florida and Hawaii only. Coordinates are not accepted — this reads names, not locations. It is an exact lookup in SceneF's own place table: no geocoder and no web search. Read-only: the call itself records nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
placeYesA city ("Pasadena"), a 5-digit ZIP ("94121"), a neighborhood ("the Mission") or a board alias ("the East Bay", "sf").

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
noteNo
inputYes
reasonNo
regionNo
matchedNo
candidatesNo
nearest_litNo
region_nameNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly/idempotent/non-destructive), and the description adds substantial context beyond them: no geocoder or web search, coordinates rejected, exact lookup against a finite table of 56 boards restricted to CA/FL/HI, structured refusal behavior, and that nothing is recorded. The only minor tension is openWorldHint=true versus a bounded internal place table, but names themselves come from an open set, so this is not a contradiction.

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

Conciseness4/5

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

Front-loaded with purpose before the failure modes, and every sentence carries behavioral information. Slight redundancy: the closing 'Read-only: the call itself records nothing' partly restates readOnlyHint, and the parenthetical examples add length.

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

Completeness5/5

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

An output schema exists, so return values need not be explained, yet the description still maps the outcome space (board + matched token, candidates, outside_coverage, unknown) so the agent knows how to branch. Coverage limits and input constraints are fully specified for a single-parameter lookup tool.

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

Parameters4/5

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

Schema coverage is 100% and the schema already supplies the accepted name formats, so the baseline is 3. The description adds a genuinely useful exclusion not in the schema — 'Coordinates are not accepted' — which prevents an agent from passing lat/long to the single parameter.

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

Purpose5/5

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

States a specific verb (translate/resolve) and resource (place name → region handle) and immediately positions itself as the prerequisite for every other tool. An agent can tell it apart from search_showtimes or theater_info without reading any schema.

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

Usage Guidelines5/5

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

Explicitly says the output is 'the region handle every other tool takes', which tells the agent to call this first. It also defines the failure routing in detail: ambiguity returns candidates, out-of-board places return outside_coverage (with nearby published board), and unplaceable names return unknown. Nothing is left to inference.

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 by film or theaterA
Read-onlyIdempotent
Inspect

Showtimes scoped by FILM or by THEATER on one board — 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. Returns the 40 nearest showtimes ("concise") or up to 200 ("detailed"); showtime_count is the total and showtimes_complete says whether the list is whole, so narrow by date or theater for the rest. For the whole board with no film or theater in mind, call scenef_whats_playing instead. Read-only: the call itself records nothing. SceneF does not sell, hold or book tickets. Ticket links are https://scenef.com/go/{id} redirects to the theater's own site or the ticket seller it uses (a link to a showtime that is gone lands back on SceneF); whoever follows one, a person or a client, is logged once anonymously (time, the screening with its film and theater, client type, browser family, referring site, link source tag, and whether the showtime was gone; no IP address, cookie or account) and forwarded. Every emitted showtime carries confidence, source tier, reporting sources and verified_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoRestrict to one night, YYYY-MM-DD.
filmNoFilm 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.
regionNoWhich regional board to read: a board id such as "sf", "oahu" or "miami", not a city name ("Honolulu" or "Chicago" is rejected). Omitted means "sf" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback.
venuesNoRestrict to these theaters (ids or names), e.g. ["roxie", "Balboa"]. Required when `film` is omitted.
time_afterNoOnly shows at or after this local time, "HH:MM" 24h.
time_beforeNoOnly shows at or before this local time, "HH:MM" 24h.
response_formatNoOutput 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; "detailed" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in "concise" and up to 200 in "detailed". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest.

Output Schema

ParametersJSON Schema
NameRequiredDescription
filmNo
noteNo
queryYes
regionYes
venuesYes
matchedYes
refusalNo
timezoneYes
warningsYes
candidatesNo
data_as_ofYes
attributionYes
filtered_byNo
region_nameYes
accuracy_urlYes
coverage_noteYes
showtime_countYes
unknown_venuesYes
showtimes_completeNoWhether the rows returned are all showtime_count matches. When false, narrow by date or theater for the rest.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent, but the description adds material behavior beyond them: nothing is recorded by the call, SceneF does not sell or hold tickets, ticket links are scenef.com/go/{id} redirects, and link follows are logged anonymously without IP/cookie/account. It also discloses result truncation (40 concise / up to 200 detailed) and the showtime_count vs showtimes_complete completeness flags.

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

Conciseness3/5

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

Front-loaded with the core scoping rule and altitude of the alternative tool, which is good. But it then spends several sentences enumerating the anonymous-logging fields (client type, browser family, referring site, link source tag, gone-status, no IP/cookie/account) — detail with little bearing on selecting or invoking the tool, which dilutes an otherwise efficient definition.

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

Completeness5/5

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

For a 7-param, open-world read tool with an output schema, the description covers everything an agent needs: required scoping input, region defaults and resolution path, alternative siblings, truncation behavior, and completeness signals. Return-value detail is appropriately delegated to the output schema.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents every parameter (baseline 3). The description nonetheless adds semantics not in the schema: film titles are fuzzy-matched and ambiguous queries return candidates, and region is never inferred from location. It does not add much for date/time-window params, which the schema already covers.

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

Purpose5/5

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

States a specific verb and resource ('Showtimes scoped by FILM or by THEATER on one board') and immediately names the required input shape ('pass at least one'). It explicitly contrasts itself with the sibling scenef_whats_playing, so the agent can tell the two apart without opening schemas.

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

Usage Guidelines5/5

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

Gives explicit routing rules: use film for 'where that film is playing', venues-only for 'everything at those theaters', and 'For the whole board with no film or theater in mind, call scenef_whats_playing instead.' It also redirects to scenef_resolve_board and scenef_now for region/city resolution.

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

scenef_theater_infoTheater infoA
Read-onlyIdempotent
Inspect

One theater's card: address, neighborhood, website, ticketing note, structured discounts (label/detail/day; membership and discount-card pricing reads "Member pricing; see the theater"), amenities, its next 5 showtimes with ticket links, and its calendar feed url. Read-only: the call itself records nothing. SceneF does not sell, hold or book tickets. Ticket links are https://scenef.com/go/{id} redirects to the theater's own site or the ticket seller it uses (a link to a showtime that is gone lands back on SceneF); whoever follows one, a person or a client, is logged once anonymously (time, the screening with its film and theater, client type, browser family, referring site, link source tag, and whether the showtime was gone; no IP address, cookie or account) and forwarded. Every emitted showtime carries confidence, source tier, reporting sources and verified_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoWhich regional board to read: a board id such as "sf", "oahu" or "miami", not a city name ("Honolulu" or "Chicago" is rejected). Omitted means "sf" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback.
theaterYesTheater id or name, e.g. "roxie" or "Balboa Theater".
response_formatNoOutput 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; "detailed" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in "concise" and up to 200 in "detailed". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest.

Output Schema

ParametersJSON Schema
NameRequiredDescription
queryYes
venueNo
regionYes
matchedYes
timezoneYes
upcomingNo
candidatesNo
data_as_ofYes
attributionYes
region_nameYes
accuracy_urlYes
upcoming_countNo
covered_venue_idsNo

TDQS

A4.1/5.0
Behavior5/5

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

Annotations cover read-only, idempotent, open-world and non-destructive behavior, yet the description adds substantial context beyond that: the call records nothing, SceneF does not sell/hold/book tickets, ticket links are /go/{id} redirects, and following a link logs an anonymous record with the exact fields captured (time, screening, client type, browser family, referring site, link source tag, gone status) while excluding IP/cookie/account. It also warns that gone showtimes land back on SceneF and every showtime carries confidence/source tier/reporting sources/verified_at.

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

Conciseness3/5

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

The first sentence is a dense, well-structured enumeration of the payload. The following sentences, however, drift into a long parenthetical listing the anonymous log fields, which is accurate but weighs down the description and is not front-loaded information for a caller.

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

Completeness5/5

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

Given the tool returns a rich card with discounts, amenities and showtimes plus an output schema, the description covers the novel behavioral details an agent needs – ticket link redirects, privacy-preserving logging, no ticket sales, and confidence metadata on showtimes. Nothing materially important is omitted.

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

Parameters3/5

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

Schema description coverage is 100% – region, theater and response_format are thoroughly documented in the schema itself, including enum behavior and default. The description adds no parameter-level detail, so the baseline 3 applies.

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

Purpose5/5

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

Opens with a concrete 'One theater's card' and enumerates the exact fields returned (address, neighborhood, website, ticketing note, structured discounts, amenities, next 5 showtimes with ticket links, calendar feed url). This distinguishes it from siblings like scenef_film_details (films) and scenef_discounts (discounts across theaters) without ambiguity.

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

Usage Guidelines3/5

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

The description implies usage by naming what it returns ('one theater's card') and stating read-only/non-selling behavior, but it never explicitly says when to call this vs scenef_whats_playing or scenef_discounts. No exclusions or alternative routing are given.

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 playingA
Read-onlyIdempotent
Inspect

Use this when someone asks what is showing in one area tonight, tomorrow, this weekend or on a date. Reads ONE regional board per call; SceneF publishes 56 boards, in California, Florida and Hawaii only. Pass region; it defaults to "sf" (San Francisco) when omitted. For a city, ZIP or neighborhood, call scenef_resolve_board first. Returns a ranked list of films, with optional genre and format filters. When the window covers tonight it opens with Notable tonight: scarcity facts with evidence (measured seat counts, final nights, lone prints, posted discounts, live elements). Each entry carries year, runtime, genres, a one-line hook, venue count, showtime_count, the next showtime and the film's SceneF url. "detailed" adds showtime rows, about 200 across the answer; scenef_search_showtimes lists the times for one film or theater. Read-only: the call itself records nothing. SceneF does not sell, hold or book tickets. Ticket links are https://scenef.com/go/{id} redirects to the theater's own site or the ticket seller it uses (a link to a showtime that is gone lands back on SceneF); whoever follows one, a person or a client, is logged once anonymously (time, the screening with its film and theater, client type, browser family, referring site, link source tag, and whether the showtime was gone; no IP address, cookie or account) and forwarded. Every emitted showtime carries confidence, source tier, reporting sources and verified_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
whenNoWhen to look: "tonight" (default), "tomorrow", "weekend" (Fri/Sat/Sun of the current week), or a YYYY-MM-DD date.
genresNoGenre filters, e.g. ["horror", "comedy"].
regionNoWhich regional board to read: a board id such as "sf", "oahu" or "miami", not a city name ("Honolulu" or "Chicago" is rejected). Omitted means "sf" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback.
formatsNoFormat/tag filters, e.g. ["35mm", "70mm", "qa", "live-score"].
max_resultsNoMax films to return (default 12, cap 25).
response_formatNoOutput 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; "detailed" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in "concise" and up to 200 in "detailed". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
filmsYes
nightsYes
regionYes
windowYes
notableYes
timezoneYes
data_as_ofYes
film_countYes
attributionYes
region_nameYes
accuracy_urlYes

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent/non-destructive profile, and the description adds substantial behavior beyond that: region defaults to 'sf' and is never inferred, unknown region is an error not a fallback, the service does not sell or hold tickets, and following a ticket link logs one anonymous event with an enumerated field list. It also discloses return-accuracy metadata (confidence, source tier, reporting sources, verified_at) and that 'detailed' expands to ~200 showtime rows.

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

Conciseness4/5

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

Front-loaded with the trigger and routing guidance before the mechanics, which is the right order. The ticket-link logging passage is dense and drawn out for what it contributes, but it is defensible as a privacy disclosure rather than filler; the rest of the text is tight.

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

Completeness5/5

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

An output schema exists and annotations cover safety, so the description needn't explain return shapes. What it must carry — routing to siblings, region default/error behavior, filter behavior, privacy and ticket-link handling — is fully present. Nothing an agent needs to call this correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds genuine value on top: it clarifies that region is a board id and never inferred, that 'when' defaults to tonight, and precisely what 'detailed' does for this tool (showtime rows with ids, ticket urls, accuracy metadata) versus how the same flag behaves elsewhere. It does not extend beyond the schema on max_results or the genre/format vocabularies, so not a 5.

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

Purpose5/5

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

States a specific verb and resource: it reads ONE regional board and returns a ranked list of films, with optional genre/format filters. It explicitly names its siblings' divergent roles (scenef_resolve_board for city/ZIP, scenef_search_showtimes for one film or theater), so an agent can distinguish it without opening any schema.

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

Usage Guidelines5/5

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

Explicit trigger ('when someone asks what is showing in one area tonight, tomorrow, this weekend or on a date') plus named alternatives and their conditions: resolve_board first for city/ZIP/neighborhood, search_showtimes for a single film's times. It also states the 'whats_playing' enum semantics versus how the same enum behaves in film_details/search_showtimes.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updates
    • Changedscenef_accuracy3 fields changed
      • changedInput schema / properties / region / description
        Previous value: -"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."New value: +"Which regional board to read: a board id such as \"sf\", \"oahu\" or \"miami\", not a city name (\"Honolulu\" or \"Chicago\" is rejected). Omitted means \"sf\" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback."
      • addedInput schema / properties / region / maxLength
        Added value: +120
      • changedInput schema / properties / response_format / description
        Previous 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."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; \"detailed\" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in \"concise\" and up to 200 in \"detailed\". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest."
    • Changedscenef_coming_soon3 fields changed
      • changedInput schema / properties / region / description
        Previous value: -"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."New value: +"Which regional board to read: a board id such as \"sf\", \"oahu\" or \"miami\", not a city name (\"Honolulu\" or \"Chicago\" is rejected). Omitted means \"sf\" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback."
      • addedInput schema / properties / region / maxLength
        Added value: +120
      • changedInput schema / properties / response_format / description
        Previous 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."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; \"detailed\" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in \"concise\" and up to 200 in \"detailed\". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest."
    • Changedscenef_discounts3 fields changed
      • changedInput schema / properties / region / description
        Previous value: -"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."New value: +"Which regional board to read: a board id such as \"sf\", \"oahu\" or \"miami\", not a city name (\"Honolulu\" or \"Chicago\" is rejected). Omitted means \"sf\" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback."
      • addedInput schema / properties / region / maxLength
        Added value: +120
      • changedInput schema / properties / response_format / description
        Previous 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."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; \"detailed\" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in \"concise\" and up to 200 in \"detailed\". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest."
    • Changedscenef_film_details6 fields changed
      • addedInput schema / properties / film / maxLength
        Added value: +120
      • changedInput schema / properties / region / description
        Previous value: -"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."New value: +"Which regional board to read: a board id such as \"sf\", \"oahu\" or \"miami\", not a city name (\"Honolulu\" or \"Chicago\" is rejected). Omitted means \"sf\" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback."
      • addedInput schema / properties / region / maxLength
        Added value: +120
      • changedInput schema / properties / response_format / description
        Previous 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."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; \"detailed\" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in \"concise\" and up to 200 in \"detailed\". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest."
      • addedOutput schema / properties / note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / showtimes_complete
        Added value: +{
        +  "description": "Whether showtimes holds all showtime_count screenings. The nearest 40 (concise) or 200 (detailed) are returned.",
        +  "type": "boolean"
        +}
    • Changedscenef_now4 fields changed
      • changedInput schema / properties / region / description
        Previous value: -"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."New value: +"Which regional board to read: a board id such as \"sf\", \"oahu\" or \"miami\", not a city name (\"Honolulu\" or \"Chicago\" is rejected). Omitted means \"sf\" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback."
      • addedInput schema / properties / region / maxLength
        Added value: +120
      • changedInput schema / properties / response_format / description
        Previous 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."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; \"detailed\" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in \"concise\" and up to 200 in \"detailed\". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest."
      • changedOutput schema / required
        Previous value: -[
        -  "data_as_of",
        -  "attribution",
        -  "accuracy_url",
        -  "region",
        -  "region_name",
        -  "timezone",
        -  "night_of",
        -  "is_tonight",
        -  "screenings_tonight",
        -  "still_to_come",
        -  "next_curtains",
        -  "boards",
        -  "sources"
        -]New value: +[
        +  "data_as_of",
        +  "attribution",
        +  "accuracy_url",
        +  "region",
        +  "region_name",
        +  "timezone",
        +  "night_of",
        +  "is_tonight",
        +  "screenings_tonight",
        +  "still_to_come",
        +  "next_curtains",
        +  "sources"
        +]
    • Changedscenef_plan_movie_night18 fields changed
      • changedInput schema / properties / party_size / description
        Previous value: -"How many people are going."New value: +"How many people are going (1-20). It labels the plan; it does not change which shows are picked."
      • changedInput schema / properties / party_size / maximum
        Previous value: -9007199254740991New value: +20
      • addedInput schema / properties / preferences / properties / avoids / items / maxLength
        Added value: +80
      • addedInput schema / properties / preferences / properties / avoids / maxItems
        Added value: +10
      • changedInput schema / properties / preferences / properties / formats / description
        Previous value: -"Formats to favor, e.g. [\"35mm\", \"70mm\"]."New value: +"Formats to favor, e.g. [\"35mm\", \"70mm\"]. If none in the window matches, the plan says so in warnings."
      • addedInput schema / properties / preferences / properties / formats / items / maxLength
        Added value: +80
      • addedInput schema / properties / preferences / properties / formats / maxItems
        Added value: +10
      • addedInput schema / properties / preferences / properties / home_venues / items / maxLength
        Added value: +80
      • addedInput schema / properties / preferences / properties / home_venues / maxItems
        Added value: +10
      • changedInput schema / properties / preferences / properties / likes / description
        Previous value: -"Genres to favor, e.g. [\"horror\", \"comedy\"]."New value: +"Genres to favor, e.g. [\"horror\", \"comedy\"]. If no film in the window matches, the plan says so in warnings."
      • addedInput schema / properties / preferences / properties / likes / items / maxLength
        Added value: +80
      • addedInput schema / properties / preferences / properties / likes / maxItems
        Added value: +10
      • addedInput schema / properties / preferences / properties / time_after / maxLength
        Added value: +120
      • addedInput schema / properties / preferences / properties / time_before / maxLength
        Added value: +120
      • changedInput schema / properties / region / description
        Previous value: -"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."New value: +"Which regional board to read: a board id such as \"sf\", \"oahu\" or \"miami\", not a city name (\"Honolulu\" or \"Chicago\" is rejected). Omitted means \"sf\" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback."
      • addedInput schema / properties / region / maxLength
        Added value: +120
      • changedInput schema / properties / response_format / description
        Previous 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."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; \"detailed\" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in \"concise\" and up to 200 in \"detailed\". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest."
      • addedInput schema / properties / when / maxLength
        Added value: +120
    • Changedscenef_resolve_board1 field changed
      • addedInput schema / properties / place / maxLength
        Added value: +120
    • Changedscenef_search_showtimes11 fields changed
      • addedInput schema / properties / date / maxLength
        Added value: +120
      • addedInput schema / properties / film / maxLength
        Added value: +120
      • changedInput schema / properties / region / description
        Previous value: -"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."New value: +"Which regional board to read: a board id such as \"sf\", \"oahu\" or \"miami\", not a city name (\"Honolulu\" or \"Chicago\" is rejected). Omitted means \"sf\" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback."
      • addedInput schema / properties / region / maxLength
        Added value: +120
      • changedInput schema / properties / response_format / description
        Previous 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."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; \"detailed\" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in \"concise\" and up to 200 in \"detailed\". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest."
      • addedInput schema / properties / time_after / maxLength
        Added value: +120
      • addedInput schema / properties / time_before / maxLength
        Added value: +120
      • addedInput schema / properties / venues / items / maxLength
        Added value: +80
      • addedInput schema / properties / venues / maxItems
        Added value: +10
      • addedOutput schema / properties / note
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / showtimes_complete
        Added value: +{
        +  "description": "Whether the rows returned are all showtime_count matches. When false, narrow by date or theater for the rest.",
        +  "type": "boolean"
        +}
    • Changedscenef_theater_info4 fields changed
      • changedInput schema / properties / region / description
        Previous value: -"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."New value: +"Which regional board to read: a board id such as \"sf\", \"oahu\" or \"miami\", not a city name (\"Honolulu\" or \"Chicago\" is rejected). Omitted means \"sf\" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback."
      • addedInput schema / properties / region / maxLength
        Added value: +120
      • changedInput schema / properties / response_format / description
        Previous 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."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; \"detailed\" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in \"concise\" and up to 200 in \"detailed\". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest."
      • addedInput schema / properties / theater / maxLength
        Added value: +120
    • Changedscenef_whats_playing8 fields changed
      • addedInput schema / properties / formats / items / maxLength
        Added value: +80
      • addedInput schema / properties / formats / maxItems
        Added value: +10
      • addedInput schema / properties / genres / items / maxLength
        Added value: +80
      • addedInput schema / properties / genres / maxItems
        Added value: +10
      • changedInput schema / properties / region / description
        Previous value: -"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."New value: +"Which regional board to read: a board id such as \"sf\", \"oahu\" or \"miami\", not a city name (\"Honolulu\" or \"Chicago\" is rejected). Omitted means \"sf\" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback."
      • addedInput schema / properties / region / maxLength
        Added value: +120
      • changedInput schema / properties / response_format / description
        Previous 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."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; \"detailed\" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in \"concise\" and up to 200 in \"detailed\". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest."
      • addedInput schema / properties / when / maxLength
        Added value: +120
  2. 9 tool updates
    • Changedscenef_accuracy6 fields changed
      • changedInput schema / properties / response_format / description
        Previous 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."
      • addedOutput schema / properties / accuracy_url
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / region
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / region_name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / timezone
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous 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"
        +]
    • Changedscenef_coming_soon1 field changed
      • changedInput schema / properties / response_format / description
        Previous 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."
    • Changedscenef_discounts1 field changed
      • changedInput schema / properties / response_format / description
        Previous 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."
    • Changedscenef_film_details9 fields changed
      • changedInput schema / properties / response_format / description
        Previous 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."
      • addedOutput schema / properties / showtimes / items / properties / calendar_url
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / showtimes / items / properties / confidence
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "venue-published",
        +        "corroborated",
        +        "single-source",
        +        "disputed"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / showtimes / items / properties / freshness
        Added 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"
        +}
      • addedOutput schema / properties / showtimes / items / properties / note
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / showtimes / items / properties / source_tier
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / showtimes / items / properties / sources
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / showtimes / items / properties / verified_at
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / showtimes / items / required
        Previous 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"
        +]
    • Changedscenef_now9 fields changed
      • changedInput schema / properties / response_format / description
        Previous 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."
      • addedOutput schema / properties / next_curtains / items / properties / calendar_url
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / next_curtains / items / properties / confidence
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "venue-published",
        +        "corroborated",
        +        "single-source",
        +        "disputed"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / next_curtains / items / properties / freshness
        Added 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"
        +}
      • addedOutput schema / properties / next_curtains / items / properties / note
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / next_curtains / items / properties / source_tier
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / next_curtains / items / properties / sources
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / next_curtains / items / properties / verified_at
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / next_curtains / items / required
        Previous 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"
        +]
    • Changedscenef_plan_movie_night12 fields changed
      • changedInput schema / properties / response_format / description
        Previous 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."
      • addedOutput schema / properties / plans / items / properties / showtime / properties / calendar_url
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / plans / items / properties / showtime / properties / confidence
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "venue-published",
        +        "corroborated",
        +        "single-source",
        +        "disputed"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / plans / items / properties / showtime / properties / freshness
        Added 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"
        +}
      • addedOutput schema / properties / plans / items / properties / showtime / properties / note
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / plans / items / properties / showtime / properties / source_tier
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / plans / items / properties / showtime / properties / sources
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / plans / items / properties / showtime / properties / verified_at
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / plans / items / properties / showtime / required
        Previous 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"
        +]
      • addedOutput schema / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / wildcard / anyOf
        Previous 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"
        +  }
        +]
      • changedOutput schema / required
        Previous 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"
        +]
    • Changedscenef_search_showtimes11 fields changed
      • changedInput schema / properties / response_format / description
        Previous 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."
      • addedOutput schema / properties / venues / items / properties / showtimes / items / properties / calendar_url
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / venues / items / properties / showtimes / items / properties / confidence
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "venue-published",
        +        "corroborated",
        +        "single-source",
        +        "disputed"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / venues / items / properties / showtimes / items / properties / freshness
        Added 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"
        +}
      • addedOutput schema / properties / venues / items / properties / showtimes / items / properties / note
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / venues / items / properties / showtimes / items / properties / source_tier
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / venues / items / properties / showtimes / items / properties / sources
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / venues / items / properties / showtimes / items / properties / verified_at
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / venues / items / properties / showtimes / items / required
        Previous 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"
        +]
      • addedOutput schema / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / required
        Previous 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"
        +]
    • Changedscenef_theater_info9 fields changed
      • changedInput schema / properties / response_format / description
        Previous 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."
      • addedOutput schema / properties / upcoming / items / properties / calendar_url
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / upcoming / items / properties / confidence
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "venue-published",
        +        "corroborated",
        +        "single-source",
        +        "disputed"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / upcoming / items / properties / freshness
        Added 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"
        +}
      • addedOutput schema / properties / upcoming / items / properties / note
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / upcoming / items / properties / source_tier
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / upcoming / items / properties / sources
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / upcoming / items / properties / verified_at
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / upcoming / items / required
        Previous 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"
        +]
    • Changedscenef_whats_playing12 fields changed
      • changedInput schema / properties / response_format / description
        Previous 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."
      • addedOutput schema / properties / films / items / properties / next_showtime
        Added 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"
        +}
      • addedOutput schema / properties / films / items / properties / showtimes / items / properties / calendar_url
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / films / items / properties / showtimes / items / properties / confidence
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "venue-published",
        +        "corroborated",
        +        "single-source",
        +        "disputed"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / films / items / properties / showtimes / items / properties / freshness
        Added 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"
        +}
      • addedOutput schema / properties / films / items / properties / showtimes / items / properties / note
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / films / items / properties / showtimes / items / properties / source_tier
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / films / items / properties / showtimes / items / properties / sources
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / films / items / properties / showtimes / items / properties / verified_at
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / films / items / properties / showtimes / items / required
        Previous 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"
        +]
      • addedOutput schema / properties / films / items / properties / showtimes_complete
        Added value: +{
        +  "description": "Whether showtimes includes all showtime_count screenings. Concise includes only the next screening; detailed includes all.",
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / films / items / required
        Previous 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"
        +]
  3. 1 tool update
    • Addedscenef_resolve_board
  4. 9 tool updates
    • Changedscenef_accuracy1 field changed
      • changedInput schema / properties / response_format / description
        Previous 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."
    • Changedscenef_coming_soon1 field changed
      • changedInput schema / properties / response_format / description
        Previous 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."
    • Changedscenef_discounts1 field changed
      • changedInput schema / properties / response_format / description
        Previous 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."
    • Changedscenef_film_details1 field changed
      • changedInput schema / properties / response_format / description
        Previous 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."
    • Changedscenef_now1 field changed
      • changedInput schema / properties / response_format / description
        Previous 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."
    • Changedscenef_plan_movie_night1 field changed
      • changedInput schema / properties / response_format / description
        Previous 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."
    • Changedscenef_search_showtimes1 field changed
      • changedInput schema / properties / response_format / description
        Previous 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."
    • Changedscenef_theater_info1 field changed
      • changedInput schema / properties / response_format / description
        Previous 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."
    • Changedscenef_whats_playing3 fields changed
      • changedInput schema / properties / response_format / description
        Previous 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."
      • addedOutput schema / properties / films / items / properties / showtime_count
        Added value: +{
        +  "type": "number"
        +}
      • changedOutput schema / properties / films / items / required
        Previous 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"
        +]
  5. 9 tool updates
    • Changedscenef_accuracy1 field changed
      • addedInput schema / properties / region
        Added 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"
        +}
    • Changedscenef_coming_soon5 fields changed
      • addedInput schema / properties / region
        Added 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"
        +}
      • addedOutput schema / properties / region
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / region_name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / timezone
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous 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"
        +]
    • Changedscenef_discounts5 fields changed
      • addedInput schema / properties / region
        Added 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"
        +}
      • addedOutput schema / properties / region
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / region_name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / timezone
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous 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"
        +]
    • Changedscenef_film_details5 fields changed
      • addedInput schema / properties / region
        Added 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"
        +}
      • addedOutput schema / properties / region
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / region_name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / timezone
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_as_of",
        -  "attribution",
        -  "accuracy_url",
        -  "query",
        -  "matched"
        -]New value: +[
        +  "data_as_of",
        +  "attribution",
        +  "accuracy_url",
        +  "region",
        +  "region_name",
        +  "timezone",
        +  "query",
        +  "matched"
        +]
    • Changedscenef_now6 fields changed
      • addedInput schema / properties / region
        Added 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"
        +}
      • addedOutput schema / properties / boards
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "timezone": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "region",
        +      "name",
        +      "timezone"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / region
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / region_name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / timezone
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous 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"
        +]
    • Changedscenef_plan_movie_night5 fields changed
      • addedInput schema / properties / region
        Added 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"
        +}
      • addedOutput schema / properties / region
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / region_name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / timezone
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous 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"
        +]
    • Changedscenef_search_showtimes5 fields changed
      • addedInput schema / properties / region
        Added 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"
        +}
      • addedOutput schema / properties / region
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / region_name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / timezone
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous 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"
        +]
    • Changedscenef_theater_info5 fields changed
      • addedInput schema / properties / region
        Added 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"
        +}
      • addedOutput schema / properties / region
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / region_name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / timezone
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "data_as_of",
        -  "attribution",
        -  "accuracy_url",
        -  "query",
        -  "matched"
        -]New value: +[
        +  "data_as_of",
        +  "attribution",
        +  "accuracy_url",
        +  "region",
        +  "region_name",
        +  "timezone",
        +  "query",
        +  "matched"
        +]
    • Changedscenef_whats_playing5 fields changed
      • addedInput schema / properties / region
        Added 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"
        +}
      • addedOutput schema / properties / region
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / region_name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / timezone
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous 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"
        +]
  6. 1 tool update
    • Changedscenef_search_showtimes1 field changed
      • changedInput schema / properties / film / description
        Previous 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."
  7. 2 tool updates
    • Changedscenef_plan_movie_night4 fields changed
      • changedInput schema / properties / preferences / description
        Previous 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."
      • addedInput schema / properties / preferences / properties / time_after
        Added 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"
        +}
      • addedInput schema / properties / preferences / properties / time_before
        Added value: +{
        +  "description": "HARD latest start, \"HH:MM\" local 24h. Same no-fallback rule.",
        +  "type": "string"
        +}
      • changedInput schema / properties / preferences / properties / window / description
        Previous 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."
    • Changedscenef_search_showtimes8 fields changed
      • changedInput schema / properties / film / description
        Previous 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."
      • changedInput schema / properties / venues / description
        Previous 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."
      • removedInput schema / required
        Removed value: -[
        -  "film"
        -]
      • addedOutput schema / properties / filtered_by
        Added value: +{
        +  "enum": [
        +    "film",
        +    "venue"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / query / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / query / type
        Removed value: -"string"
      • addedOutput schema / properties / refusal
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / venues / items / properties / showtimes / items / properties / film
        Added 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. 8 tool updates
    • Changedscenef_coming_soon1 field changed
      • changedOutput 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"
        +}
    • Changedscenef_discounts1 field changed
      • changedOutput 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"
        +}
    • Changedscenef_film_details1 field changed
      • changedOutput 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"
        +}
    • Changedscenef_now1 field changed
      • changedOutput 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"
        +}
    • Changedscenef_plan_movie_night1 field changed
      • changedOutput 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"
        +}
    • Changedscenef_search_showtimes1 field changed
      • changedOutput 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"
        +}
    • Changedscenef_theater_info1 field changed
      • changedOutput 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"
        +}
    • Changedscenef_whats_playing1 field changed
      • changedOutput 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. 9 tool updates
    • First observedscenef_accuracy
    • First observedscenef_coming_soon
    • First observedscenef_discounts
    • First observedscenef_film_details
    • First observedscenef_now
    • First observedscenef_plan_movie_night
    • First observedscenef_search_showtimes
    • First observedscenef_theater_info
    • First observedscenef_whats_playing

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Every 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.
    9
    342 npm
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    The 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
    -
  • A
    license
    A
    quality
    D
    maintenance
    Provides 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.
    6
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources