io.github.pushtodisplay/cli

Official registry Other

PushToDisplay MCP server — send real-time updates to display boards on iOS and Android devices.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package pushtodisplay
Claude Code
claude mcp add cli -- npx -y pushtodisplay@0.1.14
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "cli": {
            "command": "npx",
            "args": [
                "-y",
                "pushtodisplay@0.1.14"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. pushtodisplay
  2. Get the app
  3. Install
  4. Quick start
  5. Authentication
  6. Commands
  7. JSON output
  8. Configuration
  9. MCP server
  10. Commands at a glance
  11. API key authentication
  12. Screenshots
  13. License

pushtodisplay

Command-line interface and MCP server for Push To Display — send real-time updates to display boards from your terminal or AI agents.

Get the app

Turn any screen into a live display board — get Push to Display on iOS and Android.

Install

Run directly with npx (no install needed):

npx pushtodisplay --help

Or install globally:

npm install -g pushtodisplay

Requires Node.js 18+. See the PushToDisplay documentation for guides, use cases, and API details.

Quick start

# Log in (opens browser)
pushtodisplay auth login

# Send an update (uses your default board)
pushtodisplay send "Hello, Display!"

# Send to a specific board
pushtodisplay send -b <board-id> "Deploy completed"

# List your boards
pushtodisplay boards list

Authentication

Log in with your Push To Display account — the same account you use in the mobile app.

Browser login (default)
pushtodisplay auth login

Opens your browser. Sign in and the CLI receives your credentials automatically.

Device code login (headless)

For machines without a browser — SSH sessions, containers, or remote servers:

pushtodisplay auth login --device-code

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.

# Check auth status
pushtodisplay auth status

# Machine-readable status for scripts/agents (exit 0 = authenticated)
pushtodisplay auth status --json

# Log out (clear stored credentials)
pushtodisplay auth logout

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.

{
  "authenticated": true,
  "method": "oauth",
  "accessTokenExpired": true,
  "canRefresh": true,
  "sessionExpiresAt": "2026-06-01T00:00:00.000Z"
}

Commands

send

Send a display update to a board.

# Simple text
pushtodisplay send -b my-board-id "Deploy succeeded"

# Styled text
pushtodisplay send -b my-board-id "Status" --size large --weight bold --color "#00FF00"

# Multiple blocks
pushtodisplay send -b my-board-id "Build:" "passing" --color "#22C55E"

# Panel targeting with layout options
pushtodisplay send -b my-board-id --panel 2 "Right panel content"
pushtodisplay send -b my-board-id --panel 1 --full-panel --density compact --align-x center "Alert"

# Per-block styling with JSON (repeatable)
pushtodisplay send -b my-board-id \
  --block '{"text": "API Health", "size": "large", "weight": "bold"}' \
  --block '{"text": "Uptime: 99.97%", "color": "#22C55E"}'

# Pipe a full JSON payload from stdin
echo '{"boardId":"my-board-id","blocks":[{"text":"From pipe"}]}' | pushtodisplay send --stdin

If no -b flag is provided, the server uses your default board.

Style flags
FlagValuesDescription
-s, --sizesmall, medium, largeText size
-w, --weightregular, semibold, boldFont weight
-c, --colorHex color (#RRGGBB)Text color
--backgroundHex color (#RRGGBB)Background color
Panel flags
FlagValuesDescription
-p, --panel1–4Target panel number
--full-panel—Fill the entire panel area
--densitycompact, standard, spaciousContent spacing
--align-xstart, center, endHorizontal alignment
--align-ystart, center, endVertical alignment
Other flags
FlagDescription
-b, --boardBoard ID
--block <json>Styled block as JSON (repeatable)
--stdinRead full JSON request from stdin
boards
pushtodisplay boards list              # List all boards
pushtodisplay boards get <id>          # Get board details
pushtodisplay boards create -n "Name"  # Create a board
pushtodisplay boards create -n "Dash" -l 4  # Create with a layout
pushtodisplay boards delete <id>       # Delete a board

Create options:

FlagDescription
-n, --nameBoard name (required)
-d, --descriptionBoard description
-l, --layoutLayout ID
devices
pushtodisplay devices list    # List active device-board streams
config
pushtodisplay config              # Show current configuration
pushtodisplay config show         # Same as above

JSON output

Add --json to any command for machine-readable output:

pushtodisplay boards list --json
pushtodisplay send -b my-board "test" --json

Configuration

Configuration is resolved in order: environment variables → config file → defaults.

Env varDescriptionDefault
PTD_API_URLAPI endpointhttps://api.pushtodisplay.com
PTD_SERVICE_URLService endpointhttps://services.pushtodisplay.com
PTD_IDP_URLIdentity providerhttps://idp.pushtodisplay.com
PTD_CONFIG_DIRConfig directory~/.config/pushtodisplay

MCP server

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.

Setup
Claude Code
claude mcp add pushtodisplay -- npx pushtodisplay mcp
Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "pushtodisplay": {
      "command": "npx",
      "args": ["pushtodisplay", "mcp"]
    }
  }
}
Cursor

Open Settings → MCP Servers → Add Server, or edit .cursor/mcp.json:

{
  "mcpServers": {
    "pushtodisplay": {
      "command": "npx",
      "args": ["pushtodisplay", "mcp"]
    }
  }
}
VS Code (GitHub Copilot)

Add to .vscode/mcp.json:

{
  "servers": {
    "pushtodisplay": {
      "command": "npx",
      "args": ["pushtodisplay", "mcp"]
    }
  }
}
Other MCP clients

Any MCP client that supports stdio transport can use Push To Display. The server command is:

npx pushtodisplay mcp
Available MCP tools
ToolDescription
pushtodisplay_send_updateSend content to a board
pushtodisplay_list_boardsList all boards
pushtodisplay_get_boardGet details of a board
pushtodisplay_create_boardCreate a new board
pushtodisplay_update_boardUpdate a board's name, description, or layout
pushtodisplay_set_default_boardSet a board as your default
pushtodisplay_delete_boardDelete a board permanently
pushtodisplay_list_devicesList active device connections

Commands at a glance

CommandDescription
auth loginLog in (browser or device code)
auth logoutRemove stored credentials
auth statusShow current auth status
send [text...]Send a display update
boards listList your boards
boards get <id>Get board details
boards createCreate a new board
boards delete <id>Delete a board
devices listList active device connections
configShow current configuration
mcpStart the MCP server

API key authentication

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_.

# Via environment variable
export PTD_API_KEY=pt_your_key_here
pushtodisplay send "From CI"

# Or store in keychain
pushtodisplay auth login --api-key pt_your_key_here

Note: API key auth only supports the send command. Use auth login for full access to boards, devices, and config management.

Screenshots

4-panel layout — regional status at a glance

Multi-panel with CI/CD pipeline and infrastructure logs

Incident timeline with color-coded severity

License

MIT

Frequently asked questions

What is io.github.pushtodisplay/cli?

PushToDisplay MCP server — send real-time updates to display boards on iOS and Android devices.

How do I install io.github.pushtodisplay/cli?

It runs on your machine. In Claude Code: claude mcp add cli -- npx -y pushtodisplay@0.1.14. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.pushtodisplay/cli need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.pushtodisplay/cli open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.pushtodisplay/cli?

It is published by pushtodisplay. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.