← Back to Feed
Agent Infrastructure agents llm ui open_source

MUP proposes reusable pre-built HTML UI components that LLMs invoke via function calls rather than regenerating UI code

MUP proposes reusable pre-built HTML UI components that LLMs invoke via function calls rather than regenerating UI code each conversation, reducing token waste and fragility.
Show HN: MUP – Stop making LLMs rebuild UI from scratch every time We posted MUP here 4 days ago as a protocol spec. Since then we built a basic agentic system on top of it to demonstrate the idea in action.

The problem: every time an LLM needs a chart, it generates chart code. Need a canvas? Generate canvas code. Need an editor? Generate editor code. Every conversation starts from zero. Nothing is reusable. The LLM burns tokens on boilerplate, and the result is fragile — one wrong CSS line and it breaks. Worse, the AI can't see or react to what the user does with the generated UI.

MUP is the opposite approach. A MUP is a pre-built .html file with declared functions. You build a chart MUP once, and every LLM can use it forever — by calling `renderChart(data)`, not by writing 200 lines of Chart.js setup. The LLM doesn't generate UIs. It operates them.

This changes what the LLM spends its intelligence on. Instead of fighting with CSS and rebuilding the same components over and over, it focuses on behavior — reading user interactions, deciding what to do, orchestrating between panels.

How the protocol works:

A MUP is a standard HTML file with a JSON manifest in a `<script type="application/mup-manifest">` tag. The manifest declares the MUP's name, description, and functions with JSON Schema inputs. That's it — the LLM never sees the HTML or CSS, only these declarations.

The host loads the MUP in an iframe, injects a tiny SDK (`mup.*`), and the MUP registers its function handlers. From there,

View Original Post ↗