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 with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 36 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 10 tools

Disambiguation3/5

Most tools have distinct roles, but several overlap around showtime retrieval: scenef_now and scenef_whats_playing both cover tonight, scenef_film_details and scenef_search_showtimes both return per-film showtimes, and scenef_theater_info overlaps with venue-scoped searches. The detailed descriptions and cross-references help, but an agent could still pick the wrong tool for a given showtime query.

Naming Consistency4/5

All tool names share the scenef_ prefix and lower_snake_case, making the family recognizable. However, the grammatical pattern is inconsistent: some are verb phrases like search_showtimes and resolve_board, while others are nouns or adverbial phrases like discounts, now, and whats_playing. This is a minor deviation from a strict verb_noun convention.

Tool Count5/5

Ten tools is well within the ideal range for a domain-specific server. Each tool addresses a distinct aspect of the showtime experience—discovery, search, details, discounts, planning, and data quality—without unnecessary redundancy.

Completeness4/5

The server covers the main movie-showtime workflow well: resolving location, seeing what's playing, searching by film or theater, getting film and theater details, discounts, and planning. The main gap is the lack of a direct way to list or resolve theaters and venues by name, which forces agents to discover venue IDs through film and showtime results.

Available Tools

10 tools
scenef_accuracyThe accuracy recordA
Read-only
Inspect

Accuracy is computed, not claimed: every showtime carries a confidence level, a source tier, and a last-verified time, and the running record of our own verification checks — failures included — is public at https://scenef.com/api/accuracy. This tool returns that record: the site-wide confidence mix, the counts of verification checks confirmed / missing / unreachable over the record's window (window_days in the payload — 30 days at present) with the pass rate and the exact denominator it was computed from, the same per venue with source tier and last-verified time, and the definitions of every level. Checks that could not run — a bot wall, a client-rendered page — are graded unreachable and excluded from the pass rate rather than counted as passes. Quote these numbers directly; they are recomputed on every call.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoWhich regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.
response_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; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre.

Output Schema

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

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already mark readOnly and non-destructive, but the description adds substantial behavioral context: failures are public, unreachable checks are excluded from the pass rate, the window is 30 days, and results are recomputed on each call. This goes well beyond what annotations convey and gives an agent strong expectations about data provenance and edge cases.

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

Conciseness5/5

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

Although the description is relatively long, every sentence earns its place: it establishes provenance, states the return value, explains the unreachable-check handling, and gives usage direction. The structure is front-loaded with the core purpose and expands into necessary methodology without fluff.

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

Completeness4/5

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

The main description is unusually complete for a read-only tool with annotations and an output schema, covering methodology, exclusions, denominator semantics, and recency. It falls just short of perfect because the response_format parameter's schema description appears contaminated with text about whats_playing, and the main description does not clarify the concise/detailed distinction specifically for accuracy output.

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

Parameters3/5

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

Schema coverage is 100%, so the main description is not required to re-explain region or response_format. The description contributes output-related context like window_days but does not add input-parameter semantics beyond the schema. It meets the baseline but does not exceed it.

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

Purpose5/5

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

The first two sentences define a clear resource — the accuracy/verification record — and a specific action: 'This tool returns that record.' It is immediately distinguishable from siblings like scenef_search_showtimes or scenef_now, which focus on showtimes or board listings rather than verification statistics.

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

Usage Guidelines4/5

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

The description includes explicit routing guidance: 'Call scenef_now for the full list' of regions, and 'Use scenef_search_showtimes for all times for one film or theatre.' It also advises that the returned numbers should be quoted directly because they are recomputed on every call. It does not comprehensively enumerate every situation where accuracy should be preferred, but the context is clear.

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

scenef_coming_soonComing soon (on-sale radar)A
Read-only
Inspect

Films whose first screening on this board is more than 48 hours out, sorted by first night — the on-sale radar for runs worth booking early. Configurable horizon. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoWhich regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.
horizon_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; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre.

Output Schema

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

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description goes beyond that by disclosing that every emitted showtime includes confidence, source tier, reporting sources and verified_at, and that showtimes_complete marks partial arrays — useful behavioral context for interpreting results.

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

Conciseness2/5

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

The opening is front-loaded and efficient, but the last two sentences contain a confusing 'In whats_playing' reference that appears copy-pasted from a different tool and repeats response-format details already in the schema. Those sentences do not earn their place and harm clarity.

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

Completeness4/5

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

Given the output schema exists, the description does not need to enumerate return fields; it supplies the core selection rule, sorting, configurable horizon, and data-provenance behavior. The whats_playing mis-reference is a notable flaw, but the tool remains callable based on the provided info.

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

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, horizon_days, and response_format thoroughly. The description adds only the high-level 'Configurable horizon' and not much beyond what the schema provides, so the baseline 3 applies.

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

Purpose5/5

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

The description names a precise resource: films whose first screening on the board is more than 48 hours out, sorted by first night. This clearly separates it from scenef_whats_playing and scenef_search_showtimes, and the 'on-sale radar' phrasing conveys the intended booking use case.

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

Usage Guidelines3/5

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

The 'worth booking early' phrasing implies when to use it, and 'Configurable horizon' hints at tuning, but there is no explicit when-to-use/when-not-to-use guidance or named alternatives. The agent must infer the tool's niche from the title and wording.

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

scenef_discountsDiscount gridA
Read-only
Inspect

Every structured discount across one board's theaters — venue, label, detail, and day-bound days — with the ones that apply today flagged.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoWhich regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.
response_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; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre.

Output Schema

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

TDQS

A4.1/5.0
Behavior4/5

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

Annotations (readOnlyHint=true, destructiveHint=false) already convey safety. The description adds behavioral context by mentioning that today's applicable discounts are flagged, which is useful. It doesn't specify other behaviors like sorting or pagination, but given annotations, this is sufficient.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the core function and includes key attributes. It is efficient with no wasted words, making it easy to scan.

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

Completeness4/5

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

Given the output schema exists and the tool has only 2 optional parameters, the description covers the essential context. It doesn't explain edge cases like empty boards, but the output schema likely handles that. Overall, enough for an agent to call correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so parameters are fully documented. The description doesn't add much beyond the schema, but since the schema is complete and detailed (including error behavior for region, and response format details), the baseline of 3 is elevated to 4 because the schema itself is well-written and covers semantics.

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

Purpose4/5

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

The description clearly states the tool's purpose: listing structured discounts across a board's theaters with specific attributes (venue, label, detail, day-bound days) and flags applicable ones. It distinguishes from siblings by focusing on discounts, though it doesn't explicitly differentiate from related tools like scenef_whats_playing, but the purpose is clear.

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

Usage Guidelines4/5

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

The description implies usage context: querying discounts for a board's theaters. It doesn't explicitly state when not to use it or name alternatives, but the schema's response_format description mentions using scenef_search_showtimes for all times for one film/theatre, which gives partial guidance. This is clear but lacks explicit 'when not to use' statements.

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

scenef_film_detailsFilm detailsA
Read-only
Inspect

The full card for one film: title, year, runtime, genres, directors, cast, overview, rating, trailer and poster urls when present, every upcoming showtime with venue/time/ticket link, and a last-night flag when the run is ending. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.

ParametersJSON Schema
NameRequiredDescriptionDefault
filmYesFilm title or SceneF slug.
regionNoWhich regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.
response_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; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre.

Output Schema

ParametersJSON Schema
NameRequiredDescription
filmNo
queryYes
regionYes
matchedYes
timezoneYes
showtimesNo
candidatesNo
data_as_ofYes
attributionYes
final_nightNo
region_nameYes
accuracy_urlYes
is_last_nightNo
showtime_countNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable transparency about the potential for a last-night flag, the inclusion of accuracy metadata (confidence, source tier, verified_at), and the behavior of the region parameter (error if unknown, no inference). This adds context that isn't in the annotations, though it could mention what happens when a film is not found or showtime data is incomplete.

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

Conciseness4/5

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

The description is dense and front-loaded with the core purpose, then lists fields efficiently. It could be slightly more concise by trimming some redundant explanation of the response formats (e.g., the schema already describes them, but the description elaborates). However, every sentence earns its place by adding useful detail about metadata and exclusions.

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

Completeness4/5

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

The tool is moderately complex with three parameters and a rich output schema, but the description covers the key scenarios: when to use the tool, what data it returns, and how to control output detail. The output schema presumably documents resulting fields, so the description doesn't need to explain return values. Missing is explicit mention of error handling or edge cases (e.g., film not found), but these are minor given the existing coverage.

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

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 all three parameters thoroughly. The description does add some value by explaining the behavior of 'concise' versus 'detailed' response formats, but the schema already covers the enum and the region's error behavior. Since schema does the heavy lifting, a baseline of 3 is appropriate; it doesn't significantly augment beyond what's already there.

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

Purpose5/5

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

The description explicitly states it provides the full card for one film, listing the specific data fields (title, year, runtime, genres, etc.), and distinguishes itself by noting it covers showtimes per film, unlike sibling tools that handle broader search or planning. This makes it clear what the tool does and how it differs from others.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use guidance: it mentions that for all times for one film or theatre, use scenef_search_showtimes instead. It also clarifies the distinction between 'concise' and 'detailed' response formats, helping the agent choose the right call. This goes beyond simple context and includes exclusions, making it a 5.

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

scenef_nowRight nowA
Read-only
Inspect

The cheap is-anything-on call: how many screenings tonight, the next 5 curtains across this board with venue/time/film, and dataset freshness per source. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoWhich regional board to read, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.
response_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; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre.

Output Schema

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

TDQS

A3.9/5.0
Behavior4/5

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

Beyond the read-only annotations, the description discloses meaningful behavior: outputs are capped at tonight's count plus the next 5 showtimes, every emitted showtime carries confidence, source tier, reporting sources and verified_at, and dataset freshness is reported per source. It also explains the concise/detailed output split and that showtimes_complete flags a partial array. Nothing contradicts readOnlyHint, openWorldHint, or destructiveHint; the weird 'In whats_playing' formatting keeps this from a 5.

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

Conciseness4/5

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

The opening sentence front-loads the core purpose in a dense, efficient clause and the second sentence adds output-metadata detail in one line. The third sentence is information-dense but reads awkwardly with 'In whats_playing,' which slightly hurts scannability. No wasted sentences, but the structure could be cleaner.

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

Completeness4/5

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

With a full output schema, 100% parameter coverage, and read-only annotations in place, the description covers the essential call semantics: scope, freshness, per-showtime metadata, and output-size behavior. The main gap is the unclear relationship to the scenef_whats_playing sibling, especially given the 'In whats_playing' phrasing, which an agent may misread as pointing to that sibling tool rather than describing the board output.

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

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 both parameters, including the default-board behavior, 'never inferred from where you are,' and error-on-unknown-region semantics for region, plus the concise/detailed output details for response_format. The description's reference to concise/detailed largely restates what the schema's response_format text already covers, adding only the wrapper framing of 'cheap.' A baseline 3 is appropriate since the description does not materially extend the parameter docs.

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

Purpose5/5

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

The description opens with a specific and distinctive positioning — 'The cheap is-anything-on call' — then enumerates concrete outputs: how many screenings tonight, the next 5 curtains with venue/time/film, and dataset freshness per source. This clearly identifies the tool as a lightweight, board-scoped status check and separates it from richer siblings like scenef_search_showtimes or scenef_whats_playing. The only minor ambiguity is the 'In whats_playing' phrase, but the core purpose is unmistakable.

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

Usage Guidelines3/5

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

Use is only implied through the phrase 'cheap is-anything-on call,' which signals a quick check but never explicitly states when not to use the tool or names an alternative within the description. The explicit alternative guidance ('Use scenef_search_showtimes for all times for one film or theatre') lives in the schema's response_format text, not in the description itself. The awkward 'In whats_playing' wording further blurs the boundary with the scenef_whats_playing sibling rather than clarifying when each is preferred.

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

scenef_plan_movie_nightPlan a movie nightA
Read-only
Inspect

The concierge: give it a window and a taste profile and it returns 2-4 complete plans — film + specific showtime + theater + why it fits — each with ticket and calendar links, plus one wildcard pick outside the stated genres. Rankings are pure preference-fit; never pay-ranked. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.

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, e.g. "sf", "oahu", "sacramento". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback.
party_sizeNoHow many people are going.
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; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre.

Output Schema

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

A3.6/5.0
Behavior4/5

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

The description discloses important behavior beyond the readOnly/destructive annotations: rankings are 'pure preference-fit; never pay-ranked', a wildcard pick is always included, every showtime carries confidence/source tier/verified_at metadata, and concise vs detailed response shapes differ. The 'In whats_playing...' phrasing introduces some ambiguity about which tool's output is being described, but it does not contradict the annotations.

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

Conciseness3/5

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

The early sentences are dense and information-rich, and the ranking/metadata disclosures are valuable. However, the closing 'In whats_playing...' sentence is awkward and appears mislabeled for this tool, making the description feel less cohesive than it could be.

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

Completeness4/5

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

Given the output schema exists and the parameter schema is fully documented, the description covers the planning behavior, ranking philosophy, output metadata, and response format. The main gaps are explicit sibling routing and the minor naming confusion around 'whats_playing', but an agent still has enough information to call the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The main description only broadly refers to a 'window and taste profile' and adds no parameter-specific meaning beyond the schema. The rich hard/soft preference semantics live inside the input-schema descriptions, not in the tool description itself.

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

Purpose4/5

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

The description clearly states what the tool produces: 2-4 complete movie-night plans with film, showtime, theater, rationale, ticket links, calendar links, and a wildcard pick outside stated genres. It positions the tool as a 'concierge' planner, which separates it from the sibling list/search tools, though it doesn't explicitly name the sibling it competes with.

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

Usage Guidelines3/5

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

The tool's purpose implies when to use it—when the user wants curated plans rather than raw listings. The response_format parameter adds one useful alternative: 'Use scenef_search_showtimes for all times for one film or theatre.' However, there is no explicit statement of when to choose plan_movie_night over scenef_whats_playing or the other siblings.

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

scenef_resolve_boardWhich board covers this placeA
Read-only
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 (Gainesville is a town in Texas and another in Florida), a place we cover but have not published returns outside_coverage with the nearest published boards, and an unknown string returns unknown with no fallback board. Coordinates are not accepted — this reads names, not locations.

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.5/5.0
Behavior4/5

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

Annotations already establish read-only, non-destructive, and non-open-world behavior. The description adds valuable transparency about return content, ambiguity handling, outside_coverage responses, and the lack of a fallback board for unknown strings.

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

Conciseness4/5

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

The description is compact and front-loaded with the main purpose, followed by behavioral details. The use of 'WHAT' in capitals and the em-dash structure are slightly stylized but do not hurt clarity or add unnecessary length.

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

Completeness5/5

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

Given an output schema exists, the description does not need to spell out every return field. It clearly explains the main output (board and matched input) and the three edge-case response modes, which is sufficient for an agent to know what to expect.

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

Parameters5/5

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

The single required parameter `place` is fully described in the schema with concrete examples of valid inputs: city names, ZIP codes, neighborhoods, and aliases. The description also clarifies what is not accepted, making the parameter semantics unambiguous.

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

Purpose5/5

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

States a specific action (Translate) and resource (city, ZIP, neighborhood, board alias) into the region handle used by other tools. The scope is clear and distinguishes it from the sibling tools that operate on films, theaters, and showtimes.

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

Usage Guidelines4/5

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

Implicitly tells when to use the tool by clarifying it reads names, not locations, and by describing refusal behavior for ambiguous or unknown input. It does not explicitly name alternative tools, but the scope is reasonably clear from the context.

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

scenef_search_showtimesSearch showtimes for a filmA
Read-only
Inspect

Showtimes scoped by FILM or by THEATER — pass at least one. With film: where that film is playing (title or slug; fuzzy-matched, ambiguous queries return candidates). With venues and no film: everything on at those theaters, each showtime naming its film. Grouped by theater with local times, tags (35mm/qa/sold-out), the night each show belongs to, and a ticket link per showtime. Optional date and time-window filters apply to both. For the whole board with no film or theater in mind, call scenef_whats_playing instead. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.

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, 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.
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; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre.

Output Schema

ParametersJSON Schema
NameRequiredDescription
filmNo
queryYes
regionYes
venuesYes
matchedYes
refusalNo
timezoneYes
warningsYes
candidatesNo
data_as_ofYes
attributionYes
filtered_byNo
region_nameYes
accuracy_urlYes
coverage_noteYes
showtime_countYes
unknown_venuesYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true and destructiveHint=false, so the description adds value by explaining grouping, tags, night association, ticket links, and confidence/source metadata. It also clarifies the difference between concise and detailed output, which is beyond the schema. No contradictions.

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

Conciseness4/5

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

The description is a single paragraph but covers all major aspects: purpose, parameters, grouping, output variations, and sibling routing. It is front-loaded with the core scoping and ends with the alternative. It is dense but not bloated, slightly long yet every sentence contributes.

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

Completeness5/5

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

Given the tool's complexity (7 params, multiple scoping modes, output formats) and the presence of an output schema, the description is complete. It covers when to use which parameter combination, the behavior of concise vs. detailed, and error handling (unknown region, miss). The output schema likely explains return structure, so the description doesn't need to.

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

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. However, the description adds meaningful semantics: for film, it explains fuzzy matching and ambiguous queries; for venues, it clarifies the condition when film is omitted; for region, it emphasizes that it's never inferred. These go beyond the schema's straightforward parameter descriptions.

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

Purpose5/5

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

The description clearly states the tool's scope: search showtimes by film or theater, with both options and their variations. It distinguishes itself by grouping by theater, including local times, tags, night, and ticket links. It also forward-references the alternative scenef_whats_playing, making its purpose distinct from siblings.

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

Usage Guidelines5/5

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

The description explicitly says to use scenef_whats_playing for the whole board without a film or theater, and the schema's response_format description says to use this tool for all times for one film or theatre. It also notes that guessing a film is safe and browsing is faster, guiding when to use it.

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

scenef_theater_infoTheater infoA
Read-only
Inspect

One theater's card: address, neighborhood, website, ticketing note, structured discounts (label/detail/day), amenities, its next 5 showtimes with ticket links, and its calendar feed url. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionNoWhich 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.
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; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre.

Output Schema

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.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations: it discloses that every emitted showtime carries confidence, source tier, reporting sources, and verified_at; it explains the concise/detailed output semantics including showtimes_complete flag; and it notes the calendar feed URL. This is rich behavioral disclosure that goes beyond the structured fields.

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

Conciseness4/5

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

The description is dense but well-organized: it front-loads the core purpose, then details the output contents, then explains the response_format variants. Every sentence carries information. It could be slightly more concise by trimming redundancy with the schema (e.g., response_format details are partially in the schema), but the added context about showtimes_complete and confidence metadata earns its place.

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

Completeness5/5

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

Given the output schema exists and the annotations cover safety, the description is complete for an agent to select and invoke this tool correctly. It explains the return structure, the meaning of concise vs detailed, the confidence metadata, and routes to the right sibling for other use cases. Nothing critical is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds value by explaining the output-size semantics of response_format ('concise' gives total showtime_count and one next screening; 'detailed' includes full array) and by clarifying that region is never inferred. This goes beyond the schema's basic parameter descriptions.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'One theater's card' listing exactly what it contains (address, neighborhood, website, ticketing note, structured discounts, amenities, next 5 showtimes with ticket links, calendar feed URL). It clearly distinguishes itself from siblings by naming scenef_search_showtimes and scenef_whats_playing as alternatives for different granularity. An agent can tell exactly what this tool returns and how it differs from related tools.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool vs alternatives: 'Use scenef_search_showtimes for all times for one film or theatre' and explains the concise vs detailed modes within whats_playing context. The schema also clarifies that region is never inferred and unknown regions are errors. This gives clear routing guidance.

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

scenef_whats_playingWhat's playing in California, Florida and HawaiiA
Read-only
Inspect

Ranked list of films playing California, Florida and Hawaii theaters in a given window (tonight, tomorrow, the weekend, or a date), with optional genre and format filters. When the window covers tonight, opens with Notable tonight — scarcity facts with evidence (measured seat counts, final nights, lone prints, posted discounts, live elements); lead with those when asked what to see. Each entry carries year, runtime, genres, a one-line hook, venue count, showtime_count, the next showtime, and the film's SceneF url. The full per-showtime rows are in "detailed", or from scenef_search_showtimes scoped to one film or theatre. Every emitted showtime carries confidence, source tier, reporting sources and verified_at. In whats_playing, "concise" gives the total showtime_count and one next screening in showtimes; showtimes_complete identifies a partial array. "detailed" includes the full array.

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, 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.
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; showtimes_complete says whether the array is exhaustive. "detailed" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre.

Output Schema

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?

Beyond the readOnly/destructive annotations, it discloses that tonight queries open with 'Notable tonight' scarcity facts, that showtimes carry confidence/source-tier/reporting-source metadata, and that showtimes_complete indicates whether an array is partial. None of this contradicts the annotations, and it adds meaningful call-visible behavior.

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

Conciseness4/5

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

The core ranked-list behavior is front-loaded, and the later sentences pack useful output/transparency details without filler. There is slight redundancy ('full per-showtime rows are in detailed' vs 'detailed includes the full array'), but overall it is dense and organized for a fairly complex tool.

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

Completeness5/5

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

With an output schema present, the description doesn't need to restate return fields, and it still covers output shape, notable-tonight behavior, region handling, alternative search routing, and showtime confidence metadata. An agent has enough to decide when and how to invoke this tool correctly.

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

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 when/genres/region/formats/max_results/response_format. The description adds value by explaining that a tonight window triggers the Notable-tonight section and by clarifying what 'concise' vs 'detailed' means for the showtimes array, which goes beyond the enum labels.

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

Purpose5/5

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

Description opens with 'Ranked list of films playing California, Florida and Hawaii theaters in a given window...' which states a specific verb, resource, and timeframe. It distinguishes itself from siblings by naming scenef_search_showtimes for per-film/per-theatre showtimes and describes the notable-tonight opener, so an agent knows exactly what this tool returns.

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

Usage Guidelines5/5

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

It gives explicit when-to-use signals ('lead with those when asked what to see') and a clear alternative: 'Use scenef_search_showtimes for all times for one film or theatre.' It also points to scenef_now for region lists and explicitly says an unknown region is an error rather than a fallback, so routing is unambiguous.

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

Tool Schema Changelog

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

  1. 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"
        +]
  2. 1 tool update
    • Addedscenef_resolve_board
  3. 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"
        +]
  4. 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"
        +]
  5. 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."
  6. 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"
        +    }
        +  ]
        +}
  7. 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"
        +}
  8. 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
    201 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