Tronbyt Mcp

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

Control Tidbyt/Tronbyt LED displays: push text, images, and apps; brightness and night mode.

已驗證STDIO僅桌面位置與生活媒體與設計

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理控制自架的 Tronbyt/Tidbyt LED 顯示器:推送文字、圖片與應用程式,並調整亮度與夜間模式。

可以做什麼
列出裝置及其亮度、夜間模式、固定應用程式與最後上線時間,並修改亮度、輪播間隔、夜間/調暗模式或固定應用程式,或重新啟動顯示器。列出、啟用、停用、固定、調整時間或刪除裝置上已安裝的應用程式。推送含選用設定的伺服器端應用程式、base64 WebP 圖片,或在本機渲染成顯示器像素格式的文字。推送可立即中斷目前畫面,也可在背景加入輪播。
適用情境
適合擁有由自架 tronbyt/server 管理的 Tidbyt 或同類 LED 點陣顯示器,並希望透過與助理對話來改變顯示內容、亮度或夜間模式,而不是操作網頁介面的使用者。
執行需求
透過 npx 以 stdio 在本機執行(需要 Node.js 20.9 或更新版本),也可從原始碼建置。需要一個管理該顯示器的自架 tronbyt/server v2.x,以及 TRONBYT_BASE_URL 和 TRONBYT_API_KEY 兩個環境變數;金鑰依裝置區分,每台顯示器需各自設定一筆伺服器項目。需要 Claude Code、Claude Desktop 等 MCP 用戶端。
安裝前請注意
需要在 TRONBYT_API_KEY 中提供依裝置區分的 API 金鑰,該金鑰會存放在用戶端設定中,用完後應在 Tronbyt 網頁介面撤銷。助理可以變更顯示設定、重新啟動裝置,並刪除安裝項目及其渲染圖片。推送的內容會以安裝項目留在伺服器上,直到被刪除。所有操作都針對你自己的伺服器,不經過任何雲端服務。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

tronbyt-mcp

Let your AI assistant put things on your LED sign.

If you have a Tidbyt or Tidbyt-style LED matrix display managed by a self-hosted tronbyt/server, this connects it to Claude (or any other AI tool that speaks MCP, the open standard for giving assistants access to tools). Once installed, your display becomes something you can just talk to your assistant about:

"Put BREAD'S DONE on the sign in amber." "Dim the display to 20% and turn on night mode from 10pm to 7am." "What apps are on the sign right now? Disable the stock ticker." "Show the clock app for a bit."

The assistant handles the rest — rendering text into the display's pixel format, talking to your server, managing the app rotation. Everything runs on your own machine against your own server; nothing goes through any cloud service.

How it works

tronbyt-mcp is a small MCP server that wraps tronbyt/server's documented REST API. Your MCP client (Claude Code, Claude Desktop, and friends) launches it locally and talks to it over stdio; it talks to your Tronbyt server over HTTP with a device API key.

Requirements

  • A display managed by a self-hosted tronbyt/server (v2.x). Any device the server manages works — it doesn't need to have started life as a Tidbyt: Tidbyt Gen1/Gen2, Tronbyt S3 and S3 Wide kits, MatrixPortal S3 (including the Waveshare variant), Waveshare S3, Pixoticker, Raspberry Pi displays, and homebrew panels typed "other". Both standard 64×32 and wide 128×64 (2x) panels are supported.
  • Node.js ≥ 20.9
  • An MCP client: Claude Code, Claude Desktop, or anything else that supports MCP stdio servers.

Installation

1. Get a device API key

In the Tronbyt web UI, open your device's settings and copy (or generate) its API key. Keys are scoped to a single device — one key, one display.

2. Add the server to your MCP client

Claude Code (one command):

sh
claude mcp add tronbyt \  -e TRONBYT_BASE_URL=http://tronbyt.local:8000 \  -e TRONBYT_API_KEY=<your-device-key> \  -- npx -y tronbyt-mcp

Claude Desktop: edit the config file — macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json — and add:

json
{  "mcpServers": {    "tronbyt": {      "command": "npx",      "args": ["-y", "tronbyt-mcp"],      "env": {        "TRONBYT_BASE_URL": "http://tronbyt.local:8000",        "TRONBYT_API_KEY": "<your-device-key>"      }    }  }}

Then restart Claude Desktop.

Any other MCP client: configure a stdio server with command npx, args ["-y", "tronbyt-mcp"], and the two environment variables above.

From source (instead of npx):

sh
git clone https://github.com/jonfishr/tronbyt-mcp.gitcd tronbyt-mcpnpm install && npm run build

Then use node /path/to/tronbyt-mcp/dist/index.js as the server command in your MCP client config (same environment variables).

Multiple displays? API keys are per-device, so add one entry per display (tronbyt-kitchen, tronbyt-office, …), each with its own key.

3. Check it works

Ask your assistant something like "List my Tronbyt devices." You should get back your display with its brightness, night mode, and app list. (In Claude Code, /mcp also shows the server and its tools.)

Configuration

Env varRequiredDefaultNotes
TRONBYT_BASE_URLyes—Your tronbyt/server, e.g. http://tronbyt.local:8000
TRONBYT_API_KEYyes—Per-device API key from the Tronbyt web UI
TRONBYT_TIMEOUT_MSno10000Per-request timeout

Usage

You don't call these directly — your assistant picks the right tool from your request — but this is what it has to work with:

ToolWhat it does
list_devicesDevices visible to the key: brightness, night mode, pinned app, last seen
update_deviceSet brightness, rotation interval, night/dim mode, pinned app
reboot_deviceReboot the display
list_installationsApps installed on the device, with state and config
update_installationEnable/disable, pin/unpin, or retime an installation
delete_installationRemove an installation and its rendered images
push_appRender a server-side app (with optional config) and show it
push_imagePush a base64 WebP (64×32, or 128×64 for wide displays) straight to the display
push_textRender text to a display-sized WebP locally and push it

Push tools take background: false (default) interrupts the display and shows the push immediately; true saves it into the rotation without interrupting. When a key sees exactly one device (the normal case), device_id never needs to be specified.

push_text

Text is rendered with the Tom Thumb 3×5 pixel font, word-wrapped and centered. Printable ASCII only; \n forces a line break. Colors are hex (#ffcc00), default white on black.

Canvas size is detected from the device type (size: "auto"): standard displays get 64×32, wide/2x displays (tronbyt_s3_wide, raspberrypi_wide) get 128×64. On wide displays the font is doubled by default — same 16 chars × 5 lines, twice the pixels. Pass text_size: "small" for native-size glyphs (32 chars × 10 lines), or override the detection entirely with size: "64x32" / "128x64".

Removal

  • Claude Code: claude mcp remove tronbyt
  • Claude Desktop / other clients: delete the "tronbyt" entry from the config file and restart the client.
  • If you installed from source: delete the cloned directory. If you used npx, a cached copy may linger under ~/.npm/_npx; it's small and harmless, or clear it with npm cache clean --force.
  • On the server: anything you pushed shows up as an installation on the device — ask your assistant to delete it, or remove it in the Tronbyt web UI. Revoke the API key in the web UI if you're done with it. Nothing else is stored anywhere.

Development

sh
npm installnpm test            # vitest: unit + in-process MCP + stdio e2e (builds first)npm run build       # tsc -> dist/npm run gen:font    # regenerate src/font.ts from scripts/tom-thumb.bdf

Smoke test against a real server (non-destructive — pushes to the rotation in background mode, then deletes the installation). Run from the repo root after a build:

sh
TRONBYT_BASE_URL=http://tronbyt.local:8000 TRONBYT_API_KEY=<key> scripts/smoke.sh

Out of scope (v1)

  • update_firmware_settings — deliberately excluded; a bad value can leave a display unreachable
  • Animation (multi-frame WebP), image-by-URL
  • HTTP transport (stdio only)

License

MIT. The bundled pixel font is Tom Thumb / "Fixed4x6" by Brian J. Swetland and Robey Pointer (MIT), vendored as scripts/tom-thumb.bdf. This project is not affiliated with Tidbyt (the company) or the Tronbyt project.

來源:README.md,提交 89365f0

工具

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

版本歷史

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

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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