The idea
XataWorks is the bus
You want to know why plugging your application into XataWorks is worth more than one more integration. This is the picture, and what each part of it corresponds to in the product.
One bus, many devices
Picture a bus: a single line that devices plug into, and that carries traffic between whatever is plugged in. XataWorks is that line for the web applications a person already uses. Each application that declares its operations through WebMCP plugs in. An agent sits on the same line and can reach every application plugged in — one at a time, or several in one piece of work.
The picture maps onto the product exactly:
- The bus is XataWorks’ built-in browser. Every open tab has an id, and a chat can address any of them.
- A device is a web application, open in a tab, that has registered WebMCP tools.
- Traffic is an agent calling a tool in a tab. The tool runs in the page, in the person’s signed-in session on that site.
- The controller is an agent: its instructions and skills, reaching every tab from one chat.
- The breaker panel is the person. Nothing flows to a site until they allow it, as narrowly as they choose.
What plugs in
Any page that registers WebMCP tools. Yours, once you have added a few lines to it — Hello, WebMCP shows how. For some widely used sites that do not declare tools themselves, XataWorks ships adapters that declare tools on the site’s behalf — Zendesk, Jira, Slack, Shopify, Grafana and Gmail among them. Your application needs no adapter: it declares its own tools, which means you decide what they are called, what they do, and how they describe themselves.
What drives it
The agent works the bus through three browser tools: one lists the open tabs, one lists the WebMCP tools a tab has published, and one calls a tool in a tab. Because a call names the tab it is for, one chat can call tools in several tabs — on several sites — in the course of one request.
A worked example
Two small example applications are hosted with this guide. Orders knows orders and their tracking numbers. Shipping knows shipments by tracking number. Neither knows the other exists.
Open both in XataWorks and ask: “Has order A-1002 shipped, and when will it arrive?” The agent finds the order in one tab, reads its tracking number, finds the shipment in the other tab, and answers from both. The join between the two applications happens on the bus, not in either application — Two apps, one bus shows the whole run.
Who controls the breaker
The first time an agent in a chat wants a site’s tools, the person is asked, and chooses how much to allow: one call, the site’s read-only tools, its tools that change things, or all of them. Operations above what they allowed are confirmed one call at a time. The permissions articles show every question and every answer.
What makes your application a good device
- Tools an agent picks correctly: designing tools agents use well.
- Honest hints, so the person is asked the right question: safety classes.
- A skill that teaches the procedure, not only the operations: publishing a skill.