Développeurs

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.

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/mcp

Claude, ChatGPT et les autres applications

Ajoutez un connecteur personnalisé (un serveur MCP distant) avec cette URL, sans authentification :

https://www.ex2.com/mcp

Cursor, 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/account

Claude Code

Dans un terminal, puis /mcp dans Claude Code pour vous connecter :

claude mcp add --transport http ex2-account https://api.ex2.com/mcp/account

Cursor, 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.

AdresseRéponseEssayer
GET /api/v1Ce que l’API offre, ses paramètres et les gammes de produits avec les identifiants de leurs forfaits.Essayer
GET /api/v1/plansChaque 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/compareDe deux à dix forfaits côte à côte : plans=id1,id2.Essayer
GET /api/v1/domains/pricingLes prix d’enregistrement, de transfert et de renouvellement sur un an, par extension : tld=com,ca ou toutes.Essayer
GET /api/v1/domains/availabilitySi 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.json

Exemple

Le prix d’un .com, dans votre devise (une réponse en direct) :

curl "https://www.ex2.com/api/v1/domains/pricing?tld=com&currency=CAD"
{
    "currency": "CAD",
    "period_years": 1,
    "order_url": "https://www.ex2.com/clients/cart.php?a=add&domain=register&currency=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.

Vous avez des questions ?

Contactez notre support