mcpField
S
SceneF — California + Hawaii Movie Showtimes

SceneF — California + Hawaii Movie Showtimes

VerifiedFeaturedRemote
scenef.comMedia & Design0Updated 3w ago

About SceneF — California + Hawaii Movie Showtimes

SceneF is a read-only showtimes MCP server for moviegoers and their assistants, covering regional boards in California, Florida, and Hawaii. Its listings combine venue schedules and a third-party feed with source and freshness details.

Key features

  1. 01Search showtimes by film, theater, date, or time
  2. 02Rank films for a date or viewing window
  3. 03Get theater and film details
  4. 04Plan a movie night with constraints
  5. 05Find discounts and upcoming releases
  6. 06Inspect listing freshness and verification

Use cases

  1. 01Find screenings near a city or neighborhood
  2. 02Compare showtimes within a chosen time window
  3. 03Check theater discounts before planning
  4. 04Review evidence and freshness for a listing

MCP support

Exposes ten read-only tools through a hosted streamable HTTP MCP server and a local stdio server. Both provide access to regional boards without an API key.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://scenef.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

10
ParameterTypeRequiredDescription
whenstringNoWhen to look: "tonight" (default), "tomorrow", "weekend" (Fri/Sat/Sun of the current week), or a YYYY-MM-DD date.
genresarrayNoGenre filters, e.g. ["horror", "comedy"].
regionstringNoWhich 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.
formatsarrayNoFormat/tag filters, e.g. ["35mm", "70mm", "qa", "live-score"].
max_resultsintegerNoMax films to return (default 12, cap 25).
response_formatenumNoOutput 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.concise | detailed

Details

From the project README
SceneF

SceneF — Movie Showtimes for California, Florida & Hawaii (MCP server)

Built by movie lovers, for movie lovers and their assistants.

SceneF started in San Francisco — one of the last great moviegoing cities: single-screen neighborhood houses from the 1920s, repertory calendars that change nightly, 35mm and 70mm prints, midnight movies, and yes, the multiplexes too. It now runs 56 regional boards across California, Florida and Hawaii — Los Angeles to Sacramento, San Diego to Maui, Miami to Pensacola. Each board brings venue schedules and a third-party showtimes data service together, with source confidence and freshness so callers can see what the listings are based on.

Remote MCP server, streamable HTTP, no API key, read-only — and a local stdio server in this repo, running the same ten tools.

Every tool except scenef_resolve_board takes a region — "sf", "la-central", "oahu", "sacramento", … — and omitting it means the default board (sf), never a guess from where you are. Use scenef_resolve_board for a named place and scenef_now with no region for the current list of boards. Times are each theatre's own wall clock: Hawaii runs two or three hours off Pacific and keeps no DST, and each board reports its timezone with its data.

https://scenef.com/mcp

Connect

Claude Code

claude mcp add --transport http scenef https://scenef.com/mcp

Claude Desktop / any MCP client (.mcp.json / client config)

{
  "mcpServers": {
    "scenef": {
      "type": "http",
      "url": "https://scenef.com/mcp"
    }
  }
}

Also listed in the official MCP registry as com.scenef/showtimes.

Or run it locally

This repo is also a local MCP server — Node, stdio, no proxy. It speaks the protocol itself and reads the same board over SceneF's public REST API. The same ten public tools and matching rules are available on either transport. REST caching can make the two responses differ briefly.

npx -y github:speedwarnsf/scenef-mcp

Claude Desktop / any stdio client

{
  "mcpServers": {
    "scenef": {
      "command": "npx",
      "args": ["-y", "github:speedwarnsf/scenef-mcp"]
    }
  }
}

From a clone, or Docker

npm install && npm start
docker build -t scenef-mcp . && docker run --rm -i scenef-mcp

No API key, no account, no configuration. It sends User-Agent: scenef-mcp-local/1.1, issues nothing but GET, and has no write path anywhere in it.

npm test first runs offline regressions against the saved hosted schema contract and fixture feeds. test/contract.js calls all ten tools against the live board and validates every payload against the output schema the server advertises, and test/parity.js diffs this server's tool definitions against the hosted endpoint's. For a local preview, set both SCENEF_BASE_URL=http://localhost:3017 and SCENEF_MCP_URL=http://localhost:3017/mcp. No external schema refresh is claimed by a successful offline run. If that preview has a limited dataset, set SCENEF_PARITY_REGION=oahu (or another populated nondefault board) for the regional probes; the default is la-central.

Tools

ToolWhat it answers
scenef_whats_playingRanked films for tonight / tomorrow / the weekend / a date — when the window covers tonight, opens with Notable tonight: scarcity facts with receipts (measured seat counts, final nights, lone 35/70mm prints, posted discounts, live events)
scenef_search_showtimesShowtimes for one film or theater, with date and hard time filters
scenef_theater_infoOne theater: address, neighborhood, standing discounts, upcoming board
scenef_film_detailsYear, runtime, rating, cast, trailer, the nearest upcoming showtimes
scenef_plan_movie_nightConstraints in (time window, genres, formats, theaters), a plan out
scenef_discountsThe cheap nights, board-wide
scenef_coming_soonWhat's opening next
scenef_resolve_boardA city, ZIP, neighborhood or alias to the board that covers it — or a refusal that says which kind of no
scenef_nowRight-now snapshot: what's catchable at this hour
scenef_accuracyOur own verification record — checks run, failed, and unreachable

Board-reading tools answer for one regional board at a time — pass region to pick it. Preserve every returned ticket, calendar and film URL exactly, including regional paths and ?region= hints. Invalid hard date/time filters return a refusal and warnings, never an unfiltered success. No ads or paid ranking. The repertory houses get the same billing as the chains — a lone 35mm print at a neighborhood house is exactly the kind of thing this server exists to surface, whether that house is in the Richmond or in Hilo.

scenef_whats_playing in concise mode returns the total showtime_count and just the next screening in showtimes; detailed mode adds showtime rows, about 200 across the answer. scenef_film_details and scenef_search_showtimes return the 40 nearest showtimes in concise mode 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.

Why trust it

  • Showtimes come from venue schedules and a third-party showtimes data service. Many showtimes, including most chain theaters and some independents, come from that service rather than from the theater itself; they are labelled source_tier: licensed-feed and carry the weakest claim on the site. Every returned screening carries confidence, source_tier, sources, and verified_at in both concise and detailed modes.
  • data_as_of is the dataset publication time. verified_at and freshness describe a screening's source evidence; a fresh dataset can retain older rows. Freshness measures recency, not correctness. Confirm stale or retained listings with the theater before relying on them.
  • The verification record is public — including the checks that failed: scenef.com/api/accuracy.

The local scenef_now.sources summary counts theater health the way the hosted server does, one theater at a time, and names each theater whose listings may be out of date in the hosted words. It reads that health from each listing's freshness.source_status, so a theater with no listings on the board is not visible locally and is not counted; the hosted count can be higher by those theaters, and the payload's basis and the prose's closing Data: line say so. Apart from that line, the edge-cache note below and input-validation errors (the MCP SDK words those differently; the limits are the same), every answer's prose is the hosted server's, line for line. Per-screening freshness comes from the canonical REST feed on both transports; the local server keeps the feed's allowance, retained and source_status, and ages age_hours and status from verified_at at call time, as the hosted server does.

The REST doors are served through an edge cache that, once a copy expires, answers the next request from the expired copy while it refreshes. The hosted server reads the current dataset and never sees such a copy. The local server asks again (three retries over about three seconds) when the edge reports a stale copy; if the edge is still serving it after that, the answer is built on it and says so in one line after the footer, and data_as_of is that copy's.

Prefer plain HTTP?

The same data is served REST-style — see scenef.com/agents for the full contract: /api/listings · /ask · OpenAPI · llms.txt

Contact

[email protected] · scenef.com

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.