affectUI

io.github.flohoellerPublished by GitHub account flohoellerv1.0.0Updated Oct 24, 2026

Search, read and install agent-ready React components, screens and blocks for AI products.

VerifiedStreamable HTTPWeb executableDeveloper ToolsMedia & Design

Overview

AI-generated overview

Remote MCP server for affectUI that lets an assistant search, read docs for, and fetch source of React UI components, blocks, illustrations and motion effects.

What you can do
  • Search affectUI items by UI need, such as a chat input with a model picker
  • List every item with slug, section, category, free or Pro status and a one-line description
  • Read docs for one item: install command, usage example, props, keyboard and accessibility notes
  • Fetch the full .tsx source of an item to write into components/ui when the shadcn CLI is unavailable
When to use it
Useful when building a React app, especially an AI product UI, and you want the assistant to find and add ready-made components instead of writing them from scratch. It fits workflows where the shadcn CLI is not available and the assistant must place source files itself.
Requirements
A remote MCP endpoint at affectui.com over streamable HTTP; no local package or runtime. An optional Authorization header with a Bearer access key is needed only for Pro item source. Free items and all docs work without it. Installed components target React 19 projects.
Before you install
The Authorization header carries a paid affectUI Pro access key; only supply it if you want Pro source, and treat it as a secret. Pro items are a one-time purchase and their source is not in the public repository. The server returns source code that the assistant may write into your project, so review what gets added.

Installation

In SourceWeft

  1. Open affectUI in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.flohoeller%2Faffectui/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "affectui": {
      "type": "http",
      "url": "https://www.affectui.com/api/mcp"
    }
  }
}

README

[affectUI: UI for AI agents. React components for what agents do, and for the rest of your app.]

[License: MIT] [shadcn registry] [React 19] [40 free items] [GitHub stars]

Website  ·  Browse components  ·  Docs  ·  Install  ·  Pro

UI for AI agents. affectUI is a library of React components for what agents do – runs, tool calls, traces, handoffs, approvals and context – and for the rest of your app: inputs, menus, charts, screens, illustrations and motion. Every item is one .tsx file with its styles inside: no Tailwind, no CSS setup, no animation library. Install it with the shadcn CLI, or let Claude Code, Cursor or Codex add it through the MCP server, and it is source you own.

[Used by developers at Teamworks, RedNote, Cloudforce, Moonshot AI, Terminal49, Meitu and Beacons]

Showcase

Agent components, recorded live from affectui.com. Items marked Pro are part of affectUI Pro and are not in this repository; everything else installs from here for free.

[Agent Tree: Who started whom – an orchestrator and its sub-agents as a live tree, with status, cost and time on every card, costs rolling up each branch, and branches that fold to one line]
Agent Tree Pro
Who started whom
[Tool Call Card: An agent's tool call in one line – live timer, status and summary, folds open to highlighted arguments and result with copy, retry on errors and a group that sums them up]
Tool Call Card
An agent's tool call in one line
[Trace Waterfall: Where the time and money of an agent run go – every LLM call, tool call and sub-agent as a bar on a live timeline, with tokens and cost per step, the slowest call marked and branches that fold into their parent]
Trace Waterfall Pro
Where the time and money of an agent run go
[Decision Inbox: Open decisions with two quick answers each – answered ones confirm and fold away]
Decision Inbox
Open decisions with two quick answers each
[Agent Inbox: All your background agent tasks in one calm list – live clocks and status tags, filter tabs with rolling counts, rows that unfold to the last steps with Approve, Reject, Retry or Open, and glide to their new place]
Agent Inbox Pro
All your background agent tasks in one calm list
[Thinking Loader: A small working pill for AI replies – an eight-ray spinner and a shimmering label that rolls through phases and settles on a check]
Thinking Loader
A small working pill for AI replies
[Context Map: What fills an agent's context window, as a living treemap – system prompt, tools, memory, every file, the chat and tool results as tiles that glide as it grows, the free space dashed, and compaction squeezing old turns into a summary]
Context Map Pro
What fills an agent's context window, as a living treemap
[Agent Handoff: A task passed from agent to agent like a relay – at every handoff what went along to the next one, and what got lost on the way]
Agent Handoff Pro
A task passed from agent to agent like a relay

Contents

Why affectUI

  • Made for agents. Components for what agents actually do: trees of sub-agents, tool calls, traces with cost per step, handoffs, approvals and the context window – live states, not static mockups.
  • Agent-ready. An MCP server and llms.txt let Claude Code, Cursor, Codex or v0 find and add items for you.
  • One file each. Every component is a single .tsx file with its styles inside. Nothing to configure, no CSS framework required.
  • Motion that feels finished. Morphs, staggered reveals, rolling numbers and smooth state changes, and all of it respects prefers-reduced-motion.
  • Dark mode built in. Each item switches when an ancestor has the class dark or data-theme="dark".
  • Accessible by default. Real buttons, labels, keyboard support and live regions where they matter.
  • Responsive. Container queries, so items adapt to the space they get, not just the window.

Choose the UI for your workflow

affectUI is the presentation layer of an AI product. Your application supplies runtime data, connects tools and enforces permissions; the components render that state and expose callbacks for your actions.

  • Agent UI: task plans, run progress, decisions and outcomes for delegated work. Start with the Agent UI guide or the agent dashboard guide.
  • AI chat UI: composers, streaming answers, citations and reply actions. Read React components for AI chat.
  • Human in the loop: review a proposed action and its target before the backend executes it. Read approvals and permissions.
  • Tool-call UI: make tool activity, results and failures readable. Read tool calls in an agent UI.
  • MCP UI: present tools connected through MCP. The protocol connection and the finished interface are separate concerns; see the MCP UI guide. The affectUI MCP server below helps coding assistants discover and install components.
  • Generative UI: map model-selected tools and validated data to known React views. Read generative UI in React, including fallback states and why this does not require executing arbitrary generated code.

Browse all guides, follow the AI setup docs, or compare UI libraries to choose the pieces that fit your application.

Install

Requirements

  • React 19, with or without TypeScript
  • Any React setup: Next.js, Vite, Remix or plain React
  • The @/* import alias if you use the shadcn CLI (Next.js and shadcn set it up by default)

With the shadcn CLI

Every item has its own registry URL. Run the command from its page on affectui.com or from the tables below:

bash
npx shadcn@latest add https://www.affectui.com/r/reaction-bar.json

The file lands in components/ui, ready to import.

Prefer short names? Register the namespace once in components.json:

json
{  "registries": {    "@affectui": "https://www.affectui.com/r/{name}.json"  }}
bash
npx shadcn@latest add @affectui/reaction-bar

Copy and paste

Open the item's folder in this repository (components/, illustrations/ or motion/), copy the file into your project and import it. That's all it takes.

Usage

tsx
import { ReactionBar } from "@/components/ui/reaction-bar";
export function PostActions({ post }) {  return (    <ReactionBar      reactions={{ like: { count: post.likes, active: post.liked }, comment: { count: post.comments } }}      onReact={(key, state) => api.react(post.id, key, state.active)}    />  );}

Props, keyboard support and accessibility notes for every item are on its page, e.g. Reaction Bar.

Use it with AI tools

affectUI is agent-ready. Connect the MCP server once and Claude Code, Cursor, VS Code or Codex can search every item, read its docs and add it for you:

bash
claude mcp add --transport http affectui https://www.affectui.com/api/mcp

Other clients: add { "mcpServers": { "affectui": { "url": "https://www.affectui.com/api/mcp" } } } to their MCP config. Without any setup, point your assistant at llms.txt or llms-full.txt. Every page on affectui.com also has a Copy prompt bar for Claude, ChatGPT / Codex, Cursor and v0. Setup details: Using with AI.

Components

NameWhat it isInstall
ButtonPrimary, secondary, ghost and destructive buttons with icons, sizes and a shimmering loading statenpx shadcn@latest add https://www.affectui.com/r/button-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/button.json
Change SummaryWhat moved since last timenpx shadcn@latest add https://www.affectui.com/r/change-summary-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/change-summary.json
Comment ThreadOne comment with repliesnpx shadcn@latest add https://www.affectui.com/r/comment-thread-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/comment-thread.json
Decision InboxOpen decisions with two quick answers eachnpx shadcn@latest add https://www.affectui.com/r/decision-inbox-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/decision-inbox.json
Email DraftAgent-written email for reviewnpx shadcn@latest add https://www.affectui.com/r/email-draft-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/email-draft.json
Filter MenuGrouped filters with removable chips, collapsible checkbox groups, Clear all and full keyboard controlnpx shadcn@latest add https://www.affectui.com/r/filter-menu-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/filter-menu.json
Message ActionsThe quiet bar under an AI messagenpx shadcn@latest add https://www.affectui.com/r/message-actions-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/message-actions.json
Notification StackNotice cards stacked behind each othernpx shadcn@latest add https://www.affectui.com/r/notification-stack-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/notification-stack.json
OTP InputThe verification code field done rightnpx shadcn@latest add https://www.affectui.com/r/otp-input-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/otp-input.json
Profile MenuAccount card with the signed-in user, menu actions and profile setup progressnpx shadcn@latest add https://www.affectui.com/r/profile-menu-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/profile-menu.json
Progress TrackerOnboarding checklist with an animated progress bar, ticks that draw themselves and auto playnpx shadcn@latest add https://www.affectui.com/r/progress-tracker-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/progress-tracker.json
Reaction BarLike, comment, repost and share in one pillnpx shadcn@latest add https://www.affectui.com/r/reaction-bar-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/reaction-bar.json
Segmented ControlSwitch between two to six optionsnpx shadcn@latest add https://www.affectui.com/r/segmented-control-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/segmented-control.json
Smart RecommendationSuggestion card with a confidence signal, alternatives to switch to and accept with undonpx shadcn@latest add https://www.affectui.com/r/smart-recommendation-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/smart-recommendation.json
Thinking LoaderA small working pill for AI repliesnpx shadcn@latest add https://www.affectui.com/r/thinking-loader-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/thinking-loader.json
Tips PanelGrid of short tips with one action eachnpx shadcn@latest add https://www.affectui.com/r/tips-panel-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/tips-panel.json
Tool Call CardAn agent's tool call in one linenpx shadcn@latest add https://www.affectui.com/r/tool-call-card-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/tool-call-card.json

Blocks

NameWhat it isInstall
Logo MarqueeThe endless “Trusted by” stripnpx shadcn@latest add https://www.affectui.com/r/logo-marquee-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/logo-marquee.json
Testimonial WallThe landing-page wall of quotesnpx shadcn@latest add https://www.affectui.com/r/testimonial-wall-clean.json
Classic style: npx shadcn@latest add https://www.affectui.com/r/testimonial-wall.json

Illustrations

NameWhat it isInstall
Agent TeamA prompt types itself and branches out into three agents, each with a role and overlapping tool logosnpx shadcn@latest add https://www.affectui.com/r/agent-team.json
Cover FlowBrowse covers in 3Dnpx shadcn@latest add https://www.affectui.com/r/cover-flow.json
DACH RegionDACH map with fading neighbours and a pastel band along the border, switchable to the US, China, India, Brazil or Japannpx shadcn@latest add https://www.affectui.com/r/region-dach.json
Empty CalendarStack of calendar cards marked empty, fanning out on hovernpx shadcn@latest add https://www.affectui.com/r/empty-calendar.json
Enrichment OrbitGrok tile inside two rings with comets and data nodes orbiting around itnpx shadcn@latest add https://www.affectui.com/r/enrichment-orbit.json
Frost CloudA frosted white cloud with eyes cut out of it, on a red-orange or blue skynpx shadcn@latest add https://www.affectui.com/r/frost-cloud.json
Ghosted ChatUnanswered chat messages marked as read, with a thumbs-down reply on hovernpx shadcn@latest add https://www.affectui.com/r/ghosted-chat.json
Glow CloudA glowing cloud with eyes in blue or red-orangenpx shadcn@latest add https://www.affectui.com/r/glow-cloud.json
Integration BeamYour product between the tools it connectsnpx shadcn@latest add https://www.affectui.com/r/integration-beam.json
Integration GridHoneycomb-like wall of integration logos around a bright centre tile with your product mark, fading out toward the edgesnpx shadcn@latest add https://www.affectui.com/r/integration-grid.json
Layer StackIsometric stack of five layers with a list beside itnpx shadcn@latest add https://www.affectui.com/r/layer-stack.json
Lead SourcingChatGPT tile linked to Gmail and Grok, with a shine running along the connectionnpx shadcn@latest add https://www.affectui.com/r/lead-sourcing.json
Logo ClusterYour mark on a white disc in the middlenpx shadcn@latest add https://www.affectui.com/r/logo-cluster.json
Model WheelAI model names on a turning drumnpx shadcn@latest add https://www.affectui.com/r/model-wheel.json
Side FolderGlassy blue folder on its side, documents sliding out to the right as the pocket swings open on hovernpx shadcn@latest add https://www.affectui.com/r/side-folder.json
Tab OverloadOverlapping browser windows where the highlight follows the hovered tabnpx shadcn@latest add https://www.affectui.com/r/tab-overload.json
Team InviteConnected teammatesnpx shadcn@latest add https://www.affectui.com/r/team-invite.json

Motion

NameWhat it isInstall
Grid BackgroundA fine line grid that drifts slowly behind your content and fades out towards the edgesnpx shadcn@latest add https://www.affectui.com/r/grid-background.json
Number TickerOdometer-style numbersnpx shadcn@latest add https://www.affectui.com/r/number-ticker.json
Shimmer LoaderSkeleton blocks that share one soft light sweep, plus shimmering text for “Thinking…” statesnpx shadcn@latest add https://www.affectui.com/r/shimmer-loader.json
Text RevealText that arrives word by word or letter by letternpx shadcn@latest add https://www.affectui.com/r/text-reveal.json

affectUI Pro

108 more components, screens, blocks and illustrations, including the agent components above (Agent Tree, Agent Inbox, Trace Waterfall, Context Map, Agent Handoff and more), full app screens and blocks, are part of affectUI Pro: a one-time purchase with lifetime updates. Their source is not in this repository.

Contributing

Found a bug or missing a component? Open an issue. The files here are synced from the affectUI source on every release, so fixes land through issues rather than pull requests. See CONTRIBUTING.md.

License

Everything in this repository is released under the MIT license. Use it in personal and commercial projects. Logos shown in previews belong to their owners and are only sample content.


If affectUI saves you time, a ⭐ helps others find it.

Made by Flo

Source: README.md at commit dfa4d2e

Tools

4

search_components

Search affectUI

Find affectUI components, screens, blocks, illustrations and motion effects for a UI need, e.g. 'chat input with model picker' or 'onboarding checklist'.

Parametersqueryrequiredsectionfree_only

list_components

List affectUI items

Every affectUI item with slug, section, category, free or Pro, and a one-line description.

Parameterssection

get_component

affectUI item docs

Docs for one item: install command, usage example, props, keyboard, accessibility and notes.

Parametersslugrequired

get_source

affectUI item source

The full .tsx source of an item, to write to components/ui/<slug>.tsx when the shadcn CLI isn't available. Pro items need the user's access key in the MCP connection.

Parametersslugrequired

Version history

1
  1. v1.0.0LatestOct 9, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts