This is an early release preview. You may encounter bugs.
Tambo logo
Unclaimed

Tool interface

Tambo

Open-source generative UI toolkit for React where an agent selects your components and streams their props, with MCP support

A 87/100 GitHub score ? This grade is derived from GitHub signals, not user votes. Open for the full breakdown.
No votes yet

01 / About

What Tambo is.

Tambo is a React toolkit for generative UI: an agent that renders your own components in response to conversation. You register components with Zod prop schemas, and those schemas become LLM tool definitions. When a user asks for something, the agent picks a component and streams its props, so a request such as "show me sales by region" renders your Chart component with your styling and logic.

The package is a fullstack setup. A React SDK provides the TamboProvider wrapper and hooks such as useTambo (messages, streaming state, thread management) and useTamboThreadInput (input and submission). A backend runs the LLM conversation loop and stores conversation state; you can use the hosted Tambo Cloud or run the same backend on your own infrastructure with Docker. Bring an API key for OpenAI, Anthropic, Cerebras, Google Gemini, Mistral, or any OpenAI-compatible provider. Agent frameworks such as LangChain and Mastra can be used but are not required.

Two component modes are supported. Generative components render once in response to a message (charts, summaries). Interactable components, wrapped with withInteractable, persist and update as the user refines a request (shopping carts, spreadsheets, task boards). The provider requires a userKey for trusted server-side environments or a userToken (OAuth access token) for client-side apps, so the agent inherits the user's identity and permissions.

Features

  • Schema-driven components: register React components with Zod schemas; the agent chooses which to render and streams the props
  • Interactable components: stateful components that persist across turns and update as users refine requests
  • MCP integrations: connect Linear, Slack, databases, or your own MCP servers, with support for tools, prompts, elicitations, and sampling
  • Local tools: browser-side functions (DOM access, authenticated fetches, React state) declared with input and output schemas that the agent can call
  • Streaming infrastructure: props stream as the LLM generates them, with cancellation, error recovery, and reconnection handled by the SDK
  • Context and suggestions: contextHelpers pass app state such as the current page or selection; useTamboSuggestions generates clickable follow-up prompts
  • Cloud or self-hosted backend: hosted Tambo Cloud or the same backend deployed via Docker
  • Templates and component library: starter templates for chat with generative UI and an analytics dashboard, plus a pre-built primitives library

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

03 / Build

Build with Tambo.

Browse the catalogue for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get Tambo →

Browse the catalogue