The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Cli listing page.
Command-line interface and MCP server for Push To Display — send real-time updates to display boards from your terminal or AI agents.

Run directly with npx (no install needed):
Or install globally:
Requires Node.js 18+. See the PushToDisplay documentation for guides, use cases, and API details.
Log in with your Push To Display account — the same account you use in the mobile app.
Opens your browser. Sign in and the CLI receives your credentials automatically.
For machines without a browser — SSH sessions, containers, or remote servers:
The CLI prints a URL and a one-time code. Open the URL on any device, enter the code, and approve the login.
Credentials are stored in your OS keychain (macOS Keychain, Linux libsecret, Windows Credential Manager). Falls back to ~/.config/pushtodisplay/ if the keychain is unavailable.
auth status reports effective auth: an expired access token is still
reported as authenticated when a valid refresh token can renew it transparently
(a will refresh automatically note is shown instead of the raw token expiry).
It exits 0 when authenticated and 1 when not, so it is safe to gate
scripts on it.
sendSend a display update to a board.
If no -b flag is provided, the server uses your default board.
| Flag | Values | Description |
|---|---|---|
-s, --size | small, medium, large | Text size |
-w, --weight | regular, semibold, bold | Font weight |
-c, --color | Hex color (#RRGGBB) | Text color |
--background | Hex color (#RRGGBB) | Background color |
| Flag | Values | Description |
|---|---|---|
-p, --panel | 1–4 | Target panel number |
--full-panel | — | Fill the entire panel area |
--density | compact, standard, spacious | Content spacing |
--align-x | start, center, end | Horizontal alignment |
--align-y | start, center, end | Vertical alignment |
| Flag | Description |
|---|---|
-b, --board | Board ID |
--block <json> | Styled block as JSON (repeatable) |
--stdin | Read full JSON request from stdin |
boardsCreate options:
| Flag | Description |
|---|---|
-n, --name | Board name (required) |
-d, --description | Board description |
-l, --layout | Layout ID |
devicesconfigAdd --json to any command for machine-readable output:
Configuration is resolved in order: environment variables → config file → defaults.
| Env var | Description | Default |
|---|---|---|
PTD_API_URL | API endpoint | https://api.pushtodisplay.com |
PTD_SERVICE_URL | Service endpoint | https://services.pushtodisplay.com |
PTD_IDP_URL | Identity provider | https://idp.pushtodisplay.com |
PTD_CONFIG_DIR | Config directory | ~/.config/pushtodisplay |
The CLI includes a built-in Model Context Protocol server, giving AI agents (Claude, Cursor, VS Code Copilot, and others) direct access to your display boards.
The MCP server inherits your CLI session — if you've run pushtodisplay auth login, it authenticates automatically.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Open Settings → MCP Servers → Add Server, or edit .cursor/mcp.json:
Add to .vscode/mcp.json:
Any MCP client that supports stdio transport can use Push To Display. The server command is:
| Tool | Description |
|---|---|
pushtodisplay_send_update | Send content to a board |
pushtodisplay_list_boards | List all boards |
pushtodisplay_get_board | Get details of a board |
pushtodisplay_create_board | Create a new board |
pushtodisplay_update_board | Update a board's name, description, or layout |
pushtodisplay_set_default_board | Set a board as your default |
pushtodisplay_delete_board | Delete a board permanently |
pushtodisplay_list_devices | List active device connections |
| Command | Description |
|---|---|
auth login | Log in (browser or device code) |
auth logout | Remove stored credentials |
auth status | Show current auth status |
send [text...] | Send a display update |
boards list | List your boards |
boards get <id> | Get board details |
boards create | Create a new board |
boards delete <id> | Delete a board |
devices list | List active device connections |
config | Show current configuration |
mcp | Start the MCP server |
For CI/CD pipelines and scripts where interactive login isn't available, you can authenticate with an API key. Create one from the mobile app or the web portal. API keys start with pt_.
Note: API key auth only supports the
sendcommand. Useauth loginfor full access to boards, devices, and config management.
4-panel layout — regional status at a glance
Multi-panel with CI/CD pipeline and infrastructure logs
Incident timeline with color-coded severity