The open protocol, specification, framework and reference implementations that make any website understandable and actionable to AI agents.
Website · Validator · Specification · RFCs · Whitepaper
AI agents shouldn't have to scrape HTML and guess at forms. AI2Web lets a site describe its capabilities once, in a single capability manifest at /ai2w, and then be understood and used by any AI: what the site is, what it offers, what actions it supports, and how to do them safely.
From that one description, AI2Web speaks whichever protocol an assistant understands, so you do not rebuild for each one.
AI2Web is not "the MCP for websites." It is the interoperability layer for AI-enabled websites: one capability model across many agent protocols (MCP, ACP, REST, GraphQL, OpenAPI, feeds and more), plus the discovery, validation, governance and analytics that individual protocol specs intentionally leave out. Like a browser that speaks HTTP/1.1, HTTP/2, HTTP/3, WebSockets and WebRTC behind one experience, AI2Web sits above the transports and negotiates which to use, so any protocol's success is a tailwind.
- Less waste, greener AI. Making every model render a full page to find one price burns compute, bandwidth and energy. A structured layer sends a few kilobytes of meaning instead of megabytes of markup.
- One place, not a dozen portals. Enable, validate, monitor and manage your AI presence once, instead of repeating the fragmentation the web already lived through.
- Safe by design. Discovery is open, but anything sensitive (a payment, a refund, a data export) always asks the user to approve first.
- Open and neutral. The protocol, spec and SDKs are open source. If a neutral discovery standard emerges, AI2Web is carried by it rather than competing with it.
| Repository | What it is |
|---|---|
| ai2web-spec | The protocol: specification, JSON Schema, RFCs (0000 to 0011), conformance suite, reference manifests |
| ai2web-js | TypeScript / JavaScript / React framework: the @ai2web/* packages (core, validator, adapters, connector) |
| ai2web-php | PHP SDK |
| ai2web-python | Python SDK |
| ai2web-go | Go SDK |
| ai2web-dotnet | .NET SDK (C#) |
| ai2web-wordpress | WordPress and WooCommerce plugin |
| ai2web-directory | The Discovery Network service (public metadata only) |
| ai2web.dev | The website and live AI Readiness Validator |
| ai2web-validator | The validator API: a Worker that scores any site's AI readiness over REST and MCP (validator.ai2web.dev) |
| ai2web-chrome | Chrome extension: check any site's AI readiness from the toolbar |
| docs | Whitepaper, positioning and strategy |
The framework is authored in TypeScript but ships as standard JavaScript, so it works in TypeScript, JavaScript and React, with SDKs across PHP, Python, Go and .NET and a WordPress plugin. Every SDK reproduces the same conformance contract, and the JS adapters (MCP, GraphQL, ACP, OpenAPI) all route through one guarded executor so the security rules hold uniformly.
npm packages under the @ai2web scope include @ai2web/core, @ai2web/validator, @ai2web/mcp-bridge, @ai2web/graphql-adapter, @ai2web/acp-adapter, @ai2web/openapi-adapter, @ai2web/react, @ai2web/server and @ai2web/connector.
- Publish a capability manifest at
/ai2w(by hand, via an SDK, or the WordPress plugin). - Add the required
/.well-known/ai2wdiscovery anchor pointing to it. - Validate it and get your AI Readiness Score out of 100 at ai2web.dev.
- Agents discover it, negotiate a capability set, and can act, with approval on anything sensitive.
GET /.well-known/ai2w discovery anchor (required)
GET /ai2w the capability manifest (canonical home)
POST /ai2w/negotiate agree a capability set + transport
GET /ai2w/{module} content · products · actions · events · search · agent
Capability Model -> Framework -> Discovery Network -> Analytics
Stewarded by the AI2Web Foundation, with a commercial platform layer by Polarize. Code is MIT; the specification and docs are CC-BY-4.0. Contributions are welcome: see the community health files in this .github repository, and open an issue or discussion on any project repo.
Created by Roland Farkas at Polarize Ltd