Cli

io.github.pushtodisplay由 GitHub 帳號 pushtodisplay 發布v0.1.14更新於 Oct 24, 2026

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

已驗證STDIO僅桌面效率與工作流溝通與協作

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理把即時文字更新傳送到 iOS 與 Android 裝置上的 Push To Display 顯示板,並管理這些顯示板。

可以做什麼
傳送帶樣式的文字更新到顯示板,可設定字級、字重、顏色、目標面板與版面選項,也可從標準輸入讀取完整 JSON 內容;未指定時使用預設顯示板。列出顯示板、取得顯示板詳細資料、依名稱、描述與版面建立顯示板、更新顯示板的名稱、描述或版面、設為預設顯示板,以及永久刪除顯示板。列出使用中的裝置與顯示板連線。支援 JSON 輸出,方便指令碼與代理使用。
適用情境
適合讓助理把狀態、建置結果、告警或事件記錄推送到手機或平板上的即時顯示板,或在對話中建立與管理這些顯示板。
執行需求
透過 npx 或全域 npm 安裝,以 stdio 在本機執行,需要 Node.js 18+。需要 Push To Display 帳號,透過瀏覽器或裝置代碼登入,憑證存放在作業系統鑰匙圈或設定目錄。選用環境變數 PTD_API_URL、PTD_SERVICE_URL、PTD_IDP_URL 與 PTD_CONFIG_DIR 可覆寫服務位址與設定位置。需要連線到 Push To Display 服務的網路存取。
安裝前請注意
MCP 伺服器沿用 CLI 的登入工作階段,助理將以你帳號的完整權限操作。工具可建立、更新、設為預設並永久刪除顯示板,也會傳送內容到你的裝置。憑證存放在作業系統鑰匙圈,無法使用時改存於設定目錄。API 金鑰(PTD_API_KEY)僅支援 send 指令。核准刪除顯示板前請先確認。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Cli,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

pushtodisplay

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

[Push to Display — 4-panel regional status board]

Get the app

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

[Download on the App Store] [Get it on Google Play]

Install

Run directly with npx (no install needed):

bash
npx pushtodisplay --help

Or install globally:

bash
npm install -g pushtodisplay

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

Quick start

bash
# Log in (opens browser)pushtodisplay auth login
# Send an update (uses your default board)pushtodisplay send "Hello, Display!"
# Send to a specific boardpushtodisplay send -b <board-id> "Deploy completed"
# List your boardspushtodisplay boards list

Authentication

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

Browser login (default)

bash
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:

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

bash
# Check auth statuspushtodisplay 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.

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

Commands

send

Send a display update to a board.

bash
# Simple textpushtodisplay send -b my-board-id "Deploy succeeded"
# Styled textpushtodisplay send -b my-board-id "Status" --size large --weight bold --color "#00FF00"
# Multiple blockspushtodisplay send -b my-board-id "Build:" "passing" --color "#22C55E"
# Panel targeting with layout optionspushtodisplay 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 stdinecho '{"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

bash
pushtodisplay boards list              # List all boardspushtodisplay boards get <id>          # Get board detailspushtodisplay boards create -n "Name"  # Create a boardpushtodisplay boards create -n "Dash" -l 4  # Create with a layoutpushtodisplay boards delete <id>       # Delete a board

Create options:

FlagDescription
-n, --nameBoard name (required)
-d, --descriptionBoard description
-l, --layoutLayout ID

devices

bash
pushtodisplay devices list    # List active device-board streams

config

bash
pushtodisplay config              # Show current configurationpushtodisplay config show         # Same as above

JSON output

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

bash
pushtodisplay boards list --jsonpushtodisplay 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
bash
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):

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

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

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

Add to .vscode/mcp.json:

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:

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

bash
# Via environment variableexport PTD_API_KEY=pt_your_key_herepushtodisplay send "From CI"
# Or store in keychainpushtodisplay 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 board] 4-panel layout — regional status at a glance

[2-panel layout with CI/CD logs] Multi-panel with CI/CD pipeline and infrastructure logs

[Incident timeline display] Incident timeline with color-coded severity

License

MIT

來源:README.md,提交 4f4fa16

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.14最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分