Your agent does more than answer. It acts on your site.
Give the agent real actions — add to cart, book, filter, start a flow — that it runs in the visitor’s browser, safely.
How it works
1. Declare your actions
Your site exposes its actions with the standard WebMCP API (navigator.modelContext.registerTool). Reuse your own endpoints — the agent only sees the schema, never your secrets.
2. The agent calls them
During the conversation, the Animam agent decides to call an action; it runs in the visitor's browser, with their session on your site.
3. Confirmation on writes
Any state-changing action (cart, booking, payment) asks the visitor for explicit confirmation before running. Read-only actions go straight through.
One function, not an integration
You write standard WebMCP. Your tools reuse your real APIs and the visitor’s session.
// On your site — standard WebMCP API
navigator.modelContext.registerTool({
name: 'add_to_cart',
description: 'Add a product to the visitor cart.',
inputSchema: {
type: 'object',
properties: { sku: { type: 'string' }, qty: { type: 'integer' } },
required: ['sku'],
},
// omit readOnlyHint => the agent asks the user to confirm first
execute: async ({ sku, qty }) => {
const res = await fetch('/api/cart', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ sku, qty }),
})
return await res.json()
},
})Zero lock-in
WebMCP is a neutral W3C standard. The same code serves the Animam agent today, in every browser — and browser-native agents (Chrome) when they ship.
- The agent only sees the schema — never your secrets
- Mandatory confirmation on write actions
- No dependency on a specific browser or model