Setup MCP / Skills

Connect AI tools to ScreenWay.

The ScreenWay AI Toolkit exposes a hosted Streamable HTTP MCP server. AI clients use the same account API key as the REST API, then operate screens, media, apps, programs, Designer projects, and analytics through tools.

Hosted MCP

Connect MCP clients to https://mcp.screenway.com. The MCP service forwards calls to https://studio.screenway.com/api/v1 with the customer's Bearer token.

Remote server

Hosted endpoint: https://mcp.screenway.com.

API key

Use a ScreenWay account API key beginning with swk_.

Safe hosted mode

Hosted tools do not read customer-local filesystem paths.

Codex

Add the remote MCP server to Codex and expose the API key in the environment used to start Codex.

These two snippets belong together: bearer_token_env_var names the environment variable Codex should read, and the shell export puts the same ScreenWay swk_ API key into that variable before Codex starts.

~/.codex/config.toml
[mcp_servers.screenway]
url = "https://mcp.screenway.com"
bearer_token_env_var = "SCREENWAY_API_KEY"
shell before starting Codex
export SCREENWAY_API_KEY=swk_your_api_key_here

Claude Desktop, Claude Code, Cursor

Clients that accept remote MCP JSON config can point directly at the hosted server and pass the Authorization header.

mcp config
{
  "mcpServers": {
    "screenway": {
      "url": "https://mcp.screenway.com",
      "headers": {
        "Authorization": "Bearer swk_your_api_key_here"
      }
    }
  }
}

Optional Codex skill

The toolkit includes screenway-designer, a workflow skill for creating, editing, rendering, and visually checking Designer projects through MCP. Install it from the ScreenWay AI Toolkit repository.

install from GitHub
git clone https://github.com/Bergx2/bx2_screenway-ai-toolkit.git
cd bx2_screenway-ai-toolkit
mkdir -p ~/.codex/skills
cp -R skills/screenway-designer ~/.codex/skills/
usage
Use $screenway-designer to update a Designer project and render a PNG for review.

Screens

List screens, inspect details, update screen metadata, and send commands like restart, reload, jump playback, or push individual content items. Every account screen is reachable as soon as the key's targets cover it.

audit offline screens
List all my screens, group them by space, and flag every screen that has been offline for more than 24 hours. Include last_seen_at and player_version for each entry.
restart a screen
Restart the screen called "Lobby Display" and confirm when the command was sent.
instant content push
Push the media item named "Closed for renovation" to the screen "Café Stage" right now.

Media

List folders and media, upload assets by URL or data URL, and create folders on the fly. Useful when an automation needs to pull a fresh asset into Studio storage before it is shown.

import from URL
Import the image at https://example.com/spring-promo.png into space "Lobby". Put it in a folder called "Spring Campaign" and name the asset "Spring Promo".

Apps & programs

List apps, create configured app instances, list programs, and assign programs to screens. Use this family to roll out templated content across many screens in a single conversation.

bulk program assignment
Find every screen in space "Berlin HQ" that is currently online, then assign program "Morning Loop" to all of them. Report which screens were assigned and which were skipped.
create app instance
Create a Clock app instance named "Reception Clock" in space "Lobby" with 24-hour format and a transparent background.

Designer

Create projects, update editable design_data, render screenshots, and refresh thumbnails. Designer projects are the highest-leverage surface: one prompt can compose, render, and deploy.

create + render
Create a new Designer project at 1920×1080 with a centred white "Welcome" headline on a black background. Render it as PNG and set the result as its thumbnail.
refresh from data
Open the Designer project "Daily Specials" and update its menu text to today's items (one per line, see attached list). Re-render the project and assign it to all screens in space "Restaurant".

Notifications

Send screen notifications with category, priority, optional action, and explicit target scope. Honour the API key's allowed targets; anything outside that scope is rejected with 403.

targeted alert
Send a CRITICAL emergency notification to all screens in group "Emergency". Title: "Evacuate now". Body: "Use the main exit. Follow staff instructions." Duration 300 seconds.

Analytics

Pull account and per-screen analytics over a date range. The AI client can aggregate the result into reports, spot anomalies, and follow up with concrete actions in the same conversation.

weekly summary
Pull the last 7 days of analytics. Give me the top 3 most-played items per screen, average uptime per space, and a list of any screens with less than 90% uptime.

Hosted vs local

  • Hosted MCP accepts inline JSON and data URLs
  • Hosted MCP uploads public assets by URL or base64/data URL
  • Local stdio mode can expose filesystem helpers for development
  • Designer edits should update design_data and exported_html together
  • Render Designer projects before handing work back
  • Restart the AI client after changing MCP config