webMCP UI
Components Your AI Can Drive
Components Your AI Can Drive
21
Custom Elements
3
Primitive Families
2
Distribution Channels
MIT
Licensed & Open Source
Watch an Agent
File a Lead From a Messy Email
Hey — Jordan here from Meridian Outfitters. Our storefront is ancient and we want a rebuild that AI assistants can actually use. Budget is somewhere around $20–30k. Reach me at [email protected]. Thanks!
<wmcp-input expose><wmcp-input expose><wmcp-input expose><wmcp-input expose><wmcp-input expose>One Element.
A Human Control and an Agent Tool.
Drop in an element
Add it to any page — Webflow, WordPress, Nuxt, Next, plain HTML. It is a proper, accessible, form-associated control first: real labels, native validation, error live regions.
<wmcp-input
label="Work email"
name="email"
type="email">
</wmcp-input>Opt into exposure
Add the expose attribute. The element registers a WebMCP tool when it connects and removes it when it disconnects. Feature-detected — a complete no-op when no agent is present.
<wmcp-input
label="Work email"
name="email"
type="email"
expose> <!-- that's it -->
</wmcp-input>Agents fill the form
A WebMCP-aware agent discovers the tool and sets the value exactly as if a user typed it — validated and announced. Submitting stays a deliberate step the browser can gate behind user consent.
// agent-side
email.set("[email protected]")
// → validated against your schema
// → aria live region announced
// → form state updated21 Elements.
Three Families of Primitives.
Form Controls
Expose a value an agent can set. Form association via ElementInternals, Standard Schema validation, accessible error messaging.
Interaction Primitives
Expose an action an agent can trigger — or, for toast, a reading an agent can perceive. Click, open, switch, pick, read.
Presentational
Accessible, themed building blocks with no agent surface — pure UI that shares the same design tokens and theming pipeline.
Built Form-First.
Agent-Ready on Purpose.
Not Just Controls.
Whole Workflows an Agent Can Drive.
Add It in One Line.
$ pnpm add @webmcpui/core @webmcpui/tokensimport { defineComponents } from '@webmcpui/core'
import '@webmcpui/tokens/css' // theme tokens (CSS custom properties)
defineComponents() // registers <wmcp-input> and the other <wmcp-*> elementsBuilt in the Open.
Maintained With Intent.
Gary Pfaff
Creator & Core Maintainer
Founder, Pfaff Digital
20+ years of design and development experience. Built webMCP UI so the agent-ready web starts with good, accessible HTML — not scraping hacks.
About Pfaff DigitalErrol Keith
Core Maintainer
webMCP UI
Core maintainer shaping the component architecture, validation pipeline, and the WebMCP exposure model across every element family.
View on GitHub