AI 제품을 위한 에이전트용 React 컴포넌트, 스크린, 블록을 검색, 읽기 및 설치합니다.
다른 이름 flohoeller/affectui
- 스타
- 793
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 1.0.0
- 마지막 커밋
- 2026년 11월 13일
- 라이선스
- MIT
affectUI MCP란?
affectUI은(는) MCP server입니다. AI 제품을 위한 에이전트용 React 컴포넌트, 스크린, 블록을 검색, 읽기 및 설치합니다.
프로젝트 README에서 생성된 요약
affectUI MCP server 정보
affectUI는 AI 에이전트 인터페이스를 위해 특별히 설계된 React 19 컴포넌트 라이브러리를 제공합니다. 에이전트 실행, 도구 호출, 트레이스, 핸드오프 및 컨텍스트 창을 관리하기 위한 특화된 UI 요소를 제공합니다. 개발자는 이 컴포넌트들을 사용하여 에이전트 대시보드, 채팅 인터페이스, human-in-the-loop 승인 시스템을 구축할 수 있습니다.
이 라이브러리는 Next.js, Vite, Remix와 같은 기존 React 프로젝트에 쉽게 통합할 수 있도록 설계되었습니다. 복잡한 CSS나 Tailwind 설정이 필요하지 않으며, 각 컴포넌트는 자체 스타일을 포함하는 단일 .tsx 파일로 구성됩니다. 사용자는 shadcn CLI를 통해 항목을 설치하거나, MCP server를 사용하여 Claude Code, Cursor, Codex와 같은 코딩 어시스턴트가 코드베이스에 컴포넌트를 직접 찾아 추가할 수 있도록 할 수 있습니다.
저장소에는 46개의 무료 항목이 포함되어 있지만, 고급 컴포넌트를 위한 Pro 버전도 제공됩니다. 컴포넌트는 접근성, 다크 모드 및 반응성을 고려하여 제작되었으며, 다양한 레이아웃에 적응할 수 있도록 컨테이너 쿼리(container queries)를 활용합니다.
활용 사례
- 1컴포넌트 설치 자동화AI 코딩 어시스턴트가 특정 React 컴포넌트를 찾아 프로젝트 파일에 직접 추가할 수 있습니다.
- 2에이전트 실행 트레이스 시각화개발자가 에이전트 실행 중 시간과 비용이 어디에 소요되는지 보여주는 타임라인을 구현할 수 있습니다.
- 3에이전트 작업 승인 관리사용자가 제안된 작업을 실행하기 전에 검토하고 승인할 수 있는 인터페이스를 구축합니다.
- 4도구 호출 상세 정보 표시상태 및 요약을 포함한 에이전트의 도구 활동을 위한 컴팩트한 뷰를 생성합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
affectUI MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 affectUI MCP 설치
$ claude mcp add --transport http affectui https://www.affectui.com/api/mcpCursor에 affectUI MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"affectui": {
"url": "https://www.affectui.com/api/mcp"
}
}
}VS Code에 affectUI MCP 설치
.vscode/mcp.json
{
"servers": {
"affectui": {
"type": "http",
"url": "https://www.affectui.com/api/mcp"
}
}
}VS Code CLI에 affectUI MCP 설치
$ code --add-mcp '{"name":"affectui","type":"http","url":"https://www.affectui.com/api/mcp"}'Codex에 affectUI MCP 설치
$ codex mcp add affectui --url https://www.affectui.com/api/mcpCodex config.toml에 affectUI MCP 설치
~/.codex/config.toml
[mcp_servers.affectui] url = "https://www.affectui.com/api/mcp"
Gemini CLI에 affectUI MCP 설치
$ gemini mcp add -s user --transport http affectui https://www.affectui.com/api/mcpGemini settings.json에 affectUI MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"affectui": {
"url": "https://www.affectui.com/api/mcp",
"type": "http"
}
}
}자동 검사
2026년 11월 12일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능통과
- 오픈 소스 라이선스 (OSI)통과
- 최근 1년 내 커밋 또는 릴리스통과
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 원격 엔드포인트가 HTTPS 사용통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 모델에 대한 숨겨진 지침 없음통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
README
GitHub에서 보기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.
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.
Contents
- Why affectUI
- Choose the UI for your workflow
- Install
- Usage
- Use it with AI tools
- Components
- Blocks
- Illustrations
- Motion
- affectUI Pro
- Contributing
- License
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.txtlet Claude Code, Cursor, Codex or v0 find and add items for you. - One file each. Every component is a single
.tsxfile 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
darkordata-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:
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:
{
"registries": {
"@affectui": "https://www.affectui.com/r/{name}.json"
}
}
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
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:
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
| Name | What it is | Install |
|---|---|---|
| Button | Primary, secondary, ghost and destructive buttons with icons, sizes and a shimmering loading state | npx shadcn@latest add https://www.affectui.com/r/button-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/button.json |
| Change Summary | What moved since last time | npx shadcn@latest add https://www.affectui.com/r/change-summary-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/change-summary.json |
| Checkbox | A real checkbox with a label and a second line, a some-of-them state for Select all, an error and a card row | npx shadcn@latest add https://www.affectui.com/r/checkbox-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/checkbox.json |
| Comment Thread | One comment with replies | npx shadcn@latest add https://www.affectui.com/r/comment-thread-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/comment-thread.json |
| Decision Inbox | Open decisions with two quick answers each | npx shadcn@latest add https://www.affectui.com/r/decision-inbox-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/decision-inbox.json |
| Email Draft | Agent-written email for review | npx shadcn@latest add https://www.affectui.com/r/email-draft-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/email-draft.json |
| Filter Menu | Grouped filters with removable chips, collapsible checkbox groups, Clear all and full keyboard control | npx shadcn@latest add https://www.affectui.com/r/filter-menu-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/filter-menu.json |
| Message Actions | The quiet bar under an AI message | npx shadcn@latest add https://www.affectui.com/r/message-actions-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/message-actions.json |
| Notification Stack | Notice cards stacked behind each other | npx shadcn@latest add https://www.affectui.com/r/notification-stack-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/notification-stack.json |
| OTP Input | The verification code field done right | npx shadcn@latest add https://www.affectui.com/r/otp-input-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/otp-input.json |
| Profile Menu | Account card with the signed-in user, menu actions and profile setup progress | npx shadcn@latest add https://www.affectui.com/r/profile-menu-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/profile-menu.json |
| Progress Tracker | Onboarding checklist with an animated progress bar, ticks that draw themselves and auto play | npx shadcn@latest add https://www.affectui.com/r/progress-tracker-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/progress-tracker.json |
| Reaction Bar | Like, comment, repost and share in one pill | npx shadcn@latest add https://www.affectui.com/r/reaction-bar-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/reaction-bar.json |
| Segmented Control | Switch between two to six options | npx shadcn@latest add https://www.affectui.com/r/segmented-control-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/segmented-control.json |
| Select | Pick one option in the Text Field's look | npx shadcn@latest add https://www.affectui.com/r/select-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/select.json |
| Smart Recommendation | Suggestion card with a confidence signal, alternatives to switch to and accept with undo | npx shadcn@latest add https://www.affectui.com/r/smart-recommendation-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/smart-recommendation.json |
| Switch | On or off for things that apply right away | npx shadcn@latest add https://www.affectui.com/r/switch-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/switch.json |
| Tag Input | Several values in one field as chips | npx shadcn@latest add https://www.affectui.com/r/tag-input-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/tag-input.json |
| Text Area | The multi-line twin of the Text Field | npx shadcn@latest add https://www.affectui.com/r/text-area-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/text-area.json |
| Text Field | One input for every form | npx shadcn@latest add https://www.affectui.com/r/text-field-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/text-field.json |
| Thinking Loader | A small working pill for AI replies | npx shadcn@latest add https://www.affectui.com/r/thinking-loader-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/thinking-loader.json |
| Tips Panel | Grid of short tips with one action each | npx shadcn@latest add https://www.affectui.com/r/tips-panel-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/tips-panel.json |
| Tool Call Card | An agent's tool call in one line | npx shadcn@latest add https://www.affectui.com/r/tool-call-card-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/tool-call-card.json |
Blocks
| Name | What it is | Install |
|---|---|---|
| Logo Marquee | The endless “Trusted by” strip | npx shadcn@latest add https://www.affectui.com/r/logo-marquee-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/logo-marquee.json |
| Testimonial Wall | The landing-page wall of quotes | npx shadcn@latest add https://www.affectui.com/r/testimonial-wall-clean.jsonClassic style: npx shadcn@latest add https://www.affectui.com/r/testimonial-wall.json |
affectUI MCP 질문
affectUI MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add --transport http affectui https://www.affectui.com/api/mcp를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
affectUI MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
affectUI 컴포넌트를 어떻게 설치하나요?
특정 registry URL을 실행하여 shadcn CLI로 컴포넌트를 설치하거나, 저장소에서 .tsx 파일을 직접 복사하여 붙여넣을 수 있습니다.
어떤 종류의 컴포넌트를 사용할 수 있나요?
도구 호출(tool calls), 트레이스(traces), 핸드오프(handoffs), 승인(approvals)과 같은 AI 에이전트 워크플로우 전용 컴포넌트뿐만 아니라 메뉴, 차트와 같은 일반 UI 요소를 포함합니다.