{"slug": "describe-your-website-once-make-it-usable-by-any-ai", "title": "Describe your website once, make it usable by any AI", "summary": "A developer built AI2Web, an open-source interoperability layer that lets websites describe their capabilities once in a machine-readable manifest and expose them through multiple AI protocols such as MCP, GraphQL, ACP, and OpenAPI. The project aims to reduce fragmentation for AI assistants by providing a single description that generates protocol-specific adapters, avoiding the need to implement and maintain separate integrations for each platform.", "body_md": "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.\n\nThe 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.\n\nA site publishes a small, machine-readable manifest:\n\n```\nGET  /.well-known/ai2w   discovery anchor\nGET  /ai2w               the capability manifest\nPOST /ai2w/negotiate     agree a capability set + transport\n```\n\nFrom 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.\n\nIt 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.\n\n```\n# score any live site's AI readiness\nnpx -p @ai2web/validator ai2web validate https://ai2web.dev\n\n# or build a manifest in code\nnpm install @ai2web/core\njs\nimport { ai2web, validateManifest } from \"@ai2web/core\";\n\nconst manifest = ai2web({ name: \"Acme\", url: \"https://acme.example\", type: \"ecommerce\" })\n  .capability(\"content\")\n  .capability(\"commerce\", { checkout: true })\n  .build();\n\nconsole.log(validateManifest(manifest).score); // AI Readiness Score /100\n```\n\n`@ai2web/core`\n\n(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.\n\nIf you build websites, AI agents, or the tools in between, I would value your criticism:\n\nIt is open source (code MIT, spec CC-BY).\n\nDescribe once. Works everywhere. That is the whole idea.", "url": "https://wpnews.pro/news/describe-your-website-once-make-it-usable-by-any-ai", "canonical_source": "https://dev.to/rolandfarkas/describe-your-website-once-make-it-usable-by-any-ai-2n37", "published_at": "2026-07-12 15:12:15+00:00", "updated_at": "2026-07-12 15:15:25.387612+00:00", "lang": "en", "topics": ["developer-tools", "artificial-intelligence", "ai-infrastructure"], "entities": ["AI2Web", "MCP", "ACP", "GraphQL", "OpenAPI"], "alternates": {"html": "https://wpnews.pro/news/describe-your-website-once-make-it-usable-by-any-ai", "markdown": "https://wpnews.pro/news/describe-your-website-once-make-it-usable-by-any-ai.md", "text": "https://wpnews.pro/news/describe-your-website-once-make-it-usable-by-any-ai.txt", "jsonld": "https://wpnews.pro/news/describe-your-website-once-make-it-usable-by-any-ai.jsonld"}}