git404hub

what is gadget fr?

techthos/gadget — explained in plain English

Analysis updated 2026-07-26

5TypeScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

tl;dr

A Go library for MCP servers that renders interactive UI components like tables and forms directly inside chat windows like Claude or ChatGPT.

vibe map

mindmap
  root((repo))
    What it does
      Interactive chat UI
      Go MCP library
      Inline CSS and JS
    Widgets
      Table widget
      Form widget
      Menu widget
      Card and CardList
    Tech stack
      Go
      TypeScript
      MCP Protocol
    Use cases
      Chat data tables
      Chat forms
      Tool launcher grids
    Audience
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Build an AI assistant that replies with an interactive data table users can sort and filter.

VIBE 2

Create a chat-based form letting users submit structured data without leaving the conversation.

VIBE 3

Design a launcher menu of tiles that opens specific tools inside a chat window.

what's the stack?

GoTypeScriptMCP

how it stacks up fr

techthos/gadgetagentigris/agentfundalange/tinyclaude
Stars555
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatehardmoderate
Complexity3/55/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Requires familiarity with Go and MCP server setup, uses a pre-release API that may still change.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

in plain english

gadget is a Go library that lets an MCP server ship interactive UI components, like data tables and forms, inside a chat window. MCP, or Model Context Protocol, is a standard that connects AI assistants to external tools and data. With gadget, a developer can build an app that responds to a user request with a full, interactive interface right in the conversation, rather than just plain text. The library provides several ready-made widgets. The Table widget handles typed columns, sorting, filtering, pagination, and row selection with bulk actions. The Form widget supports ten field types, client-side validation, and submit or cancel actions. The Menu widget acts as a launcher grid of tiles, where each tile opens a specific tool. CardList and Card widgets handle collections and single records, with features like scrolling card strips and status badges. The same widget can render in a light or dark theme depending on the host application's appearance. A key feature is that everything is self-contained. All CSS and JavaScript is inlined into the HTML output, with no external files or network requests needed. This means a developer can compile their entire application into a single Go binary, making deployment straightforward. The widgets automatically pick up the host's design tokens, so they match the look of whichever app is rendering them, such as Claude, ChatGPT, or VS Code. The project is currently marked as pre-release, which means its APIs may still change. It includes examples to help developers get started, such as a demo server for listing, editing, and deleting users, and a fake host harness for testing different widget variants in a sandboxed environment. The core runtime works with any Go MCP implementation, and there is a specific adapter for the official Go SDK. The README points to separate documentation files for widget references, theming details, and architecture notes. The project is licensed under MIT.

prompts (copy fr)

prompt 1
Using the gadget Go library, build an MCP server tool that returns a Table widget listing users with sortable name and email columns.
prompt 2
Create a gadget Form widget with fields for name, email, and role, including client-side validation for required fields.
prompt 3
Set up the gadget fake host harness to test how a CardList widget renders in both light and dark themes.
prompt 4
Build a gadget Menu widget that launches three tools: create user, list users, and delete user.

Frequently asked questions

what is gadget fr?

A Go library for MCP servers that renders interactive UI components like tables and forms directly inside chat windows like Claude or ChatGPT.

What language is gadget written in?

Mainly TypeScript. The stack also includes Go, TypeScript, MCP.

What license does gadget use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is gadget to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is gadget for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.