用途
SceneF MCP 服务器用于向 AI 助手提供经过核验的美国加州、佛罗里达州和夏威夷州影院放映时间数据。项目起源于旧金山——最后几个伟大的观影城市之一,拥有 1920 年代的单厅社区影院、每晚更换的轮换排片、35mm 与 70mm 胶片放映以及午夜场。如今它运行着 56 个区域看板,覆盖从洛杉矶到萨克拉门托、圣迭戈到茂宜岛、迈阿密到彭萨科拉的范围。
每个看板将影院排片表与第三方放映时间数据服务结合在一起,并附带来源可信度和新鲜度信息,让调用方能够看到列表所依据的内容。
主要能力
- 提供远程 MCP 服务器(可流式 HTTP),无需 API 密钥,只读。
- 仓库内同时提供本地 stdio 服务器,运行相同的十个工具。
- 在官方 MCP 注册表中以 com.scenef/showtimes 列出。
- 每个看板覆盖一个区域的影院排片,多数连锁影院及部分独立影院的放映时间来自第三方数据服务,标注为 source_tier: licensed-feed。
- 每条返回的放映信息在简洁和详细模式下均带有 confidence、source_tier、sources 和 verified_at 字段。
- data_as_of 表示数据集发布时间;verified_at 与 freshness 描述放映信息的来源证据。
- 验证记录公开,包括失败的检查项:scenef.com/api/accuracy。
- 不包含广告或付费排名,轮换影院与连锁影院获得同等展示。
使用方式
除 scenef_resolve_board 外,每个工具都接受一个 region 参数(如 "sf"、"la-central"、"oahu"、"sacramento" 等)。省略 region 意味着使用默认看板(sf),绝不根据用户所在地进行猜测。使用 scenef_resolve_board 查询指定地点,不指定 region 时用 scenef_now 获取当前看板列表。
时间采用各影院自己的挂钟时间:夏威夷与太平洋时间相差两到三小时且不实行夏令时,每个看板随数据报告其时区。
Claude Desktop / 任意 MCP 客户端(.mcp.json / 客户端配置)
本地运行
仓库本身也是一个本地 MCP 服务器——Node、stdio、无代理。它自行实现协议,并通过 SceneF 的公开 REST API 读取同一个看板。两种传输方式提供相同的十个公开工具和匹配规则。REST 缓存可能使两者响应短暂不同。
从克隆或 Docker 运行:无需 API 密钥、账户或配置。它发送 User-Agent: scenef-mcp-local/1.1,仅发出 GET 请求,内部没有任何写入路径。
npm test 首先针对保存的托管架构契约和固定数据源运行离线回归测试。test/contract.js 调用全部十个工具访问实时看板,并依据服务器公布的输出架构验证每个响应负载;test/parity.js 比对本服务器的工具定义与托管端点的定义。如需本地预览,请同时设置 SCENEF_BASE_URL=http://localhost:3017 和 SCENEF_MCP_URL=http://localhost:3017/mcp。成功的离线运行不声称会刷新外部架构。如果该预览数据集有限,请为区域探测设置 SCENEF_PARITY_REGION=oahu(或其他有数据的非默认看板);默认为 la-central。
看板读取工具一次回答一个区域看板——传入 region 进行选择。请原样保留所有返回的票务、日历和影片 URL,包括区域路径和 ?region= 提示。无效的硬性日期/时间筛选会返回拒绝和警告,而不是未过滤的成功结果。
scenef_whats_playing 在简洁模式下返回总 showtime_count 以及 showtimes 中仅下一个放映场次;详细模式增加放映行,整个答案约 200 行。scenef_film_details 和 scenef_search_showtimes 在简洁模式下返回最近的 40 个放映场次,详细模式最多 200 个。showtime_count 始终是总数,showtimes_complete 表示数组是否包含全部内容;可通过日期或影院缩小范围以获取其余部分。
适用场景
- 用户向 AI 助手询问加州、佛罗里达州或夏威夷州特定地区的电影放映时间。
- 需要查找轮换影院、35mm/70mm 胶片放映、午夜场等特色排片。
- 需要按日期或影院筛选放映场次。
- 需要了解放映信息来源的可信度和新鲜度。
限制
- 仅覆盖加利福尼亚州、佛罗里达州和夏威夷州。
- 看板读取工具一次只能查询一个区域看板。
- 许多放映时间(包括大多数连锁影院和部分独立影院)来自第三方服务而非影院本身,标注为 licensed-feed,在网站上属于可信度最弱的声明。
- freshness 衡量的是新鲜度而非正确性;数据新鲜的数据集可能保留较旧的行。对于过时或保留的列表,在依赖前应向影院确认。
- 本地 scenef_now.sources 摘要按托管服务器的方式统计影院健康度,一次一个影院,并列出可能过期的影院;它从每个列表的 freshness.source_status 读取健康信息,因此看板上没有列表的影院在本地不可见且不计入;托管计数可能因这些影院而更高。
- 除该行、边缘缓存说明和输入验证错误外,每个答案的文字与托管服务器逐行一致。
- REST 入口通过边缘缓存提供服务,一旦副本过期,下一个请求会从过期副本作答同时进行刷新;本地服务器在边缘报告陈旧副本时重试(约三秒内三次),若边缘仍提供该副本,答案将基于它并在页脚后一行说明,data_as_of 为该副本的时间。
其他访问方式
偏好纯 HTTP?相同数据以 REST 风格提供——完整契约见 scenef.com/agents:/api/listings · /ask · OpenAPI · llms.txt
联系:info@scenef.com · scenef.com