Spaceship MCP — Référence des outils

Spaceship MCP connecte votre assistant IA (tel que Claude) à votre compte Spaceship. Grâce à lui, l’assistant peut vérifier et enregistrer des domaines, gérer les contacts de domaine, et lire ou modifier des enregistrements DNS en votre nom — il vous suffit de demander en langage naturel, et l’assistant appelle les bons outils.

Premiers pas

Vous avez besoin d’un compte Spaceship. Spaceship MCP est disponible à l’adresse https://mcp.spaceship.com/mcp.

La façon de vous connecter dépend de votre assistant IA :

  • Claude (web et bureau) — ouvrez Paramètres, choisissez Connecteurs, trouvez Spaceship dans le répertoire des connecteurs et ajoutez-le. Claude d’Anthropic est actuellement le client avec lequel nous avons vérifié le fonctionnement de Spaceship MCP.

  • Autres clients MCP — ajoutez un serveur MCP distant et pointez-le vers https://mcp.spaceship.com/mcp. D’autres clients peuvent fonctionner, mais nous ne les avons pas encore vérifiés.

Lorsque vous vous connectez, il vous sera demandé de vous connecter à Spaceship et d’accorder à l’assistant l’accès à votre compte. Les outils que l’assistant peut utiliser dépendent de l’accès que vous approuvez — si un outil est rejeté parce que l’accès n’a pas été accordé, reconnectez-vous et approuvez l’accès nécessaire.

Aperçu des outils

  • Outil : contacts_save

    Ce qu’il fait : Enregistrer les coordonnées du contact et obtenir un ID de contact

  • Outil : contacts_get

    Ce qu’il fait : Lire un contact enregistré à partir de son ID

  • Outil : domains_list

    Ce qu’il fait : Lister vos domaines ou rechercher un domaine

  • Outil : domains_check_availability

    Ce qu’il fait : Vérifier si des domaines sont disponibles à l’enregistrement

  • Outil : domain_register

    Ce qu’il fait : Enregistrer (acheter) un domaine — dépense de l’argent

  • Outil : domain_set_contacts

    Ce qu’il fait : Attribuer des contacts à un domaine que vous possédez

  • Outil : dns_records_get

    Ce qu’il fait : Lire les enregistrements DNS d’un domaine

  • Outil : dns_records_save

    Ce qu’il fait : Ajouter des enregistrements DNS ou mettre à jour leur TTL

  • Outil : dns_records_delete

    Ce qu’il fait : Supprimer des enregistrements DNS

  • Outil : async_operation_get

    Ce qu’il fait : Vérifier le statut d’une opération de longue durée

Flux de travail courants

Plusieurs outils sont conçus pour être utilisés ensemble : la sortie de l’un devient l’entrée du suivant.

Enregistrer (acheter) un domaine

  1. domains_check_availability — vérifiez le ou les noms souhaités. Ne poursuivez que lorsque result est available ; les noms premium incluent les tarifs dans premiumPricing.

  2. contacts_save — enregistrez les coordonnées pour l’enregistrement. Renvoie un contactId. Réutilisez un contactId pour tous les rôles ou enregistrez plusieurs contacts.

  3. domain_register — enregistrez le domaine en transmettant le ou les ID de contact comme contacts.registrant, contacts.admin, contacts.tech et contacts.billing. Cela facture le moyen de paiement par défaut de votre compte et est irréversible. L’outil renvoie immédiatement un operationId et status: pending — l’enregistrement se termine en arrière-plan.

  4. async_operation_get — transmettez l’operationId de l’étape 3 pour vérifier la progression. Répétez jusqu’à ce que status devienne success ou failed.

domains_check_availability ──▶ contacts_save ──▶ domain_register ──▶ async_operation_get
(available?) (contactId) (operationId) (pending → success/failed)

Mettre à jour les contacts d’un domaine que vous possédez

  1. contacts_save — enregistrez les nouvelles coordonnées ; renvoie un contactId (ou réutilisez-en un existant, consultable via contacts_get).

  2. domain_set_contacts — attribuez le ou les ID de contact au domaine. Cela se termine immédiatement et renvoie un verificationStatus : verification signifie que le titulaire doit confirmer son adresse e-mail avant que le changement ne s’applique complètement (un e-mail lui est envoyé), success signifie qu’elle est déjà confirmée, et null signifie qu’aucune confirmation n’est requise pour ce domaine.

Gérer les enregistrements DNS

  1. domains_list — trouvez le domaine que vous souhaitez gérer (ou transmettez directement son nom si vous le connaissez).

  2. dns_records_get — lisez les enregistrements actuels du domaine.

  3. dns_records_save ou dns_records_delete — ajoutez, mettez à jour ou supprimez des enregistrements. Les enregistrements renvoyés par dns_records_get ont la même forme que celle acceptée par les outils d’enregistrement et de suppression (la suppression omet simplement ttl), afin que l’assistant puisse lire, ajuster et réécrire. La mise en correspondance ne tient pas compte de la casse, sauf pour les enregistrements TXT, qui sont sensibles à la casse.

Passer en revue votre portefeuille

  • domains_list — parcourez tous vos domaines avec tri, ou récupérez un seul domaine par son nom. Chaque domaine inclut sa date d’expiration, le paramètre de renouvellement automatique, le statut, les serveurs de noms, la protection de la confidentialité et les ID de contact attribués.

  • contacts_get — consultez les détails associés à tout ID de contact que vous voyez sur un domaine.

Référence des outils

Chaque outil renvoie son résultat sous forme de JSON structuré. Les opérations de longue durée (actuellement uniquement domain_register) renvoient un ID d’opération à interroger avec async_operation_get ; tous les autres outils se terminent immédiatement.

Contacts

Les contacts sont les personnes ou organisations associées à un enregistrement de domaine (titulaire, admin, tech, facturation). Un contact est référencé partout par son ID de contact — une chaîne alphanumérique de 27 à 32 caractères.

contacts_save — Enregistrer le contact

Enregistre les coordonnées du contact et renvoie l’ID de contact généré. La validation de certains champs (tels que stateProvince et postalCode) dépend du pays sélectionné.

  • Paramètre : firstName

    Obligatoire : Oui

    Type et contraintes : Chaîne, 1–64 caractères. Peut inclure des traits d’union et des apostrophes.

  • Paramètre : lastName

    Obligatoire : Oui

    Type et contraintes : Chaîne, 1–64 caractères. Peut inclure des traits d’union et des apostrophes.

  • Paramètre : email

    Obligatoire : Oui

    Type et contraintes : Adresse e-mail valide, 254 caractères max.

  • Paramètre : address1

    Obligatoire : Oui

    Type et contraintes : Ligne d’adresse 1. Chaîne, 1–128 caractères.

  • Paramètre : city

    Obligatoire : Oui

    Type et contraintes : Chaîne, 1–64 caractères.

  • Paramètre : country

    Obligatoire : Oui

    Type et contraintes : Code pays à deux lettres (ISO 3166-1 alpha-2), p. ex. US.

  • Paramètre : phone

    Obligatoire : Oui

    Type et contraintes : Format international +CountryCode.Number, p. ex. +1.2025551234. 32 caractères max.

  • Paramètre : organization

    Obligatoire : Non

    Type et contraintes : Nom de l’organisation/de l’entreprise. 1–128 caractères.

  • Paramètre : address2

    Obligatoire : Non

    Type et contraintes : Ligne d’adresse 2. 1–128 caractères.

  • Paramètre : stateProvince

    Obligatoire : Non

    Type et contraintes : Nom de l’État/de la province, 1–64 caractères. Peut être requis selon le pays.

  • Paramètre : postalCode

    Obligatoire : Non

    Type et contraintes : 1–16 caractères. Peut être requis selon le pays.

  • Paramètre : phoneExt

    Obligatoire : Non

    Type et contraintes : Poste téléphonique, 1–16 caractères.

  • Paramètre : fax

    Obligatoire : Non

    Type et contraintes : Numéro de fax, même format +CountryCode.Number, 32 caractères max.

  • Paramètre : faxExt

    Obligatoire : Non

    Type et contraintes : Extension de fax, 1–16 caractères.

  • Paramètre : taxNumber

    Obligatoire : Non

    Type et contraintes : Numéro fiscal, 1–32 caractères.

Renvoie

{ "contactId": "..." }

contactId (27–32 caractères alphanumériques) est ce que vous transmettez à domain_register, domain_set_contacts et contacts_get.

contacts_get — Obtenir le contact

Lit les détails d’un contact enregistré à partir de son ID de contact. (Il n’existe pas d’outil pour lister tous les contacts — les ID de contact proviennent de contacts_save ou du champ contacts dans les résultats de domains_list.)

  • Paramètre : contactId

    Obligatoire : Oui

    Type et contraintes : ID de contact, 27 à 32 caractères alphanumériques.

Renvoie{ contact } avec :

  • Champ : firstName, lastName, email, address1, city, country, phone, postalCode

    Type : Chaîne

  • Champ : organization, address2, stateProvince, phoneExt, fax, faxExt, taxNumber

    Type : Chaîne ou null

Domaines

domains_list — Lister les domaines

Récupère une liste paginée de vos domaines. Passez domain pour récupérer à la place un seul domaine par son nom (la pagination et le tri sont alors ignorés, et le résultat inclut une note l’indiquant s’ils ont été fournis).

  • Paramètre : domain

    Obligatoire : Non

    Type et contraintes : Nom de domaine pleinement qualifié (ASCII/A-label) pour récupérer un seul domaine.

  • Paramètre : take

    Obligatoire : Non

    Type et contraintes : Éléments par page, de 1 à 100. Valeur par défaut 10.

  • Paramètre : skip

    Obligatoire : Non

    Type et contraintes : Éléments à ignorer, 0 ou plus. Valeur par défaut 0.

  • Paramètre : orderBy

    Obligatoire : Non

    Type et contraintes : Jusqu’à 8 clés de tri : name, unicodeName, registrationDate, expirationDate ; préfixez avec - pour un ordre décroissant (par ex. -expirationDate).

Renvoie{ items, total } où chaque élément décrit un domaine :

  • Champ : name / unicodeName

    Signification : Nom de domaine au format ASCII et Unicode.

  • Champ : isPremium

    Signification : Indique si le domaine est un nom premium.

  • Champ : autoRenew

    Signification : Indique si le renouvellement automatique est activé.

  • Champ : registrationDate / expirationDate

    Signification : Horodatages d’enregistrement et d’expiration.

  • Champ : lifecycleStatus

    Signification : creating, registered, grace1, grace2 ou redemption.

  • Champ : verificationStatus

    Signification : verification, success, failed ou null lorsque non applicable.

  • Champ : eppStatuses

    Signification : Codes d’état du registre (par ex. verrous de transfert).

  • Champ : suspensions

    Signification : Suspensions actives, chacune avec un reasonCode.

  • Champ : privacyProtection

    Signification : { level: "public" | "high", contactForm: boolean }.

  • Champ : nameservers

    Signification : { provider: "basic" | "custom", hosts: [...] }.

  • Champ : contacts

    Signification : ID de contact : registrant, plus admin/tech/billing/attributes (peut être null). Lisible via contacts_get.

domains_check_availability — Vérifier la disponibilité du domaine

Vérifie si un ou plusieurs noms de domaine sont disponibles à l’enregistrement.

  • Paramètre : domains

    Obligatoire : Oui

    Type et contraintes : 1 à 20 noms de domaine pleinement qualifiés (ASCII/A-label).

Renvoie{ results }, une entrée par nom demandé :

  • Champ : domain

    Signification : Le nom vérifié.

  • Champ : result

    Signification : available, taken, invalidDomainName, tldNotSupported ou unexpectedError.

  • Champ : premiumPricing

    Signification : Pour les noms premium : liste de { operation, price, currency }operation vaut register, transfer, renew ou restore. Vide pour les noms standard.

domain_register — Enregistrer le domaine

Enregistre (achète) un domaine. Cela facture le moyen de paiement par défaut de votre compte et est irréversible. Séquence recommandée : domains_check_availabilitycontacts_savedomain_register. L’outil renvoie immédiatement un statut en attente ; l’enregistrement lui-même se termine en arrière-plan — vérifiez-le avec async_operation_get.

  • Paramètre : domain

    Obligatoire : Oui

    Type et contraintes : Nom de domaine pleinement qualifié à enregistrer, par ex. example.com.

  • Paramètre : years

    Obligatoire : Oui

    Type et contraintes : Période d’enregistrement en années, de 1 à 10.

  • Paramètre : autoRenew

    Obligatoire : Oui

    Type et contraintes : Booléen. Lorsque true, le domaine se renouvelle automatiquement à l’expiration en utilisant le moyen de paiement par défaut du compte.

  • Paramètre : privacy.level

    Obligatoire : Oui

    Type et contraintes : high masque les coordonnées du titulaire dans le WHOIS public ; public les publie.

  • Paramètre : privacy.userConsent

    Obligatoire : Oui

    Type et contraintes : Booléen. Doit confirmer que vous acceptez le paramètre de confidentialité sélectionné.

  • Paramètre : contacts.registrant

    Obligatoire : Oui

    Type et contraintes : ID de contact (provenant de contacts_save).

  • Paramètre : contacts.admin

    Obligatoire : Oui

    Type et contraintes : ID de contact.

  • Paramètre : contacts.tech

    Obligatoire : Oui

    Type et contraintes : ID de contact.

  • Paramètre : contacts.billing

    Obligatoire : Oui

    Type et contraintes : ID de contact.

  • Paramètre : contacts.attributes

    Obligatoire : Non

    Type et contraintes : Jusqu’à 5 ID de contact supplémentaires, requis uniquement pour certains TLD.

Renvoie

{
"operationId": "...",
"domain": "example.com",
"years": 1,
"status": "pending",
"note": "Registration of example.com submitted. ..."
}

Passez operationId à async_operation_get pour vérifier si l’enregistrement a réussi.

domain_set_contacts — Définir les contacts du domaine

Modifie les contacts attribués à un domaine que vous possédez. S’exécute immédiatement (pas d’ID d’opération).

  • Paramètre : domainName

    Obligatoire : Oui

    Type et contraintes : Nom de domaine pleinement qualifié (ASCII/A-label).

  • Paramètre : registrant

    Obligatoire : Oui

    Type et contraintes : ID de contact.

  • Paramètre : admin

    Obligatoire : Non

    Type et contraintes : ID de contact, ou null.

  • Paramètre : tech

    Obligatoire : Non

    Type et contraintes : ID de contact, ou null.

  • Paramètre : billing

    Obligatoire : Non

    Type et contraintes : ID de contact, ou null.

  • Paramètre : attributes

    Obligatoire : Non

    Type et contraintes : Jusqu’à 5 ID de contact, ou null.

Renvoie

{ "verificationStatus": "verification" }

verification — le titulaire doit confirmer son adresse e-mail (un e-mail de confirmation est envoyé) ; success — déjà confirmé ; null — la confirmation n’est pas requise pour ce domaine.

Enregistrements DNS

dns_records_get — Obtenir les enregistrements DNS

Récupère une liste paginée des enregistrements de ressources DNS pour un domaine.

  • Paramètre : domainName

    Obligatoire : Oui

    Type et contraintes : Le domaine dont il faut récupérer les enregistrements.

  • Paramètre : take

    Obligatoire : Non

    Type et contraintes : Éléments par page, de 1 à 500. Valeur par défaut 100.

  • Paramètre : skip

    Obligatoire : Non

    Type et contraintes : Éléments à ignorer, 0 ou plus. Valeur par défaut 0.

  • Paramètre : orderBy

    Obligatoire : Non

    Type et contraintes : Jusqu’à 8 clés de tri : type, -type, name, -name.

Retourne{ items, total }. Chaque élément est un enregistrement tel que décrit dans Formes d’enregistrement, plus un champ facultatif group indiquant d’où provient l’enregistrement (custom — créé par vous, product — géré par un produit Spaceship, personalNs — serveurs de noms personnels).

dns_records_save — Enregistrer les enregistrements DNS

Ajoute des enregistrements DNS personnalisés ou met à jour le TTL de ceux existants. Les enregistrements sont mis en correspondance sans tenir compte de la casse, sauf les enregistrements TXT (sensibles à la casse).

  • Paramètre : domainName

    Obligatoire : Oui

    Type et contraintes : Le domaine dont les enregistrements doivent être mis à jour.

  • Paramètre : records

    Obligatoire : Oui

    Type et contraintes : 1–500 enregistrements — voir Formes d’enregistrement. Chacun peut inclure un champ facultatif ttl.

  • Paramètre : force

    Obligatoire : Non

    Type et contraintes : Booléen. Ignore la vérification de résolution des conflits et force la mise à jour de la zone.

Retourne{ "saved": <number> }, le nombre d’enregistrements soumis. Une réponse réussie signifie que tous les enregistrements ont été acceptés ; si un enregistrement échoue, l’appel entier renvoie une erreur à la place.

dns_records_delete — Supprimer les enregistrements DNS

Supprime les enregistrements DNS personnalisés. Les suppressions ne peuvent pas être annulées. Les enregistrements sont mis en correspondance sans tenir compte de la casse, sauf les enregistrements TXT (sensibles à la casse).

  • Paramètre : domainName

    Obligatoire : Oui

    Type et contraintes : Le domaine dont les enregistrements doivent être supprimés.

  • Paramètre : records

    Obligatoire : Oui

    Type et contraintes : 1–500 enregistrements identifiant des enregistrements existants — mêmes formes que pour l’enregistrement, mais sans ttl.

Retourne{ "deleted": <number> }, le nombre d’enregistrements soumis.

Formes d’enregistrement

Chaque enregistrement comporte :

  • type — l’un des 13 types pris en charge ci-dessous.

  • name — le nom de l’enregistrement hors domaine : utilisez @ pour le domaine lui-même (apex) et * pour un joker.

  • ttl (enregistrement uniquement, facultatif) — durée de cache en secondes, 60–3600.

Champs spécifiques au type :

  • Type : A

    Champs : address — adresse IPv4.

  • Type : AAAA

    Champs : address — adresse IPv6.

  • Type : CNAME

    Champs : cname — nom de domaine canonique (253 caractères max.).

  • Type : ALIAS

    Champs : aliasName — nom de domaine canonique ; comportement semblable à CNAME pour l’apex, où CNAME n’est pas autorisé.

  • Type : NS

    Champs : nameserver — nom du serveur de noms.

  • Type : PTR

    Champs : pointer — nom de domaine pour l’adresse IP donnée.

  • Type : TXT

    Champs : value — valeur texte (mise en correspondance sensible à la casse).

  • Type : MX

    Champs : exchange — serveur de messagerie ; preference — priorité (0–65535, la plus basse étant préférée).

  • Type : CAA

    Champs : flag0 ou 128 (bit critique) ; tagissue, issuewild ou iodef ; value — identifiant d’AC avec paramètres facultatifs.

  • Type : SRV

    Champs : service (p. ex. _sip) ; protocol (p. ex. _tcp) ; priority et weight (0–65535) ; port (1–65535) ; target — nom de domaine du serveur.

  • Type : TLSA

    Champs : usage, selector, matching (chacun 0–255) ; port* ou _<165535> ; protocol (p. ex. _tcp) ; associationData — hachage ou données du certificat.

  • Type : HTTPS

    Champs : svcPriority (0–65535 ; 0 = AliasMode) ; targetName — FQDN ou . ; facultatif port (* ou _<165535>), scheme (doit être _https lorsque port est défini), svcParams.

  • Type : SVCB

    Champs : svcPriority (0–65535 ; 0 = AliasMode) ; targetName — FQDN ou . ; facultatif port, scheme (p. ex. _tcp), svcParams.

Opérations asynchrones

async_operation_get — Obtenir le statut d’une opération asynchrone

Vérifie une opération de longue durée démarrée par un autre outil (actuellement domain_register). Appelez-le avec l’operationId renvoyé par cet outil, puis répétez jusqu’à ce que status soit success ou failed.

  • Paramètre : operationId

    Obligatoire : Oui

    Type et contraintes : Chaîne alphanumérique, 36 caractères max., renvoyée par l’outil qui a démarré l’opération.

Retourne

  • Champ : operationId

    Signification : L’opération interrogée.

  • Champ : status

    Signification : pending, success ou failed.

  • Champ : type

    Signification : Type d’opération, ou null.

  • Champ : details

    Signification : Détails supplémentaires sur l’opération, ou null.

  • Champ : createdAt / modifiedAt

    Signification : Moment où l’opération a été créée / mise à jour pour la dernière fois (modifiedAt peut être null).

Erreurs

Lorsqu’un appel échoue, l’outil renvoie une erreur avec un code et un detail lisible par l’humain expliquant ce qui s’est mal passé — par exemple une entrée invalide (un nom de domaine ou un ID de contact mal formé), un domaine ou un contact inexistant, ou un conflit avec l’état actuel. Si un outil est rejeté parce que l’assistant n’a pas reçu l’accès correspondant, reconnectez Spaceship MCP et approuvez l’accès demandé.

Une adresse e-mail valide est requise