Skip to main content
Glama

SceneF — California, Florida and Hawaii Movie Showtimes

Coming soon

scenef_coming_soon
Read-onlyIdempotent

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
regionNoWhich regional board to read: a board id such as "sf", "oahu" or "miami", not a city name ("Honolulu" or "Chicago" is rejected). Omitted means "sf" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback.
horizon_daysNoHow far ahead to look (default 21 days).
response_formatNoOutput size. "concise" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; "detailed" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in "concise" and up to 200 in "detailed". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
filmsYes
regionYes
timezoneYes
data_as_ofYes
film_countYes
attributionYes
region_nameYes
accuracy_urlYes
horizon_daysYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / region / description
      Previous value: -"Which regional board to read, e.g. \"sf\", \"oahu\", \"sacramento\". Omitted means the default board — it is never inferred from where you are. Call scenef_now for the full list; an unknown region is an error, not a fallback."New value: +"Which regional board to read: a board id such as \"sf\", \"oahu\" or \"miami\", not a city name (\"Honolulu\" or \"Chicago\" is rejected). Omitted means \"sf\" (San Francisco); it is never inferred from where you are. For a city, ZIP or neighborhood call scenef_resolve_board first; scenef_now with no region lists every id. An unknown region is an error, not a fallback."
    • addedInput schema / properties / region / maxLength
      Added value: +120
    • changedInput schema / properties / response_format / description
      Previous value: -"Output size. \"concise\" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; showtimes_complete says whether the array is exhaustive. \"detailed\" includes all selected showtime rows with ids, ticket urls, and accuracy metadata. Use scenef_search_showtimes for all times for one film or theatre."New value: +"Output size. \"concise\" (default) is tight text plus a structured summary. In whats_playing, each film has the total showtime_count, next_showtime, and a showtimes array containing only that next screening; \"detailed\" adds showtime rows with ids, ticket urls and accuracy metadata, about 200 across the answer. film_details and search_showtimes return the 40 nearest showtimes in \"concise\" and up to 200 in \"detailed\". showtime_count is always the total and showtimes_complete says whether the array is all of it; narrow by date or theater for the rest."
  2. Changed1 schema 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."
  3. Changed1 schema 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."
  4. Changed5 schema 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"
      +]
  5. Changed1 schema 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"
      +}
  6. First observed

TDQS

C2.9/5.0
Behavior3/5

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

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

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

Conciseness2/5

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

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

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

Completeness3/5

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

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

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

Parameters3/5

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

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

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

Purpose3/5

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

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

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

Usage Guidelines3/5

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

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

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources