WebMCP-native · forms + interaction primitives

Agent-aware web components.
Components your AI can drive.

Framework-agnostic custom elements with Standard Schema validation and first-class WebMCP exposure — so the same control a person types into, an agent can drive.

Drops into anything that renders HTML

WebflowWordPressAstroViteNext.jsNuxt
01
How it works

One element. A human control and an agent tool.

01

Drop in an element

Add <wmcp-input> to any page. It is a proper, accessible, form-associated control first.

02

Opt into exposure

Add the `expose` attribute. The element registers a WebMCP tool on connect, removes it on disconnect.

03

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.

04
Features

Built form-first. Agent-ready on purpose.

Framework-agnostic

Standard custom elements built with Lit. Drop them into React, Vue, Svelte, or plain HTML — no wrapper required.

Standard Schema validation

Bring Zod, Valibot, or ArkType. Validation drives aria-invalid, live error messages, and native form constraints.

WebMCP exposure

Opt in with `expose` and each control registers an imperative WebMCP tool an agent can call — feature-detected, zero-cost when absent.

No-build CDN

One script tag auto-registers every element. Perfect for Webflow, WordPress, or hand-written HTML.

Design tokens

Theming via CSS custom properties from a Style Dictionary pipeline — light and dark out of the box.

Accessible by default

Real form association through ElementInternals: labels, error live regions, and form participation come built in.

05
Install

Add it in one line.

Use the ESM package with your build tool, or drop a single script tag — no build step required.

terminal
pnpm add @webmcpui/core @webmcpui/tokens

Build forms for people
and the agents working for them.