Une API publique et un serveur MCP pour le catalogue Ex2
Les forfaits, les prix, les noms de domaine et leur disponibilité, en JSON pour votre code ou en outils pour les assistants IA : gratuits, en lecture seule, sans clé. Les clients d’Ex2 peuvent aussi y connecter leur compte.
API du catalogue
Chaque forfait avec ses prix, ses caractéristiques et son lien de commande, en CAD, EUR ou USD, en français ou en anglais./api/v1
Serveur MCP
Le même catalogue en outils pour Claude, ChatGPT, Cursor et les autres assistants, et votre propre compte une fois connecté./mcp
Disponibilité des domaines
Si un nom est libre en ce moment, avec son prix sur un an et le lien pour l’enregistrer./api/v1/domains/availability
llms.txt
Un index du site pour les modèles de langage : les pages qui comptent et où sont les données à jour./llms.txt
Connecter un assistant IA
Avec le serveur MCP (Model Context Protocol), un assistant répond avec les forfaits et les prix du jour et de vrais liens de commande, plutôt qu’avec des chiffres dont il se souvient.
Claude Code
Dans un terminal :
claude mcp add --transport http ex2 https://www.ex2.com/mcpClaude, ChatGPT et les autres applications
Ajoutez un connecteur personnalisé (un serveur MCP distant) avec cette URL, sans authentification :
https://www.ex2.com/mcpCursor, VS Code et les autres éditeurs
Dans la configuration MCP de l’éditeur, par exemple .cursor/mcp.json pour Cursor :
{
"mcpServers": {
"ex2": { "url": "https://www.ex2.com/mcp" }
}
}Les outils
Tous en lecture seule : ils ne peuvent rien commander ni modifier.
list_product_lines- Les gammes de produits (hébergement vert, WordPress, e-mail, VPS…) avec leurs pages et les identifiants de leurs forfaits.
list_plans- Les forfaits avec leurs prix par cycle de facturation, leur remise de première année et leurs caractéristiques principales ; tous ou une seule gamme.
get_plan- Un forfait avec son tableau technique complet.
compare_plans- De deux à dix forfaits côte à côte, une ligne par caractéristique.
get_domain_pricing- Les prix d’enregistrement, de transfert et de renouvellement sur un an, par extension.
check_domain- Si un nom de domaine peut être enregistré maintenant, ses prix et le lien pour le commander (ou le transférer, s’il est pris).
Streamable HTTP, sans session ni authentification. Versions du protocole : 2025-03-26, 2025-06-18, 2025-11-25, 2026-07-28.
Votre compte Ex2 dans votre assistant IA
Un second serveur MCP, pour les clients d’Ex2 : une fois connecté, votre assistant peut lire vos services, vos noms de domaine, vos factures et vos tickets de support et répondre à vos questions à leur sujet, et agir pour vous seulement là où vous l’autorisez en le connectant (les outils ci-dessous disent ce que fait chacun). Vous pouvez le déconnecter à tout moment.
Claude, ChatGPT et les autres applications
Ajoutez un connecteur personnalisé avec cette URL. La première fois, l’application ouvre la page de connexion d’Ex2 :
https://api.ex2.com/mcp/accountClaude Code
Dans un terminal, puis /mcp dans Claude Code pour vous connecter :
claude mcp add --transport http ex2-account https://api.ex2.com/mcp/accountCursor, VS Code et les autres éditeurs
Dans la configuration MCP de l’éditeur ; l’éditeur vous demande de vous connecter :
{
"mcpServers": {
"ex2-account": { "url": "https://api.ex2.com/mcp/account" }
}
}Les outils de votre compte
En plus des outils du catalogue ci-dessus. Les cinq premiers lisent votre compte, et les devis ne changent rien. Ceux qui commandent, renouvellent, changent de forfait ou résilient ne fonctionnent que si vous avez autorisé les actions de facturation en vous connectant, et ceux qui changent les serveurs de noms, le verrou ou le registraire d’un domaine seulement si vous avez autorisé les actions sur les domaines. Une commande, un renouvellement ou un changement de forfait crée une facture que vous réglez comme d’habitude. Aucun ne peut payer, voir vos moyens de paiement ni obtenir le code de transfert d’un domaine.
get_my_account- Votre compte client : nom, entreprise, adresse e-mail, pays, devise et solde de crédit.
list_my_services- Vos forfaits d’hébergement et vos autres services : état, cycle de facturation, prochaine échéance et prix, avec le lien pour gérer chacun.
list_my_domains- Vos noms de domaine : état, date d’expiration, prix de renouvellement et renouvellement automatique ou non.
list_my_invoices- Vos factures, les impayées par défaut (ou les payées, ou toutes), les plus récentes d’abord : numéro, dates, total, retard éventuel et lien pour la payer.
list_my_tickets- Vos tickets de support : sujet, service, état et date de la dernière réponse. Jamais les messages eux-mêmes.
quote_domain_order- Si un nom de domaine peut être enregistré ou transféré, son prix, les règles du registre (.ca, .fr) et les conditions à accepter. Ne change rien.
order_domain- Commande un nom de domaine, enregistrement ou transfert entrant : une commande et sa facture, une fois le prix et les conditions acceptés.
quote_plan_order- Le prix d’un forfait pour votre site, premier paiement et renouvellement, et les conditions à accepter. Ne change rien.
order_plan- Commande un forfait pour votre site : une commande et sa facture ; Ex2 le met en place une fois réglée.
set_domain_auto_renew- Active ou désactive le renouvellement automatique de l’un de vos noms de domaine.
renew_domain- Renouvelle un nom de domaine pour 1 à 10 ans : une commande et sa facture, que vous réglez comme d’habitude.
quote_plan_change- Ce que coûterait le passage d’un service à un autre forfait, maintenant et au renouvellement. Ne change rien.
change_plan- Fait passer un service à un autre forfait ; un montant dû crée une facture.
cancel_service- Résilie un service, à la fin de sa période de facturation ou immédiatement, après avoir dit ce qui se passerait.
get_payment_methods_link- La page de l’espace client où vous ajoutez ou changez un moyen de paiement.
get_domain_registrar_settings- Les serveurs de noms d’un nom de domaine et s’il est verrouillé contre les transferts.
set_domain_nameservers- Fait pointer un nom de domaine vers d’autres serveurs de noms.
set_domain_lock- Verrouille ou déverrouille un nom de domaine chez son registraire.
list_dns_zones- Les zones DNS d’un service d’hébergement sur les serveurs d’Ex2.
get_dns_zone- Les enregistrements d’une zone DNS, dont MX, SPF, DKIM et DMARC.
change_dns_records- Ajoute, modifie et supprime des enregistrements DNS d’une zone, en une fois (pas ceux qui acheminent le courriel des adresses du compte).
export_dns_zone- Une zone DNS en fichier de zone, à garder ou à déplacer ailleurs.
get_service_ssl- Les certificats SSL des sites d’un service et leur date d’expiration.
get_service_usage- Ce qu’un service utilise de son forfait : disque, bande passante, bases de données, boîtes courriel.
get_site_errors- Les dernières erreurs d’un site, d’après le journal du serveur web.
get_php_errors- Les dernières lignes du journal d’erreurs PHP d’un site.
list_mailboxes- Les boîtes aux lettres d’un hébergement : adresse, espace utilisé et limite.
create_mailbox- Crée une boîte aux lettres ; son mot de passe, créé par Ex2, est donné une seule fois.
change_mailbox- Donne à une boîte aux lettres un nouveau mot de passe ou une nouvelle limite.
delete_mailbox- Supprime une boîte aux lettres et ses messages, après un aperçu.
list_forwarders- Les redirections des domaines d’un hébergement.
add_forwarder- Fait suivre le courriel d’une adresse vers une autre.
remove_forwarder- Arrête une redirection.
list_wordpress_sites- Les sites WordPress d’un hébergement, avec leurs versions.
get_wordpress_status- Le WordPress, les extensions et les thèmes d’un site, avec les mises à jour offertes.
update_wordpress- Met à jour WordPress, les extensions ou les thèmes en tâche de fond, après une copie de la base de données.
install_wordpress- Installe WordPress sur un site dont le dossier est vide, en tâche de fond, avec sa base de données ; le mot de passe de l’administrateur n’est montré qu’une fois, ou le client le choisit lui-même là où le service porte le courriel du compte.
list_wordpress_copies- Les copies de la base de données d’un site WordPress faites avant une mise à jour ou une restauration.
restore_wordpress_database- Remet la base de données d’un site WordPress telle qu’était l’une de ses copies, après une nouvelle copie.
list_stagings- Les copies de préproduction de vos sites WordPress, chacune avec son site en ligne, son adresse et sa base de données.
create_staging- Copie un site WordPress sur un sous-domaine de préproduction, en tâche de fond, avec sa propre base de données, pour essayer des changements à l’écart du site en ligne ; les moteurs de recherche sont priés de ne pas l’indexer. Sur les serveurs récents d’Ex2.
push_staging- Met en ligne les fichiers, la base de données ou les deux d’une copie de préproduction, en tâche de fond, après une copie de la base du site en ligne ; avec la base, ce qui a changé sur le site en ligne depuis la copie est perdu. Sur les serveurs récents d’Ex2.
delete_staging- Supprime les fichiers et la base de données d’une copie de préproduction ; son sous-domaine reste.
export_site- Archive le dossier d’un site et sa base WordPress en tâche de fond, à télécharger pendant une semaine.
export_account- Archive tout un hébergement en tâche de fond (fichiers, bases de données, zones DNS ; jamais les courriels), pour le déménager.
list_site_exports- Les archives des sites d’un service d’hébergement, avec leur adresse de téléchargement.
get_job- Où en est une tâche, étape par étape.
list_databases- Les bases de données d’un hébergement, avec leurs utilisateurs.
create_database- Crée une base de données et son utilisateur ; le mot de passe est donné une seule fois.
change_database_password- Donne un nouveau mot de passe à un utilisateur de base de données, donné une seule fois.
list_subdomains- Les sous-domaines d’un hébergement.
create_subdomain- Crée un sous-domaine avec son dossier et son enregistrement DNS.
list_addon_domains- Les domaines supplémentaires d’un service d’hébergement, avec leurs dossiers.
add_addon_domain- Ajoute l’un de vos noms de domaine chez Ex2 à un service d’hébergement, comme site à part entière.
list_domain_aliases- Les alias (domaines parqués) d’un service d’hébergement.
add_domain_alias- Fait afficher le site principal d’un service d’hébergement par l’un de vos noms de domaine chez Ex2.
list_ssh_keys- Les clés SSH d’un service d’hébergement, avec leurs empreintes.
add_ssh_key- Autorise une clé publique à se connecter en SSH à un service d’hébergement.
remove_ssh_key- Retire une clé SSH d’un service d’hébergement.
list_backups- Les sauvegardes d’un service d’hébergement, de la plus récente à la plus ancienne, et ce que chacune contient.
get_backup- Les parties d’une sauvegarde : le dossier personnel, chaque base de données, les courriels et les autres.
backup_now- Fait une sauvegarde d’un service d’hébergement tout de suite, en tâche de fond.
restore_backup- Remet des fichiers d’un service d’hébergement, ou l’une de ses bases de données, tels qu’ils étaient dans une sauvegarde, en tâche de fond.
list_php_versions- Les versions de PHP installées, et celle de chaque site.
set_php_version- Passe un site à une autre version de PHP.
get_php_settings- Les réglages PHP d’un hébergement (mémoire, taille d’envoi, durée...) et les valeurs permises.
set_php_settings- Change des réglages PHP d’un hébergement, pour tous ses sites.
list_cron_jobs- Les tâches cron d’un hébergement, et ce que font celles créées par l’API.
add_cron_job- Programme un script PHP ou l’appel d’une adresse du site (toutes les 5 minutes au plus).
remove_cron_job- Retire une tâche cron créée par l’API.
get_mail_authentication- Si le SPF, le DKIM et le DMARC de chaque domaine sont en place.
list_support_departments- Les services du support d’Ex2 auxquels un ticket peut aller.
open_ticket- Ouvre un ticket de support en votre nom, sur un service ou un nom de domaine, avec une note qui nomme l’assistant et ce qu’il a fait récemment.
reply_to_ticket- Ajoute votre réponse à l’un de vos tickets. Les réponses arrivent par courriel et dans l’espace client.
transfer_domain_out- Prépare le départ d’un nom de domaine vers un autre registraire : le déverrouille et vous envoie son code de transfert par courriel, jamais à l’assistant.
Aussi en API HTTP pour les agents et les scripts, avec la même connexion (OAuth 2.1, cette adresse comme ressource) : https://api.ex2.com/api/v1/account. Sa description OpenAPI en liste les points d’accès : le compte, les services, les noms de domaine, les factures, les tickets, les mêmes actions que les outils et le journal de ce que chaque connexion a fait. Pour vos propres scripts, créez un jeton d’API sur la page des assistants connectés, en ne cochant que les actions dont il a besoin.
Vous décidez
Avant que vous vous connectiez, la page d’Ex2 nomme l’application et liste ce qu’elle lira. Vous vous connectez avec vos identifiants de l’espace client Ex2, et choisissez le compte si vos identifiants en gèrent plusieurs.
Vos permissions s’appliquent
Un contact d’un compte ne voit que ce que ses permissions de l’espace client permettent, vérifiées à chaque demande. Les mots de passe, les moyens de paiement et les messages des tickets ne sont jamais transmis.
Déconnexion à tout moment
Voyez les assistants connectés à votre compte et déconnectez celui que vous voulez sur la page des assistants connectés. Un accès dure une heure et n’est renouvelé que tant que la connexion existe.
L’API du catalogue
Du JSON en HTTPS, en GET seulement, ouvert à toutes les origines (CORS). Chaque réponse indique sa devise ; les montants sont hors taxes.
| Adresse | Réponse | Essayer |
|---|---|---|
GET /api/v1 | Ce que l’API offre, ses paramètres et les gammes de produits avec les identifiants de leurs forfaits. | Essayer |
GET /api/v1/plans | Chaque forfait avec ses prix, sa remise de première année, ses caractéristiques et son lien de commande. line=email garde une seule gamme. | Essayer |
GET /api/v1/plans/{id} | Un forfait, avec son tableau technique. | Essayer |
GET /api/v1/compare | De deux à dix forfaits côte à côte : plans=id1,id2. | Essayer |
GET /api/v1/domains/pricing | Les prix d’enregistrement, de transfert et de renouvellement sur un an, par extension : tld=com,ca ou toutes. | Essayer |
GET /api/v1/domains/availability | Si domain=… peut être enregistré maintenant, ses prix et le lien du panier. | Essayer |
Paramètres de toutes les adresses : currency (CAD, EUR ou USD ; USD par défaut) et lang (en ou fr ; en par défaut).
La description OpenAPI 3.1 de l’API, à importer dans un GPT personnalisé (Actions), dans Postman ou dans un générateur de code :
https://www.ex2.com/api/v1/openapi.jsonExemple
Le prix d’un .com, dans votre devise (une réponse en direct) :
curl "https://www.ex2.com/api/v1/domains/pricing?tld=com¤cy=CAD"{
"currency": "CAD",
"period_years": 1,
"order_url": "https://www.ex2.com/clients/cart.php?a=add&domain=register¤cy=6&language=english",
"domains": [
{
"tld": ".com",
"register": 18.9200000000000017053025658242404460906982421875,
"transfer": 18.9200000000000017053025658242404460906982421875,
"renew": 22.07000000000000028421709430404007434844970703125
}
]
}À savoir
Pas de clé pour le catalogue
Le catalogue est public : ni clé ni compte. Votre propre compte demande vos identifiants Ex2, par la page de connexion, et un assistant ou un jeton n’y agit que là où vous avez coché une case. Rien n’est payé par l’un ou l’autre : une commande ou un renouvellement crée une facture que vous réglez dans l’espace client.
Des prix à jour
Lus dans le système de facturation d’Ex2 et gardés 10 minutes au plus (5 pour un domaine). Gardez-les en cache de votre côté aussi.
Usage raisonnable
Disponibilité des domaines : 30 vérifications par 10 minutes et par adresse, 120 par le serveur MCP. Votre compte : 120 requêtes par minute et par connexion, et des limites par heure ou par jour sur les actions, données dans sa description OpenAPI. Au-delà d’une limite, HTTP 429 avec Retry-After. Si tout fonctionne : /api/v1/status.
Stable
Les champs s’ajoutent ; aucun n’est renommé ni retiré. Un changement incompatible vient dans une nouvelle version (/api/v2) ; l’ancienne répond encore au moins 12 mois, avec les en-têtes Deprecation et Sunset et un avis ici. Les erreurs suivent le RFC 9457 (problem details).
Deux langues, trois devises
Noms, caractéristiques et liens en français ou en anglais ; prix en CAD, EUR ou USD, comme sur les pages des produits.
Pour les modèles de langage
/llms.txt décrit le site et ses produits pour les agents IA et les oriente vers l’API et le serveur MCP.
Questions
Sur l’API et les serveurs MCP.
Faut-il un compte ou une clé d’API ?
Pas pour le catalogue : l’API, le serveur MCP public et llms.txt sont ouverts à tous. Le serveur du compte vous demande de vous connecter avec vos identifiants Ex2, et ne demande pas non plus de clé d’API.
Un assistant peut-il commander un forfait ou gérer mes services par là ?
Non. Une fois le serveur du compte connecté, il peut lire vos services, vos factures et vos tickets, mais rien commander, payer ni modifier : il vous donne plutôt le lien du panier ou de l’espace client.
Un domaine affiché comme disponible est-il sûr d’être à moi ?
Pas tout à fait : la vérification est une requête WHOIS en direct, gardée 5 minutes. Quelqu’un d’autre peut enregistrer le nom entre-temps, et un nom premium ou réservé peut encore être refusé à la commande.
Les prix sont-ils ceux du site ?
Oui : le même système de facturation et les mêmes remises de première année que les pages des produits. Les prix sont hors taxes.
Quels assistants IA fonctionnent avec le serveur MCP ?
Tout client qui accepte les serveurs MCP distants en Streamable HTTP : Claude, Claude Code, ChatGPT, Cursor, VS Code et d’autres. Le serveur public ne demande aucune authentification ; le serveur du compte utilise la connexion que ces applications prennent en charge (OAuth).
Quelque chose ne fonctionne pas comme décrit ?
Ouvrez un ticket au support avec l’adresse appelée et la réponse obtenue.