Le 16/09/2026, Google a mis Home MCP en Early Access. La page développeur officielle a été mise à jour le 21/09/2026. Ce texte est du 28/09/2026. On lit la page MCP de Home Developers et le reportage TechCrunch du jour. Conclusion à figer : ChatGPT et Claude n'ont pas chacun leur JSON maison connectée. Tous deux sont des MCP Host. Avant que la lumière bouge, les arguments de run_home_actions doivent d'abord passer le Schema. Comment séparer MCP et Agents API : Agents API vs MCP.
L'utilisateur dit à Claude « mets la lumière du salon à 80 ». Le Host n'envoie pas cette phrase à l'ampoule. Il fait d'abord choisir un outil MCP au modèle, puis envoie un tools/call. Le serveur Google reconnaît le nom d'outil et l'objet de paramètres. Une clé inconnue, un device id inventé, une luminosité écrite "八十" : rien de tout ça ne doit devenir une action physique. Pourquoi la couche contrat reste un objet : Pourquoi l'IA aime JSON.
Ce que Google a vraiment ouvert
Au 28/09/2026, les matériaux publics se coupent en deux MCP. Ne les mélangez pas :
- Home MCP : relie la vraie maison. Early Access. Il faut Google Home Premium Advanced, un projet Cloud, Home API activé, OAuth. Clients officiellement cités : Antigravity, Claude Cowork, OpenClaw. Le communiqué a aussi mentionné ChatGPT et Hermes. Le point d'entrée est
https://home.googleapis.com/mcp. - Home Developer MCP : doc, spécifications Matter, exemples Home API. Pour ceux qui écrivent une intégration, pas pour éteindre la lumière chez vous. Cet article ne le traite pas.
Le product manager Taylor Lehman, en substance : tout Agent qui parle MCP peut utiliser en sécurité les appareils et l'historique d'événements de Google Home. Les capacités incluent rejouer plusieurs caméras, compter les cycles du lave-linge via l'historique d'état, pousser une phrase vocale vers une enceinte après une tâche, laisser l'Agent dessiner un tableau de bord personnalisé. Ce n'est pas un remplacement de Gemini for Home. Celui-là est l'assistant officiel de l'app Home et des enceintes Nest. MCP est le troisième bus : votre propre Agent tend la main.
Les limites sont sur la même page. États-Unis, anglais, Premium Advanced (environ 20 dollars/mois ou 200 dollars/an), déploiement sur quelques semaines à partir du 16 septembre. L'officiel le sait : des utilisateurs Nest Aware Plus peuvent être admis par erreur ; le correctif est en cours. Création et gestion d'automatisations « bientôt », pas maintenant. Reconnaître un visage passe par un autre lien de consentement ; l'OAuth ordinaire ne l'ouvre pas au passage. Comment Antigravity branche MCP : la mise à jour Antigravity de septembre.
En une phrase. Google a ouvert un MCP Server distant. Pas un plugin ChatGPT, pas une compétence exclusive Claude. Changez le Host, les cinq noms d'outils restent.
Câblage : URL, SSE, OAuth
L'onboarding officiel fige l'adresse de production :
{
"mcpServers": {
"home_mcp": {
"serverUrl": "https://home.googleapis.com/mcp",
"oauth": {
"clientId": "YOUR_CLIENT_ID",
"clientSecret": "YOUR_CLIENT_SECRET"
}
}
}
}
Dans le prompt « laisser l'assistant configurer tout seul » de la même page, apparaît https://preprod-home.sandbox.googleapis.com/mcp, transport sse, scope https://www.googleapis.com/auth/home.platform.v2. Pour recetter une connexion de production, fiez-vous à home.googleapis.com/mcp. N'écrivez pas l'URL sandbox dans la doc utilisateur.
OAuth n'est pas optionnel. Dans la console Cloud, créez un client Web application et renseignez le callback du Host :
- Antigravity :
https://antigravity.google/oauth-callback - Claude Cowork :
https://claude.ai/api/mcp/auth_callback - OpenClaw : l'URI de redirection fournie par l'install local
L'application doit être Publish. Dans le navigateur : choisir la structure, autoriser, renvoyer le code au Host. Les droits se révoquent à tout moment dans l'app Google Home ou My Accounts. Ce paragraphe n'a rien à voir avec « les paramètres sont-ils légaux ». Sans token, les cinq outils n'apparaissent pas. Avec un token, de mauvais arguments peuvent encore sortir — c'est la section suivante.
Cinq outils, pas un interrupteur universel
Le tableau officiel des capacités ne liste que cinq noms. La page d'onboarding n'affiche pas l'inputSchema complet. Sur le terrain, demandez d'abord tools/list au serveur ; c'est ce JSON Schema qui fait foi. Les noms suffisent déjà à casser l'« outil home universel » :
list_homes: structures et maisons visibles pour le compte courant.list_home_resources: pièces, appareils, traits, attributs et command schema.list_home_states: présence en ligne et état des traits en temps réel.run_home_actions: exécuter une action paramétrée sur l'appareil cible. C'est le seul point d'entrée qui change l'état physique.list_home_history: consulter les changements d'état et les événements sur une plage de dates.
Les prompts de recette officiels suivent aussi ces cinq couches : « combien de lumières à la maison », « la maison est-elle verrouillée », « éteins les lumières dehors », « que s'est-il passé pendant mon absence ». Le modèle ne doit pas sauter list_home_resources pour inventer un device id. Cet appel-là, le Schema doit le passer au rouge. De quel côté MCP se place dans la table d'outils : Agents API vs MCP.
Les arguments avant d'éteindre
Le Host envoie du JSON-RPC MCP standard. Les noms sont ceux que votre client voit vraiment ; la forme, on peut d'abord la clouer ainsi pour recetter :
{
"jsonrpc": "2.0",
"id": 17,
"method": "tools/call",
"params": {
"name": "run_home_actions",
"arguments": {
"structure_id": "home_12a4",
"actions": [
{
"device_id": "light.living_room",
"command": "Brightness",
"params": {
"brightness": 80
}
}
]
}
}
}
Cet objet a l'air de pouvoir éteindre. Il peut encore viser la mauvaise maison, un appareil déjà supprimé, ou un command que la plateforme n'exécutera pas. Figez d'abord le contrat, ensuite seulement laissez le modèle remplir les nombres :
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"required": ["structure_id", "actions"],
"properties": {
"structure_id": { "type": "string", "minLength": 1 },
"actions": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["device_id", "command", "params"],
"properties": {
"device_id": { "type": "string", "pattern": "^(light|thermostat|camera|lock|speaker)\\.[a-z0-9_]+$" },
"command": { "type": "string", "enum": ["OnOff", "Brightness", "ThermostatTemperatureSetpoint"] },
"params": { "type": "object" }
}
}
}
}
}
Le pattern de device_id et l'enum de command se génèrent depuis la liste renvoyée à ce moment par list_home_resources. N'écrivez pas à la main « toutes les lumières du monde ». Figez d'abord les formes qui doivent échouer :
{
"ok_shape": {
"structure_id": "home_12a4",
"actions": [
{ "device_id": "light.living_room", "command": "Brightness", "params": { "brightness": 80 } }
]
},
"wrong_type": {
"structure_id": "home_12a4",
"actions": [
{ "device_id": "light.living_room", "command": "Brightness", "params": { "brightness": "八十" } }
]
},
"invented_id": {
"structure_id": "home_12a4",
"actions": [
{ "device_id": "light.kitchen_that_does_not_exist", "command": "OnOff", "params": { "on": true } }
]
},
"extra_field": {
"structure_id": "home_12a4",
"actions": [
{ "device_id": "lock.front_door", "command": "OnOff", "params": { "on": false }, "extra_cmd": "Unlock" }
]
}
}
Seul ok_shape sort. "八十", invented_id, extra_cmd doivent être refusés au Schema local. Que l'officiel interdise le déverrouillage ne veut pas dire que le Host peut laisser passer un objet qui glisse un Unlock. Faux noms d'outils et paramètres hors périmètre sont le même risque : MCP malveillant / Fake Skills. Comment la couche intention juge si une action déjà légale doit vraiment avoir lieu : Zero-Trust Agent.
Ce qui change entre ChatGPT, Claude et Antigravity
La différence est le Host, pas la table d'outils.
- Claude Cowork : l'officiel donne les étapes. Dans Connectors, ajouter un connecteur personnalisé, URL
https://home.googleapis.com/mcp, Advanced settings : Client ID / Secret, terminer l'OAuth dans le navigateur, ouvrirhome_mcpdans le chat. - Antigravity : coller le bloc
mcpServersci-dessus dans MCP Config, puis terminer Authentication dans les réglages et choisir la structure. - ChatGPT : TechCrunch range ChatGPT parmi les « Agents qui parlent MCP ». Au 21/09/2026, la page setup de Google n'a pas d'URI de callback ChatGPT, ni de « cliquez ici dans GPT ». La condition : ce produit ChatGPT sait déjà accrocher un MCP distant personnalisé, et vous pouvez renseigner la même URL de production et le même client OAuth. Une fois branché, le modèle voit encore ces cinq outils, pas une API home privée ChatGPT.
Donc la réponse à « comment ChatGPT et Claude contrôlent la maison connectée via MCP + JSON » est courte : tous deux jouent MCP Host. L'utilisateur autorise une fois le compte Google. Ensuite, chaque « éteins » est un tools/call + run_home_actions. N'écrivez pas un dialecte d'arguments par Host. Remplissez une redirect URI par Host.
Reconnaître un visage est une autre porte. Administrateur de structure, Premium, Familiar face detection activé sur chaque caméra compatible, puis le lien de consentement avec features=1. L'Agent peut assembler le lien. Il ne peut pas cliquer « j'accepte » à votre place.
La plateforme bloque le déverrouillage, pas extra_cmd
Le Warning officiel est direct : une fois la vraie maison branchée, l'Agent commandera les appareils pour vous. Home MCP a une limite de débit et interdit les actions sensibles du type déverrouillage. La même phrase enchaîne : selon votre Agent, un comportement inattendu, voire non souhaité, reste possible. S'il y a d'autres personnes à la maison, prévenez-les ; ou construisez une structure de développement à part.
Ne lisez pas ces trois phrases comme « Google a déjà validé mon JSON ». La plateforme bloque une classe de command sensibles. Elle ne garantit pas :
- que
brightnessest un nombre et non"八十" - que
device_idfigure vraiment dans lelist_home_resourcesd'à l'instant - qu'il n'y a pas de
extra_cmddans les arguments - que le modèle n'a pas frappé huit fois la même lumière
Les traits expérimentaux peuvent mal marcher, la latence parfois trop haute : l'officiel les liste lui-même dans Known Issues. Rien de tout ça n'est une raison de « sauter le Schema ». L'article zéro confiance juge l'intention ; le seuil de celui-ci est plus bas : mauvaise forme, l'action ne part pas. Les deux couches sont nécessaires : chaque Tool Call a encore besoin d'une validation.
Recetter dans la Boîte à outils JSON
- Collez
ok_shapeet les trois objets qui doivent échouer dans le formatage JSON, confirmez que ça parse. - Avec JSON → Schema, générez le contrat depuis un vrai
tools/list, puis ajoutezenum,pattern,additionalProperties. - Les mêmes champs via MCP Tool ; s'ils doivent aussi servir une fonction locale, enveloppez encore dans Function Calling.
- Jetez
"八十",invented_id,extra_cmddans la validation Schema, confirmez le refus. La phrase finale de l'Agent à l'utilisateur — « lumière réglée à 80 » — si elle aussi doit être recettée, passe par Structured Output : Home MCP tient la main tendue de l'outil, pas le contrat de réponse finale.
Tout se traite dans le navigateur, rien n'est envoyé. D'abord un objet capable de refuser de mauvais arguments, ensuite seulement branchez Claude ou ChatGPT sur home.googleapis.com/mcp.
FAQ
ChatGPT et Claude utilisent-ils deux JSON différents pour commander une lumière ?
Non. Le même tools/list et le même tools/call. La différence est le callback OAuth et l'interface connecteur.
Où est le Schema complet des cinq outils officiels ?
L'onboarding ne pointe que les noms. Fiez-vous au tools/list que le client reçoit, puis clouez vous-même device / command / type nombre.
Home MCP va-t-il refuser les mauvais paramètres à ma place ?
Il bloque le déverrouillage et le débit. Mauvais types, id inventés, clés en trop : c'est encore votre Schema.
Home MCP et Home Developer MCP, c'est la même chose ?
Non. Le premier relie la vraie maison, le second consulte la doc. Cet article ne traite que le premier.
Peut-on déjà créer des automatisations avec Home MCP ?
Non. Le 21/09/2026 le dit clairement : pas encore pris en charge. Aujourd'hui : lister, lire, exécuter, consulter l'historique.
En résumé
Google a branché la maison sur un MCP distant. Claude a déjà les étapes de connecteur officielles. ChatGPT est cité dans le communiqué ; la page setup n'a pas encore de colonne à part. Ni l'un ni l'autre n'obtient un JSON maison connectée privé. Ce que le développeur doit tenir : les cinq noms dans tools/call, surtout les arguments de run_home_actions. La plateforme bloquera le déverrouillage. Elle ne refusera pas "八十" ni extra_cmd à votre place. La suite n'est pas d'abord un prompt plus long du type « éteins avec prudence ». C'est d'abord de faire passer au rouge, en local, le device id inventé.