Standard ouvert
Agent Busymate AI Ready v1
Une IA peut-elle vous trouver, vous comprendre, vous faire confiance et faire un travail utile avec vous ? C'est la question fondamentale. Ce standard y répond avec un seul chiffre et affiche le reçu derrière chaque point.
Version 1.0 — six sections, dix exigences, cent points.
01Architecture
Cinq couches et une carte qui les relie
Un agent rencontre un site web par couches, chacune répondant à une question différente. agents.json est la seule carte au sommet qui les pointe toutes, donc rien n'a besoin d'être deviné.
Contenu
La page elle-même — rédigée une fois, servie en HTML à un lecteur et en Markdown à une machine.
Découverte
Des panneaux indicateurs qui disent par où commencer : un plan du site, un llms.txt, des en-têtes qui pointent vers les deux.
Sémantique
Du sens attaché aux faits — JSON-LD dans la page, frontmatter sur le Markdown.
Actions
Ce qui peut être fait ici et maintenant, dans le navigateur que le visiteur a déjà ouvert : outils de page WebMCP.
Capacités distantes
Ce que le service peut être invité à faire de n'importe où : un point de terminaison MCP derrière OAuth.
agents.json
La carte de capacités : ce que vous publiez, quelles interfaces vous exposez, comment se connecter et qui contacter.
02Notation
Six sections partagent cent points
Chaque couche est notée comme la section qu'un lecteur reconnaît. Dans une section, le critère porte l'essentiel du poids et les diagnostics de soutien en portent le reste.
| Couche | Section | Ce qu'il demande | Points |
|---|---|---|---|
| Découverte | Découvrir | Un agent IA peut-il trouver votre contenu ? | 15 |
| Sémantique | Comprendre | Un agent comprend-il votre métier correctement ? | 15 |
| Contenu | Lire | Un agent peut-il consommer votre contenu efficacement ? | 20 |
| Actions | Agir | Un agent peut-il effectuer des actions sur votre site ? | 20 |
| Capacités distantes | Connecter | Les agents externes peuvent-ils appeler vos systèmes ? | 20 |
| Sécurité | Confiance | Un agent peut-il s'authentifier, confirmer les actions et joindre un humain ? | 10 |
| Total | 100 | ||
La dernière ligne note une préoccupation que le chiffre ci-dessus ne met pas en évidence : qui est autorisé à agir, et comment un visiteur contacte une personne quand personne ne devrait.
Un critère qui ne s'applique pas à vous reste hors du calcul plutôt que de vous compter contre — la découverte de connexion n'est pas requise pour un service où tous les outils sont déjà accessibles à tous.
8 des 35 critères sont des conventions sur lesquelles personne n'a encore eu d'accord. Ils ne valent rien de part ou d'autre : signalés s'ils sont trouvés, jamais une pénalité s'ils sont absents.
03Exigences
Les dix que doit respecter un site
Dix clauses décident si un site est prêt. Tout ce que le scan signale d'autre est un diagnostic — utile, fondé en preuve, et jamais la ligne entre prêt et non.
Contenu
- R1
- Le contenu important est présent dans le HTML initial.
- R2
- Les pages peuvent exposer une représentation Markdown d'elles-mêmes.
Découverte
- R3
- Le site publie un plan du site.
- R4
- Le site publie un llms.txt.
- R5
- Le site publie un manifeste de capacités lisible par machine.
Sémantique
- R6
- Les pages déclarent leur langue et leur URL canonique.
- R7
- Le site publie des métadonnées structurées sur son activité ou ses produits.
Actions
- R8
- Les actions web sont déclarées quand la page en propose.
- R9
- Les outils d'agent backend ou une API sont déclarés quand le service en propose.
Sécurité
- R10
- L'authentification, l'autorisation et la transmission à un agent humain sont explicites.
La clause neuf accepte toute réponse honnête — un point de terminaison MCP en direct, un document OpenAPI, un schéma GraphQL, ou une interface nommée dans la fiche de capacité. En avoir un est ce qui compte, pas lequel.
La dernière clause est prouvée deux fois : une personne à qui un agent peut transmettre un visiteur, et une posture explicite sur qui peut faire quoi.
04Une adresse
Le même lien, sous la forme que le demandeur lit
Un lecteur ouvre une page et obtient la page. Une machine demande du texte brut avec un en-tête de requête et obtient du texte brut. Rien ne se divise en un deuxième site.
Demandez, et Markdown revient
Une demande portant Accept: text/markdown répond 200 avec Content-Type: text/markdown; charset=utf-8. Toute autre demande est servie le HTML, inchangé.
Vary: Accept, à chaque fois
La réponse nomme l'en-tête de requête qui l'a façonnée, donc tout ce qui se met en cache entre conserve les deux formes séparées au lieu de servir l'une aux deux.
Frontmatter qui le suit
Le Markdown s'ouvre avec son adresse canonique, la date à laquelle il a été modifié en dernier et la langue dans laquelle il est écrit — connus avant qu'un mot du corps soit lu.
En-têtes de lien qui pointent
Un en-tête décrit le site par llms.txt, un propose agents.json comme alternative, et un propose l'alternative Markdown de la page elle-même ; l'en-tête HTML répète celui-ci. Ensemble, ils distinguent un fichier qui existe par hasard d'un site conçu pour être lu.
GET /pricing HTTP/1.1
Host: yourwebsite.com
Accept: text/markdown
HTTP/1.1 200 OK
Content-Type: text/markdown; charset=utf-8
Vary: Accept
Link: </llms.txt>; rel="describedby"; type="text/plain"
Link: </agents.json>; rel="alternate"; type="application/json"
Link: </pricing/md>; rel="alternate"; type="text/markdown"
---
title: Pricing
description: What each plan includes and what it costs.
canonical: https://yourwebsite.com/pricing
updated: 2026-09-15
language: en
---
# PricingIl n'y a pas d'URLs IA ici. Un suffixe /md peut se trouver derrière la page comme secours silencieux pour un client qui ne peut pas négocier, mais il n'est jamais annoncé et jamais canonique — ce qu'une personne partage est ce qu'un agent récupère.
05Preuves
Chaque verdict porte son reçu
Un score sans rien derrière est un avis. Chaque vérification garde trois lignes : l'appel qu'elle a fait, la réponse que ce document attend, et la réponse qu'il a réellement obtenue.
check: markdown_representation
request: GET https://yourwebsite.com/pricing
Accept: text/markdown
expected: text/markdown with Vary: Accept
received: 200 text/html; charset=utf-8 — no Vary header
status: fail
weight: 5
earned: 0Seuls les en-têtes qui changent la réponse sont enregistrés, et les identifiants ne le sont jamais.
check: mcp_transport
endpoint: https://yourwebsite.com/mcp
transport: streamable-http
protocol:
offered: 2025-06-18
returned: 2025-03-26
negotiated: 2025-03-26
initialize: true
toolsList: true
auth:
mode: oauth
oauthMetadata: true
metadataUrl: https://yourwebsite.com/.well-known/oauth-authorization-server
pkce: [S256]
dynamicRegistration: true # optional either way
requirementsDocumentedAt: the capability manifest
tools:
listedWithoutToken: 7 # listed, not usable
authenticated: null # we never sign in to your server
withReadOnlyHint: 7
executionTested: false # so the execution check stays UNVERIFIED
status: passUne interface distante enregistre davantage : où elle se trouve, le transport qu'elle a identifié, comment elle annonce la connexion, et combien d'outils répondent sans token contre combien en ont besoin.
Un décompte authentifié se lit comme inconnu, non zéro, quand personne ne s'est connecté pour le compter.
06Verdicts
Quatre façons de conclure un contrôle
Chacun est une phrase différente adressée au propriétaire du site, donc aucun n'est arrondi dans un autre.
- RÉUSSI
Ce que la clause attendait est revenu.
- PARTIEL
Une partie est en place ; le résultat indique la moitié qui ne l'est pas.
- FACULTATIF
Une convention non établie, notée comme trouvée ou absente et sans valeur dans l'un ou l'autre sens.
- ÉCHEC
Demandé, et rien n'y était.
Impossible de vérifier n'est jamais réussi
Un refus, un délai d'attente, une redirection qui n'aboutit jamais : la sonde a conservé son poids et est listée à part. Un lecteur peut alors distinguer une fonctionnalité manquante d'une question sans réponse, et aucune lacune n'est jamais silencieusement comptabilisée comme un succès.
07Qu'est-ce qui a changé
Version 1.2
Un audit externe de l'un de nos propres rapports en direct a trouvé des endroits où le score était plus confiant que la preuve, et des endroits où il pénalisait un site pour avoir bien agi. Chaque conclusion ci-dessous est une règle qui a bougé, donc un rapport que vous avez lu avant cette version peut avoir un score différent maintenant — et c'est normal.
Trouver une capacité n'est pas avoir le droit de l'utiliser
Un catalogue d'outils qui répond sans jeton vous dit que les outils sont LISTÉS. Il ne vous dit pas qu'aucun d'eux fonctionnera pour vous, aujourd'hui. La version 1 les a fusionnés en un seul verdict et a donné la note maximale pour le premier. Ce sont maintenant quatre conclusions distinctes :
- Découverte — le point de terminaison répond, négocie une révision de protocole et énumère ses outils.
- Accès documenté — le service déclare quelles capacités nécessitent un jeton et lesquelles non.
- Découverte de connexion — les métadonnées OAuth se résolvent et annoncent PKCE où un client doit les vérifier.
- Exécution testée — un appel authentifié réussit réellement.
Seuls les trois premiers peuvent être mesurés de l'extérieur. Le quatrième reste non vérifié sur chaque rapport que ce scanner écrit : il ne détient aucune accréditation pour votre service et n'appelle jamais l'outil d'un tiers. Ces points sont rapportés à part, jamais comptés comme une réussite et jamais imputés à vous.
Un résultat, trois formes
La page, le Markdown et le JSON rendent maintenant le même objet résultat — même scan, mêmes statuts, mêmes totaux. Ils pouvaient auparavant se contredire.
Pas de score de connexion parfait
L'exécution authentifiée n'est jamais testée de l'extérieur, donc ses points restent non vérifiés pour chaque site, y compris le nôtre. Un rapport ne peut plus affirmer qu'un service est entièrement appelable sur la base de preuves qu'il ne possède pas.
Sondage sensible à la version
Le rapport enregistre ce qu'il a proposé, ce que votre serveur a répondu et la poignée de main brute. Une fonctionnalité introduite par une révision ultérieure n'est jamais retenue contre une session épinglée à une version antérieure.
Indice, pas comportement
Le nombre d'outils déclarant qu'un indice en lecture seule est rapporté sur sa propre ligne et ne marque aucun point. La question de savoir si une personne est réellement sollicitée avant une action importante nécessite un test de flux et l'indique.
Trois types d'explorateur
L'entraînement du modèle, la recherche IA et les citations, et une page qu'une personne a demandé à un assistant d'ouvrir sont trois décisions. Seules les deux dernières relèvent de la découverte. Refuser l'entraînement n'a aucun coût.
Un défaut est une politique
L'absence d'entrée permissions-policy pour les outils de page signifie que la liste blanche par défaut du brouillon s'applique — votre propre origine, personne d'autre. Cela passe. Une liste blanche explicite renforce cela.
Les bons champs par type
Une date de dernière modification est demandée aux types de contenu qui en définissent une, jamais au nœud qui dit qui vous êtes. L'identité et la fraîcheur sont évaluées séparément.
Les résultats nomment leur portée
Un résultat lu depuis une page l'indique, et les routes que l'analyse a réellement lu voyagent avec le rapport. Rien mesuré sur une page d'accueil n'est écrit comme s'il décrivait tous les écrans.
Un jumeau doit s'accorder avec lui-même
Un manifeste de capacité publié à la fois à son chemin bien connu et à son chemin racine est maintenant vérifié pour dire la même chose aux deux — pas seulement pour qu'une copie existe.
Un sitemap doit être un vrai document
Un sitemap est maintenant vérifié pour être un véritable urlset ou sitemapindex dont les liens pointent vers votre propre adresse, pas seulement pour répondre avec un 200.
Un contact relais n'exige pas d'exploration
Un lien mailto, une page de contact, des données de contact structurées ou une ligne de contact déclarée dans llms.txt comptent désormais tous pour joindre une personne — aucun d'eux n'a besoin d'avoir été raclé d'abord.
Un rapport est un score selon cette norme, version 1.2 — un diagnostic sur lequel vous pouvez agir, pas une certification ni un badge de conformité. Les règles sont publiées ici pour que vous puissiez les contester.
Voir où votre propre site se situe
Entrez une adresse pour le rapport noté et les preuves en dessous — puis demandez à votre pote ce qu'il faut corriger en premier, en langage clair.