If you have tried to make a website work with AI assistants recently, you have run into the fragmentation. Depending on the platform, you are looking at MCP, WebMCP, ACP, product feeds, OAuth flows, framework-specific tooling, and whatever ships next. Each solves a real slice of the problem. But a site ends up implementing and maintaining several of them separately, per assistant, and re-doing it every time a new protocol appears.
The web was built for humans. Agents should not have to scrape HTML and guess at your forms. So I built AI2Web to test a different approach: describe your site's capabilities once, and expose them through whichever protocol an AI platform speaks.
A site publishes a small, machine-readable manifest:
GET /.well-known/ai2w discovery anchor
GET /ai2w the capability manifest
POST /ai2w/negotiate agree a capability set + transport
From that one description, you generate MCP, GraphQL, ACP, OpenAPI and feeds. You do not rebuild for each assistant. When a new protocol wins, you add an adapter, not a rewrite.
It is explicitly not a replacement for MCP or ACP. It sits above them as an interoperability layer. The bet is that the capability model is the durable part, and the transports are adapters.
npx -p @ai2web/validator ai2web validate https://ai2web.dev
npm install @ai2web/core
js
import { ai2web, validateManifest } from "@ai2web/core";
const manifest = ai2web({ name: "Acme", url: "https://acme.example", type: "ecommerce" })
.capability("content")
.capability("commerce", { checkout: true })
.build();
console.log(validateManifest(manifest).score); // AI Readiness Score /100
@ai2web/core
(and PHP, Python, Go and .NET)I am not trying to win a standards race. I am trying to make the AI-ready web simple enough that developers actually want to build it. Whether that abstraction holds, or leaks so badly you would rather just implement MCP directly, is exactly the question I cannot answer alone.
If you build websites, AI agents, or the tools in between, I would value your criticism:
It is open source (code MIT, spec CC-BY).
Describe once. Works everywhere. That is the whole idea.