Skip to main content

tesserae-mcp

Part of the Tesserae monorepo (packages/tesserae-mcp), so the bridge stays in lockstep with the /api/mcp surface it wraps. Published to PyPI as tesserae-mcp.

The MCP bridge for Tesserae. It lets an AI agent (Claude Desktop, Claude Code, or any MCP client) build freeform (canvas) dashboards for your e-ink panels: it lists your widgets and devices, lays out a canvas, renders a preview to check its own work, and pushes to a panel.

This is a thin stdio client. It talks to a running Tesserae over its /api/mcp HTTP surface, so the rendering, widgets, and devices all come from your own Tesserae instance.

create_canvas_page → set_canvas → render_preview → (look) → set_canvas → …

Prerequisites

A running Tesserae with the MCP API enabled: Settings → System → MCP → Enable MCP API. If this bridge runs on a different machine from Tesserae, also Regenerate token there and copy it.

Install

Run this on the machine where your agent runs (your laptop/desktop), which may be different from where Tesserae runs.

pipx install tesserae-mcp

That gives you the tesserae-mcp command. Upgrade it later with pipx upgrade tesserae-mcp; Tesserae flags an out-of-date bridge under Settings → System → MCP once one has connected.

(From source: pip install "git+https://github.com/dmellok/tesserae#subdirectory=packages/tesserae-mcp". The standalone dmellok/tesserae-mcp repo is archived at 0.5.0 — development moved into the monorepo.)

Configure your agent

Point your MCP client at tesserae-mcp. Example (Claude Desktop / Claude Code mcpServers config):

{
  "mcpServers": {
    "tesserae": {
      "command": "tesserae-mcp",
      "env": {
        "TESSERAE_URL": "http://127.0.0.1:8765",
        "TESSERAE_MCP_TOKEN": "<your-token>"
      }
    }
  }
}
  • TESSERAE_URL — where your Tesserae is reachable (default http://127.0.0.1:8765). For a Docker/Home Assistant install, use its LAN address, e.g. http://192.168.1.50:8765 (the port must be reachable; HA ingress-only setups won't work).
  • TESSERAE_MCP_TOKEN — the token from Settings. Omit it when the agent and Tesserae share a machine (loopback is trusted).

Then just ask: "Build me an 800×480 dashboard with the time, today's weather for Melbourne, and my next calendar event, then show me a preview."

Tools

Tool What it does
list_widgets Every placeable widget (with fragments) + theme/style/font options
get_widget_options A widget's options + format hints (big choice lists omitted by default)
get_widget_choices Page through one option's choice rows (HA entity pickers etc.)
probe_widget_data A widget's data + data_source (live/sample/error) + bindable field paths
list_devices Registered panels: dimensions + colour capability (palette, mono flag)
list_pages Existing canvas dashboards
create_canvas_page Create an empty canvas (size it to your panel)
get_canvas Read a canvas document (returns a rev for concurrency-safe writes)
set_canvas Replace a canvas document (422 with field errors if invalid)
add_element Append one element (live-updates an open editor)
update_element Change one element in place (no full re-send)
delete_element Remove one element
patch_canvas Change document-level fields (size, theme, bg) without touching elements
arrange Compute aligned grid/row/column boxes so you lay out by intent, not pixels
measure_text Measure rendered text width/height so a box fits its content
render_report Read back what rendered (values, overflow, live-vs-sample, colours) as JSON
render_preview Render the canvas to a PNG the agent can see
push_to_device Push the canvas to explicit device(s)

Writes (set_canvas, add_element, update_element, delete_element, patch_canvas) accept an optional base_rev (from get_canvas); if the page changed since, the write returns HTTP 409 so you re-read instead of clobbering a concurrent edit.

Run without installing

From a clone:

pip install mcp
TESSERAE_URL=http://127.0.0.1:8765 python -m tesserae_mcp

License

AGPL-3.0-or-later, matching Tesserae.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tesserae_mcp-0.15.0.tar.gz (46.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tesserae_mcp-0.15.0-py3-none-any.whl (42.0 kB view details)

Uploaded Python 3

File details

Details for the file tesserae_mcp-0.15.0.tar.gz.

File metadata

  • Download URL: tesserae_mcp-0.15.0.tar.gz
  • Upload date:
  • Size: 46.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for tesserae_mcp-0.15.0.tar.gz
Algorithm Hash digest
SHA256 560272757954d18001453e0487af89d5e7a24309a3c1dc2dbe1c0765903637a5
MD5 aaf764a2888c8c7fd7dcdf1d06d1a577
BLAKE2b-256 f68523c3f6330113fc53f80e48c98fe1818b19f93743f5e10e069972ef16b8cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for tesserae_mcp-0.15.0.tar.gz:

Publisher: publish-tesserae-mcp.yml on dmellok/tesserae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tesserae_mcp-0.15.0-py3-none-any.whl.

File metadata

  • Download URL: tesserae_mcp-0.15.0-py3-none-any.whl
  • Upload date:
  • Size: 42.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for tesserae_mcp-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d13825f570953fa53f94d06611a4f6dd482c5d649db6657295a1ffa874db9d81
MD5 e9d9d658b185d75d2b6cf4a4f0b82421
BLAKE2b-256 bbb2608491677fc8da7b977e340c4860b6d93a93b70f17a76b9dcf4fb0e3fe6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tesserae_mcp-0.15.0-py3-none-any.whl:

Publisher: publish-tesserae-mcp.yml on dmellok/tesserae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.16.0

2 files

This release

0.15.0 This release

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.1

2 files

0.11.0

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.1

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.14

2 files

0.5.13

2 files

0.5.12

2 files

0.5.11

2 files

0.5.10

2 files

0.5.9

2 files

0.5.8

2 files

0.5.7

2 files

0.5.6

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page