Back to SeenCast

MCP server

Model Context Protocol · https://api.seencast.app/mcp

SeenCast exposes its whole API as an MCP server, so you can manage screens, playlists, schedules, and the media library by talking to Claude — in Claude Desktop, or any other MCP-compatible client — instead of clicking through the CMS.

It's the exact same service layer the CMS and SeenCast's own in-app assistant call. Every tool call resolves to one organization and one role, and every write is confirm-gated (see below), so nothing reaches a screen unseen.

2-minute setup (Claude Desktop)

  1. Sign in to SeenCast and open Settings → Personal API keys.
  2. Click New key, name it (e.g. "Claude Desktop"), and copy the secret — it's shown exactly once.
  3. In Claude Desktop, add a remote MCP server:
    URL:           https://api.seencast.app/mcp
    Authorization: Bearer <your key>
  4. Ask it something like "what screens are offline right now?" or "schedule the lunch menu on the Register screen, 11am–2pm daily."

Any MCP client that speaks Streamable HTTP with a bearer token works the same way — Claude Desktop is just the fastest path to try it.

Writes are confirm-gated: confirm: true

Every tool is one of two kinds:

This is deliberately stricter than the CMS itself: inside SeenCast a few trivially reversible edits (like renaming a screen) apply instantly with a one-click undo. Over MCP every write previews first, with no exceptions — the human in the loop is whoever is running the MCP client, and the protocol has no undo affordance to fall back on.

Tools

24 tools, generated 1:1 from SeenCast's live tool registry — this list can't drift from what the server actually does.

Read

ToolWhat it does
list_screensList the org's screens with their status, timezone and group membership.
list_groupsList the org's screen groups and the screen ids in each.
search_mediaSearch the media library by filename and kind (image, video, or url).
list_playlistsList the org's playlists.
list_schedulesList schedules, optionally filtered to a screen or group target.
preview_scheduleDry-run the resolver: what would play on a screen at an instant, and which schedules compete.
get_org_limitsThe org plan, its limits (max screens, storage, assistant), and current usage.
get_brand_kitThe org's brand kit: logo media id, brand colors, font, and tone-of-voice line.
get_capabilitiesList every operation you can run, with parameters — call this when unsure what's available.

Write (confirm-gated)

ToolWhat it does
create_playlistCreate a playlist, optionally with an ordered list of media items.
update_playlist_itemsReplace the full ordered item list of an existing playlist.
create_scheduleSchedule a playlist on a screen, group, or the whole org for a time window.
update_scheduleChange an existing schedule (playlist, target, time window, priority, enabled).
delete_scheduleDelete a schedule.
create_groupCreate a screen group, optionally with an initial set of screens.
rename_screenRename a screen.
update_brand_kitUpdate the org's brand kit (logo, colors, font, tone).
set_overlayAssign a logo/ticker overlay to a screen or as the org-wide default.
set_group_overlayAssign a logo/ticker overlay to a whole screen group, or clear it.
add_media_to_playlistsAppend media items to the end of several playlists at once.
generate_imageGenerate an image from a text prompt and stage saving it to the media library.
generate_slideCompose a slide from a brief: pick a template, write the copy, place an image.
generate_snippetWrite a small self-contained HTML snippet (countdown, ticker, QR block, …).
update_template_fieldsChange field values on an existing template slide (e.g. update a price) — no regeneration.

Notes