Silvret
Votre présence en ligneCe que ça faitMétiersTarifsGuidesQuestions
Accueil › La preuve : un rendez-vous posé par une machine

La preuve : un rendez-vous posé par une machine

Dernière mise à jour : 9 septembre 2026

Le mercredi 9 septembre 2026 à 23:38:58 (heure de Paris), un programme extérieur s'est connecté au serveur de réservation de Garage Martin, à l'adresse https://silvret.com/api/mcp/garage-martin. Il a lu les prestations, demandé les créneaux libres, posé un rendez-vous, puis relu la confirmation auprès du serveur. L'échange a duré 1,3 seconde, sans qu'aucun humain ne décroche — ni du côté de l'appelant, ni du côté de l'établissement.

Il n'y a pas de modèle de langage dans cette séquence, et c'est volontaire : ce sont des appels au protocole, pas une conversation. C'est ce qui la rend rejouable par n'importe qui, y compris par quelqu'un qui ne nous croit pas sur parole.

Ce qu'il faut savoir avant de lire la suite

Garage Martin est notre établissement de démonstration. Silvret n'a aucun client à ce jour, et nous ne montrons pas l'agenda de quelqu'un d'autre. Ce qui est réel ici : le serveur qui a répondu est celui du site en ligne, le code qui a écrit ce rendez-vous est celui qui écrira ceux des vrais établissements, et les créneaux proposés ont été calculés sur un agenda, pas tirés d'une liste.

Le rendez-vous

Le rendez-vous posé

Révision complète

🤖 Agent de vérification
Quand
jeudi 10 septembre à 08:00
État
confirmé
Établissement
Garage Martin
Numéro du rendez-vous
61426fbc-b693-49c4-8fa3-7f25ec13bda8

Réservation gérée par Silvret, l'assistant numérique de Garage Martin. Vos données sont stockées dans l'Union européenne. (RGPD)

La séquence, étape par étape

Chaque ligne est un aller-retour réseau réel, avec son heure, sa durée et son code de réponse. L'échange brut est consultable sous chaque étape.

  1. 1.La porte est fermée sans clé

    23:38:58 · 138 ms

    Sans clé, le serveur refuse et indique où demander une autorisation. Personne ne réserve chez vous par hasard.

    POST /api/mcp/garage-martininitialize (sans jeton)HTTP 401
    Voir l'échange complet

    Envoyé

    {
      "jsonrpc": "2.0",
      "id": 0,
      "method": "initialize",
      "params": {
        "protocolVersion": "2025-06-18",
        "capabilities": {},
        "clientInfo": {
          "name": "Agent de vérification",
          "version": "1.0.0"
        }
      }
    }

    Reçu

    {
      "entetes": {
        "content-type": "application/json",
        "www-authenticate": "Bearer resource_metadata=\"https://silvret.com/.well-known/oauth-protected-resource\", scope=\"read book\"",
        "date": "Wed, 09 Sep 2026 21:38:58 GMT"
      },
      "corps": {
        "jsonrpc": "2.0",
        "id": null,
        "error": {
          "code": -32002,
          "message": "Jeton requis (Authorization: Bearer …) — clé API du patron ou jeton OAuth 2.1."
        }
      }
    }
  2. 2.Découverte publique de l'établissement

    23:38:58 · 19 ms

    Un assistant lit d'abord la fiche publique : le nom, le métier, la ville, l'adresse du point de réservation et la liste des gestes possibles.

    GET /api/agent/garage-martinHTTP 200
    Voir l'échange complet

    Reçu

    {
      "entetes": {
        "content-type": "application/json",
        "date": "Wed, 09 Sep 2026 21:38:58 GMT"
      },
      "corps": {
        "schema": "silvret-agent/1.0",
        "business": {
          "name": "Garage Martin",
          "trade": "garage",
          "city": "Rennes"
        },
        "mcp": {
          "endpoint": "https://silvret.com/api/mcp/garage-martin",
          "transport": "streamable-http",
          "auth": "bearer",
          "protocol": "2024-11-05"
        },
        "capabilities": [
          "get_business_info",
          "list_services",
          "get_availability",
          "create_booking",
          "request_quote"
        ],
        "tools": [
          {
            "name": "get_business_info",
            "description": "Informations publiques de l'établissement (nom, secteur, ville, horaires ouverts)."
          },
          {
            "name": "list_services",
            "description": "Liste des prestations réservables : nom, durée, prix, acompte."
          },
          {
            "name": "get_availability",
            "description": "Créneaux disponibles pour une prestation sur une plage donnée."
          },
          {
            "name": "create_booking",
            "description": "Réserve un créneau pour un client (nom + téléphone). Renvoie la confirmation et, si besoin, le lien d'acompte."
          },
          {
            "name": "cancel_booking",
            "description": "Annule un rendez-vous existant à partir de son identifiant."
          },
          {
            "name": "get_booking_status",
            "description": "État d'un rendez-vous (statut, créneau, acompte)."
          },
          {
            "name": "request_quote",
            "description": "Demande de devis libre (description du besoin) pour un client."
          }
        ],
        "compliance": {
          "ai_act_article_50": "Réservation gérée par Silvret, l'assistant numérique de Garage Martin.",
          "data_region": "EU",
          "gdpr": true
        },
        "llms_txt": "https://silvret.com/api/agent/garage-martin/llms.txt",
        "json_ld": {
          "@context": "https://schema.org",
          "@type": "LocalBusiness",
          "@id": "https://silvret.com/site/garage-martin#business",
          "name": "Garage Martin",
          "address": {
            "@type": "PostalAddress",
            "streetAddress": "12 rue des Ateliers",
            "addressLocality": "Rennes",
            "addressCountry": "FR"
          },
          "telephone": "+33299000000",
          "url": "https://silvret.com/site/garage-martin",
          "openingHoursSpecification": [
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "https://schema.org/Monday",
              "opens": "08:00",
              "closes": "12:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "https://schema.org/Monday",
              "opens": "14:00",
              "closes": "18:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "https://schema.org/Tuesday",
              "opens": "08:00",
              "closes": "12:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "https://schema.org/Tuesday",
              "opens": "14:00",
              "closes": "18:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "https://schema.org/Wednesday",
              "opens": "08:00",
              "closes": "12:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "https://schema.org/Wednesday",
              "opens": "14:00",
              "closes": "18:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "https://schema.org/Thursday",
              "opens": "08:00",
              "closes": "12:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "https://schema.org/Thursday",
              "opens": "14:00",
              "closes": "18:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "https://schema.org/Friday",
              "opens": "08:00",
              "closes": "12:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "https://schema.org/Friday",
              "opens": "14:00",
              "closes": "18:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "https://schema.org/Saturday",
              "opens": "09:00",
              "closes": "12:00"
            }
          ],
          "makesOffer": [
            {
              "@type": "Offer",
              "itemOffered": {
                "@type": "Service",
                "name": "Révision complète",
                "serviceType": "garage"
              },
              "price": "149",
              "priceCurrency": "EUR"
            },
            {
              "@type": "Offer",
              "itemOffered": {
                "@type": "Service",
                "name": "Vidange",
                "serviceType": "garage"
              },
              "price": "79",
              "priceCurrency": "EUR"
            },
            {
              "@type": "Offer",
              "itemOffered": {
                "@type": "Service",
                "name": "Diagnostic électronique",
                "serviceType": "garage"
              },
              "price": "90",
              "priceCurrency": "EUR"
            },
            {
              "@type": "Offer",
              "itemOffered": {
                "@type": "Service",
                "name": "Montage pneus (x4)",
                "serviceType": "garage"
              },
              "price": "220",
              "priceCurrency": "EUR"
            }
          ],
          "potentialAction": {
            "@type": "ReserveAction",
            "target": "https://silvret.com/api/mcp/garage-martin",
            "description": "Réservation par agent IA via le serveur MCP Silvret."
          }
        }
      }
    }
  3. 3.Ouverture de session

    23:38:58 · 18 ms

    L'agent se présente et se met d'accord avec le serveur sur la version du protocole. Le serveur retient son nom : c'est lui qui s'affichera sur le rendez-vous.

    POST /api/mcp/garage-martininitializeHTTP 200
    Voir l'échange complet

    Envoyé

    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "initialize",
      "params": {
        "protocolVersion": "2025-06-18",
        "capabilities": {},
        "clientInfo": {
          "name": "Agent de vérification",
          "version": "1.0.0"
        }
      }
    }

    Reçu

    {
      "entetes": {
        "content-type": "application/json",
        "mcp-session-id": "3f859b34-2ad6-41f5-9674-2b9fdb92275e",
        "mcp-protocol-version": "2025-06-18",
        "date": "Wed, 09 Sep 2026 21:38:58 GMT"
      },
      "corps": {
        "jsonrpc": "2.0",
        "id": 1,
        "result": {
          "protocolVersion": "2025-06-18",
          "capabilities": {
            "tools": {
              "listChanged": false
            }
          },
          "serverInfo": {
            "name": "silvret-mcp",
            "version": "1.1.0"
          },
          "instructions": "Serveur de réservation de Garage Martin. Utilisez list_services puis get_availability puis create_booking."
        }
      }
    }
  4. 4.Session confirmée

    23:38:58 · 18 ms

    L'agent confirme qu'il est prêt. Le serveur l'accuse sans rien renvoyer, comme le veut le protocole.

    POST /api/mcp/garage-martinnotifications/initializedHTTP 202
    Voir l'échange complet

    Envoyé

    {
      "jsonrpc": "2.0",
      "method": "notifications/initialized"
    }

    Reçu

    {
      "entetes": {
        "date": "Wed, 09 Sep 2026 21:38:58 GMT"
      },
      "corps": null
    }
  5. 5.Ce que l'établissement autorise

    23:38:58 · 14 ms

    L'agent demande la liste des gestes permis. Il ne peut rien faire d'autre que ce qui figure dans cette liste.

    POST /api/mcp/garage-martintools/listHTTP 200
    Voir l'échange complet

    Envoyé

    {
      "jsonrpc": "2.0",
      "id": 2,
      "method": "tools/list"
    }

    Reçu

    {
      "entetes": {
        "content-type": "application/json",
        "date": "Wed, 09 Sep 2026 21:38:58 GMT"
      },
      "corps": {
        "jsonrpc": "2.0",
        "id": 2,
        "result": {
          "tools": [
            {
              "name": "get_business_info",
              "description": "Informations publiques de l'établissement (nom, secteur, ville, horaires ouverts).",
              "inputSchema": {
                "type": "object",
                "properties": {},
                "required": [],
                "additionalProperties": false
              }
            },
            {
              "name": "list_services",
              "description": "Liste des prestations réservables : nom, durée, prix, acompte.",
              "inputSchema": {
                "type": "object",
                "properties": {},
                "required": [],
                "additionalProperties": false
              }
            },
            {
              "name": "get_availability",
              "description": "Créneaux disponibles pour une prestation sur une plage donnée.",
              "inputSchema": {
                "type": "object",
                "properties": {
                  "service_id": {
                    "type": "string"
                  },
                  "from": {
                    "type": "string",
                    "description": "Instant ISO 8601 (UTC ou avec offset)"
                  },
                  "to": {
                    "type": "string",
                    "description": "Instant ISO 8601 (UTC ou avec offset)"
                  },
                  "limit": {
                    "type": "number"
                  }
                },
                "required": [
                  "service_id",
                  "from",
                  "to"
                ],
                "additionalProperties": false
              }
            },
            {
              "name": "create_booking",
              "description": "Réserve un créneau pour un client (nom + téléphone). Renvoie la confirmation et, si besoin, le lien d'acompte.",
              "inputSchema": {
                "type": "object",
                "properties": {
                  "service_id": {
                    "type": "string"
                  },
                  "start": {
                    "type": "string",
                    "description": "Instant ISO 8601 (UTC ou avec offset)"
                  },
                  "customer_name": {
                    "type": "string"
                  },
                  "customer_phone": {
                    "type": "string"
                  },
                  "idempotency_key": {
                    "type": "string"
                  }
                },
                "required": [
                  "service_id",
                  "start",
                  "customer_name",
                  "customer_phone"
                ],
                "additionalProperties": false
              }
            },
            {
              "name": "cancel_booking",
              "description": "Annule un rendez-vous existant à partir de son identifiant.",
              "inputSchema": {
                "type": "object",
                "properties": {
                  "booking_id": {
                    "type": "string"
                  }
                },
                "required": [
                  "booking_id"
                ],
                "additionalProperties": false
              }
            },
            {
              "name": "get_booking_status",
              "description": "État d'un rendez-vous (statut, créneau, acompte).",
              "inputSchema": {
                "type": "object",
                "properties": {
                  "booking_id": {
                    "type": "string"
                  }
                },
                "required": [
                  "booking_id"
                ],
                "additionalProperties": false
              }
            },
            {
              "name": "request_quote",
              "description": "Demande de devis libre (description du besoin) pour un client.",
              "inputSchema": {
                "type": "object",
                "properties": {
                  "customer_name": {
                    "type": "string"
                  },
                  "customer_phone": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "required": [
                  "customer_name",
                  "customer_phone",
                  "description"
                ],
                "additionalProperties": false
              }
            }
          ]
        }
      }
    }
  6. 6.Lecture des prestations

    23:38:58 · 18 ms

    L'agent lit les prestations réservables : leur nom, leur durée, leur prix. Ce sont celles que l'établissement a saisies, pas une liste inventée.

    POST /api/mcp/garage-martintools/call list_servicesHTTP 200
    Voir l'échange complet

    Envoyé

    {
      "jsonrpc": "2.0",
      "id": 3,
      "method": "tools/call",
      "params": {
        "name": "list_services",
        "arguments": {}
      }
    }

    Reçu

    {
      "entetes": {
        "content-type": "application/json",
        "date": "Wed, 09 Sep 2026 21:38:58 GMT"
      },
      "corps": {
        "jsonrpc": "2.0",
        "id": 3,
        "result": {
          "content": [
            {
              "type": "text",
              "text": "• Révision complète — 60 min, 149 €\n• Vidange — 30 min, 79 €\n• Diagnostic électronique — 45 min, 90 €\n• Montage pneus (x4) — 45 min, 220 €"
            }
          ],
          "structuredContent": {
            "services": [
              {
                "id": "053f2dea-472c-4662-9bb9-806c89a230f6",
                "name": "Révision complète",
                "duration_min": 60,
                "price_eur": 149,
                "deposit_pct": 30
              },
              {
                "id": "a181df87-9b9d-46ff-aaa1-c25af75d916a",
                "name": "Vidange",
                "duration_min": 30,
                "price_eur": 79,
                "deposit_pct": 0
              },
              {
                "id": "efaf4bb8-ef98-43ee-be5a-366b1830d67f",
                "name": "Diagnostic électronique",
                "duration_min": 45,
                "price_eur": 90,
                "deposit_pct": 0
              },
              {
                "id": "13307f96-1279-4a5b-a8c7-26db1c16cc36",
                "name": "Montage pneus (x4)",
                "duration_min": 45,
                "price_eur": 220,
                "deposit_pct": 30
              }
            ],
            "notice": "Réservation gérée par Silvret, l'assistant numérique de Garage Martin. Vos données sont stockées dans l'Union européenne. (RGPD)"
          },
          "isError": false
        }
      }
    }
  7. 7.Demande des créneaux libres

    23:38:58 · 28 ms

    L'agent demande les créneaux disponibles pour « Révision complète » sur les dix prochains jours. Le serveur répond depuis l'agenda réel, horaires d'ouverture et rendez-vous déjà posés compris.

    POST /api/mcp/garage-martintools/call get_availabilityHTTP 200
    Voir l'échange complet

    Envoyé

    {
      "jsonrpc": "2.0",
      "id": 4,
      "method": "tools/call",
      "params": {
        "name": "get_availability",
        "arguments": {
          "service_id": "053f2dea-472c-4662-9bb9-806c89a230f6",
          "from": "2026-09-09T21:38:58.669Z",
          "to": "2026-09-19T21:38:58.669Z",
          "limit": 3
        }
      }
    }

    Reçu

    {
      "entetes": {
        "content-type": "application/json",
        "date": "Wed, 09 Sep 2026 21:38:58 GMT"
      },
      "corps": {
        "jsonrpc": "2.0",
        "id": 4,
        "result": {
          "content": [
            {
              "type": "text",
              "text": "3 créneaux pour « Révision complète ». Premier : jeudi 10 septembre à 08:00."
            }
          ],
          "structuredContent": {
            "service": "Révision complète",
            "slots": [
              {
                "start": "2026-09-10T06:00:00.000Z",
                "end": "2026-09-10T07:15:00.000Z",
                "label": "jeudi 10 septembre à 08:00"
              },
              {
                "start": "2026-09-10T07:00:00.000Z",
                "end": "2026-09-10T08:15:00.000Z",
                "label": "jeudi 10 septembre à 09:00"
              },
              {
                "start": "2026-09-10T08:00:00.000Z",
                "end": "2026-09-10T09:15:00.000Z",
                "label": "jeudi 10 septembre à 10:00"
              }
            ],
            "notice": "Réservation gérée par Silvret, l'assistant numérique de Garage Martin. Vos données sont stockées dans l'Union européenne. (RGPD)"
          },
          "isError": false
        }
      }
    }
  8. 8.Réservation

    23:38:58 · 704 ms

    L'agent réserve le créneau du jeudi 10 septembre à 08:00 au nom de son client. Aucun humain n'intervient, ni du côté de l'appelant, ni du côté de l'établissement.

    POST /api/mcp/garage-martintools/call create_bookingHTTP 200
    Voir l'échange complet

    Envoyé

    {
      "jsonrpc": "2.0",
      "id": 5,
      "method": "tools/call",
      "params": {
        "name": "create_booking",
        "arguments": {
          "service_id": "053f2dea-472c-4662-9bb9-806c89a230f6",
          "start": "2026-09-10T06:00:00.000Z",
          "customer_name": "Client de démonstration",
          "customer_phone": "+33639980000",
          "idempotency_key": "preuve-2026-09-09T21:38:58.438Z"
        }
      }
    }

    Reçu

    {
      "entetes": {
        "content-type": "application/json",
        "date": "Wed, 09 Sep 2026 21:38:59 GMT"
      },
      "corps": {
        "jsonrpc": "2.0",
        "id": 5,
        "result": {
          "content": [
            {
              "type": "text",
              "text": "Rendez-vous confirmé le jeudi 10 septembre à 08:00 pour « Révision complète ». Acompte de 45 € : https://silvret.com/pay/demo?ref=61426fbc-b693-49c4-8fa3-7f25ec13bda8&amount=45 Réservation gérée par Silvret, l'assistant numérique de Garage Martin. Vos données sont stockées dans l'Union européenne. (RGPD)"
            }
          ],
          "structuredContent": {
            "booking_id": "61426fbc-b693-49c4-8fa3-7f25ec13bda8",
            "status": "confirmed",
            "service": "Révision complète",
            "when": "jeudi 10 septembre à 08:00",
            "deposit_link": "https://silvret.com/pay/demo?ref=61426fbc-b693-49c4-8fa3-7f25ec13bda8&amount=45",
            "deposit_amount_eur": 45,
            "deposit_is_demo": true,
            "reused": false,
            "notice": "Réservation gérée par Silvret, l'assistant numérique de Garage Martin. Vos données sont stockées dans l'Union européenne. (RGPD)"
          },
          "isError": false
        }
      }
    }
  9. 9.Confirmation relue au serveur

    23:38:59 · 12 ms

    L'agent redemande l'état du rendez-vous. La confirmation ne vient pas de lui : elle vient de l'agenda qui vient d'être écrit.

    POST /api/mcp/garage-martintools/call get_booking_statusHTTP 200
    Voir l'échange complet

    Envoyé

    {
      "jsonrpc": "2.0",
      "id": 6,
      "method": "tools/call",
      "params": {
        "name": "get_booking_status",
        "arguments": {
          "booking_id": "61426fbc-b693-49c4-8fa3-7f25ec13bda8"
        }
      }
    }

    Reçu

    {
      "entetes": {
        "content-type": "application/json",
        "date": "Wed, 09 Sep 2026 21:38:59 GMT"
      },
      "corps": {
        "jsonrpc": "2.0",
        "id": 6,
        "result": {
          "content": [
            {
              "type": "text",
              "text": "« Révision complète » — confirmed, jeudi 10 septembre à 08:00, acompte en attente."
            }
          ],
          "structuredContent": {
            "id": "61426fbc-b693-49c4-8fa3-7f25ec13bda8",
            "status": "confirmed",
            "service": "Révision complète",
            "when": "jeudi 10 septembre à 08:00",
            "deposit": "en attente",
            "notice": "Réservation gérée par Silvret, l'assistant numérique de Garage Martin. Vos données sont stockées dans l'Union européenne. (RGPD)"
          },
          "isError": false
        }
      }
    }

Ce que l'établissement a enregistré de son côté

Une preuve qui repose sur la seule parole de l'agent n'en est pas une. Le passage ci-dessus n'a pas pu relire le journal, et nous n'annoncerons pas de date à laquelle il le pourra : Journal non consulté sur ce passage : sa relecture demande les identifiants d'administration de l'établissement. Un journal appartient à l'établissement qui l'a rempli. Nous ne l'ouvrirons pas au public pour faire une plus belle page.

Ce qui suit est donc un second passage, joué le même jour avec ces identifiants-là, sur la version en préparation. Ce n'est pas le même rendez-vous que celui d'en haut, et nous ne mélangeons pas les deux : voici d'abord celui-là.

Le rendez-vous posé

Révision complète

🤖 Agent de vérification
Quand
jeudi 10 septembre à 08:00
État
confirmé
Établissement
Garage Martin
Numéro du rendez-vous
d3668a00-eb3e-4954-822b-386574f0a8b9

Réservation gérée par Silvret, l'assistant numérique de Garage Martin. Vos données sont stockées dans l'Union européenne. (RGPD)

Et voici ce que l'établissement en a inscrit de son côté. Ces 5 lignes portent les mêmes gestes, à la seconde près, au nom du même agent, avec le numéro de ce rendez-vous — celui qui figure juste au-dessus.

  • 19:39:05mcp.tool_callget_booking_statuskey:silvret_mcp_demo-gau nom de « Agent de vérification »
  • 19:39:05mcp.tool_callcreate_bookingkey:silvret_mcp_demo-gau nom de « Agent de vérification »
  • 19:39:05booking.createdd3668a00-eb3e-4954-822b-386574f0a8b9key:silvret_mcp_demo-gau nom de « Agent de vérification »
  • 19:39:05mcp.tool_callget_availabilitykey:silvret_mcp_demo-gau nom de « Agent de vérification »
  • 19:39:05mcp.tool_calllist_serviceskey:silvret_mcp_demo-gau nom de « Agent de vérification »

Ce que cette page prouve

  • Une machine peut lire vos prestations et vos créneaux, et poser un rendez-vous, seule.
  • La porte est fermée : sans clé, le serveur refuse et indique où demander une autorisation (étape 1). Personne ne réserve chez vous par hasard.
  • Un agent ne peut faire que ce que l'établissement autorise : la liste des gestes est fermée et se lit avant toute action (étape 5).
  • Chaque geste est inscrit au journal, au nom de l'agent qui l'a fait.
  • Ce n'est pas seulement notre programme qui parle à notre serveur : @modelcontextprotocol/sdk (client officiel du protocole) s'est connecté à la même adresse, a lu les mêmes 7 outils et en a appelé un — list_services, qui lui a renvoyé les 4 prestations de l'établissement — sans une ligne de notre code.

Ce qu'elle ne prouve pas

  • Que Silvret répond au téléphone. La voix est en simulation : aujourd'hui, personne ne décroche votre ligne. C'est un autre chantier, et il n'est pas fini.
  • Qu'un client vous a trouvé grâce à un assistant. Aucun rendez-vous de ce genre n'a encore été posé dans l'agenda d'un professionnel abonné, pour une raison simple : il n'y en a pas encore.
  • Que votre assistant préféré sait s'y connecter aujourd'hui. Voir le paragraphe suivant.
  • Que votre client reçoit un SMS. L'opérateur téléphonique n'est pas branché : le message de confirmation est préparé et inscrit au journal, pas envoyé. Le lien d'acompte est lui aussi un lien de démonstration, et il le dit dans la réponse. Le rendez-vous, en revanche, est bien écrit dans l'agenda.
  • Que ça marche depuis n'importe quel réseau. Le passage a été joué par l'adresse publique du site, en HTTPS, mais depuis la machine qui l'héberge. Il reste à le rejouer depuis un autre réseau.

Quels assistants savent s'y connecter aujourd'hui

Nous n'écrivons ici que ce que nous avons fait passer nous-mêmes, avec la date. Vérifié le mercredi 9 septembre 2026, sur l'adresse publique du site : la bibliothèque de référence du protocole, et le programme dont la trace figure ci-dessus. Les deux se connectent, lisent les prestations et réservent.

Non vérifié : les assistants du grand public. Chacun ouvre ses connecteurs à son rythme, sous ses propres conditions, et les change souvent. Nous ne mettrons le nom d'aucun d'entre eux sur cette page tant que nous ne l'aurons pas branché nous-mêmes sur un établissement réel. La promesse que nous tenons est celle-ci, et pas une autre : votre entreprise devient lisible et réservable par les assistants IA. Nous ne promettons pas qu'un assistant vous recommandera — ce n'est pas nous qui en décidons.

Ce qu'il faut de votre côté

  • Vos prestations avec leur durée et leur prix, et vos horaires d'ouverture. C'est ce que l'agent lit.
  • Une clé d'accès, créée à l'installation, révocable en un geste depuis vos réglages.
  • Rien d'autre : ni site internet, ni matériel, ni intervention de votre part une fois la clé posée.

Et une limite qu'il vaut mieux entendre de nous : tant qu'aucun assistant grand public ne s'y connecte, cette porte est une longueur d'avance, pas un canal de clients. C'est pourquoi elle est comprise dans l'abonnement et ne se facture pas à part.

Si vous voulez le refaire vous-même

Rien à demander à personne, rien à installer. L'adresse est https://silvret.com/api/mcp/garage-martin et la clé de l'établissement de démonstration est silvret_mcp_demo-garage-martin — nous l'écrivons en entier ici : le journal plus haut en montre déjà le début, et elle n'ouvre que ce garage-là, parce que le serveur vérifie que la clé et l'adresse désignent le même établissement. Collez ceci dans un terminal :

curl -s https://silvret.com/api/mcp/garage-martin \
  -H "Authorization: Bearer silvret_mcp_demo-garage-martin" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_services","arguments":{}}}'

Le serveur vous répond les prestations du garage, celles-là mêmes que l'agent a lues à l'étape 6. Retirez la ligne Authorization et il répond 401 en indiquant où demander une autorisation : c'est l'étape 1, telle quelle. Pour la séquence entière — les 7 outils, les créneaux, la réservation — n'importe quel client du protocole fait l'affaire ; npx @modelcontextprotocol/inspector, en transport « Streamable HTTP » sur la même adresse avec le même en-tête, les ouvre tous en un clic. C'est exactement ce qu'a fait @modelcontextprotocol/sdk (client officiel du protocole) pour le contrôle cité plus haut.

Ce qui restera à notre parole, et nous préférons l'écrire que le laisser découvrir : le journal plus haut. Le côté agent, vous le rejouez autant de fois que vous voulez ; le côté établissement, non.

Le détail des limites, des prérequis et de la manière dont les données sont traitées figure sur notre page de conformité.

Et si vous cherchez à comprendre le sujet plutôt qu'à contrôler ce passage — ce que « réservable » veut dire au juste, ce qu'il faut de votre côté, ce que ça rapporte aujourd'hui et ce qui reste théorique —, tout est écrit ici : rendre son entreprise réservable par les assistants IA.

Silvret

L'employé numérique des TPE françaises. Il répond, prend les rendez-vous et vous rend trouvable — installé à la main par l'équipe, sans matériel, des résultats suivis chaque semaine.

Conçu conforme AI Act & RGPD · Données stockées dans l'Union européenne

Silvret par métier

Garages & carrosserieArtisans & BTPPlomberie & chauffageÉlectricitéCoiffure & beautéRestaurationSport & bien-êtreBien-être & thérapies doucesVétérinairesCommerces & boutiquesProfessions libéralesImmobilier

Produit

Le conceptCe que ça faitRéservable par les IALa preuve, en détailTarifsAudit des appels manquésQuestions fréquentesVotre présence en ligneEssayer la démo

Guides

Devenir réservable par les IALe coût d'un appel manquéLe standard téléphonique IA expliquéAI Act : vos obligationsTous les guides

Société

Nous contacterEspace clientMentions légalesConfidentialité & RGPDConditions généralesConformité IA & RGPDPlaquette PDFhello@silvret.comELEKO SARL60 rue François Ier, 75008 Paris
© 2026 Silvret — ELEKO SARL · SIREN 991 589 110 · TVA FR54 991 589 110Instagram @silvret_comFait en France 🇫🇷