
Widget
STDIOAdds interactive UI widgets like timers, stopwatches, converters and fact displays to LLM chats
Adds interactive UI widgets like timers, stopwatches, converters and fact displays to LLM chats
Add simple widgets to you LLM chat for common situations like timers, conversions and more.
Demo video: https://youtu.be/4gfom42vHkc
MCP-UI opens the door to breaking the text wall from chat UIs we've been using the last few years. The full extent of what's possible is
This project shows the floor of what's possible by providing a few simple widgets for common situations.
If you've ever google "convert X to Y" or "2 minute timer" and see the custom UI results, this should feel very familiar.
Timer
- Editable timer with a chime.Stopwatch
- Timer that just counts up.Conversion
- Convert between set of units for which the LLM can write a formula.Display Fact
- When the answer is simple, just show it in an easy to read card.MCP-UI is new and as of August 2025 is only supported by a few clients.
Try widget-mcp in the Smithery playground. (TODO: pending Smithery deploy)
Extensions
and Add custom extension
Widgets
and command npx widget-mcp
Chat
and prompting 2 minute timer
Here's a few examples of widgets that could be fun to add.
I'm sure you have some cool ideas!
Adding new widgets should be very easy! All these widgets are HTML pages that can have variables injected (eg. values provided by the LLM). To add new widgets, add an template file to the html
directory and a new tool to index.ts
.
You can probably just prompt "Add a widget html and tool to do
# Install dependencies npm install # Iterate on the html with hot-reloads npm run dev:html # Launch the MCP server with Smithery's web inspector npm run dev:mcp