Components
Render an MCP tool call with verb-conjugated label, sorted argument subtitle, and an optional collapsible JSON output panel. State-driven (completed / pending / interrupted). Self-contained port from 21st.dev Agent Elements.
npx shadcn@latest add https://21st.dev/r/21stdev/mcp-toolLoading preview...
import { McpTool } from "@/components/ui/mcp-tool";
export default function Demo() {
return (
<div className="flex items-center justify-center w-full min-h-screen bg-background p-8 overflow-hidden">
<div className="w-fit">
<McpTool state="interrupted" displayName="List Resources" />
</div>
</div>
);
}