MCP bridge for Tesserae Studio: author e-ink widgets with an AI agent.
Project description
tesserae-studio-mcp
Part of the Tesserae Studio repo (
packages/tesserae-studio-mcp), so the bridge stays in lockstep with the Studio API it wraps. Published to PyPI astesserae-studio-mcp.
The MCP bridge for Tesserae Studio. It lets an AI agent (Claude Code, Claude Desktop, or any MCP client) author Tesserae widgets end to end: scaffold a widget, edit its files, lint it, mine a data schema, register it to a running Tesserae, and render it, all through a running Studio server.
This is a thin stdio client. It talks to your Studio server over its local REST
API (STUDIO_URL), so the linting, mining, registering, and rendering all run
in your own Studio, which in turn drives your Tesserae.
scaffold_widget → write_file → lint_widget → register_widget → faithful_render → mine_data_schema
Prerequisites
A running Tesserae Studio server (it serves the API this bridge calls, and its web UI). See the Studio README for how to run it. Studio in turn connects to a Tesserae for live data and faithful (e-ink) render.
Install
Run this on the machine where your agent runs, which may differ from where Studio runs.
pip install tesserae-studio-mcp
or from source:
pip install "git+https://github.com/dmellok/tesserae-studio#subdirectory=packages/tesserae-studio-mcp"
Either gives you the tesserae-studio-mcp command.
Configure your agent
Point your MCP client at tesserae-studio-mcp. Example (Claude Desktop / Claude
Code mcpServers config):
{
"mcpServers": {
"tesserae-studio": {
"command": "tesserae-studio-mcp",
"env": { "STUDIO_URL": "http://localhost:8770" }
}
}
}
Claude Code one-liner:
claude mcp add tesserae-studio -e STUDIO_URL=http://localhost:8770 -- tesserae-studio-mcp
STUDIO_URL— where your Studio server is reachable (defaulthttp://localhost:8770). For a remote / Home Assistant Studio, use its LAN address, e.g.http://192.168.1.50:8770.
The build loop and the widget contract rules are sent to the agent automatically at handshake (FastMCP instructions), so you don't paste a prompt.
Run without installing
From a clone:
pip install mcp httpx
STUDIO_URL=http://localhost:8770 python -m tesserae_studio_mcp
License
AGPL-3.0-or-later, matching Tesserae Studio.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tesserae_studio_mcp-0.1.0.tar.gz.
File metadata
- Download URL: tesserae_studio_mcp-0.1.0.tar.gz
- Upload date:
- Size: 20.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1d561c9d6c7d8cf678979debd9c158d71a1334bdc49faa4d39c09e30a605f01
|
|
| MD5 |
23f4526608eb28f17acd12a2212894f8
|
|
| BLAKE2b-256 |
fad14ad7b3dffb96a72239fb15e71ddd40548685a31424501a5d3485b2e13e66
|
Provenance
The following attestation bundles were made for tesserae_studio_mcp-0.1.0.tar.gz:
Publisher:
publish-tesserae-studio-mcp.yml on dmellok/tesserae-studio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tesserae_studio_mcp-0.1.0.tar.gz -
Subject digest:
f1d561c9d6c7d8cf678979debd9c158d71a1334bdc49faa4d39c09e30a605f01 - Sigstore transparency entry: 2159174690
- Sigstore integration time:
-
Permalink:
dmellok/tesserae-studio@a5c559728748841e0448facc0caf902e7ece2c31 -
Branch / Tag:
refs/tags/studio-mcp-v0.1.0 - Owner: https://github.com/dmellok
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-tesserae-studio-mcp.yml@a5c559728748841e0448facc0caf902e7ece2c31 -
Trigger Event:
push
-
Statement type:
File details
Details for the file tesserae_studio_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tesserae_studio_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
647939b846967bd7af9080023d292f17064b57a6b7b1c0fee2e57427c26e0dd8
|
|
| MD5 |
4220e964c80a208235d7f675acf5f244
|
|
| BLAKE2b-256 |
d55c8617f2c0db3012bbd13f2a74f7e520d00f2a557db65d22a39cb4b64e38ab
|
Provenance
The following attestation bundles were made for tesserae_studio_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish-tesserae-studio-mcp.yml on dmellok/tesserae-studio
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tesserae_studio_mcp-0.1.0-py3-none-any.whl -
Subject digest:
647939b846967bd7af9080023d292f17064b57a6b7b1c0fee2e57427c26e0dd8 - Sigstore transparency entry: 2159174766
- Sigstore integration time:
-
Permalink:
dmellok/tesserae-studio@a5c559728748841e0448facc0caf902e7ece2c31 -
Branch / Tag:
refs/tags/studio-mcp-v0.1.0 - Owner: https://github.com/dmellok
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-tesserae-studio-mcp.yml@a5c559728748841e0448facc0caf902e7ece2c31 -
Trigger Event:
push
-
Statement type: