Spaceship MCP conectează asistentul tău AI (cum ar fi Claude) la contul tău Spaceship. Prin intermediul lui, asistentul poate verifica și înregistra domenii, gestiona contactele domeniilor și citi sau edita înregistrări DNS în numele tău — tu doar ceri în limbaj simplu, iar asistentul apelează instrumentele potrivite.
Ai nevoie de un cont Spaceship. Spaceship MCP este disponibil la https://mcp.spaceship.com/mcp.
Modul în care vă conectați depinde de asistentul dvs. AI:
Claude (web și desktop) — deschideți Settings, alegeți Connectors, găsiți Spaceship în directorul de conectori și adăugați-l. Claude de la Anthropic este în prezent clientul cu care am verificat că Spaceship MCP funcționează.
Alți clienți MCP — adăugați un server MCP la distanță și indicați-l către https://mcp.spaceship.com/mcp. Alți clienți pot funcționa, dar încă nu i-am verificat.
Când vă conectați, vi se va cere să vă autentificați în Spaceship și să acordați asistentului acces la contul dvs. Instrumentele pe care asistentul le poate folosi depind de accesul pe care îl aprobați — dacă un instrument este respins deoarece accesul nu a fost acordat, reconectați-vă și aprobați accesul de care are nevoie.
Instrument: contacts_save
Ce face: Salvează datele de contact și obține un ID de contact
Instrument: contacts_get
Ce face: Citește un contact salvat după ID-ul său
Instrument: domains_list
Ce face: Listează domeniile tale sau caută un domeniu
Instrument: domains_check_availability
Ce face: Verifică dacă domeniile sunt disponibile pentru înregistrare
Instrument: domain_register
Ce face: Înregistrează (cumpără) un domeniu — cheltuie bani
Instrument: domain_set_contacts
Ce face: Atribuie contacte unui domeniu pe care îl deții
Instrument: dns_records_get
Ce face: Citește înregistrările DNS pentru un domeniu
Instrument: dns_records_save
Ce face: Adaugă înregistrări DNS sau le actualizează TTL-ul
Instrument: dns_records_delete
Ce face: Șterge înregistrări DNS
Instrument: async_operation_get
Ce face: Verifică starea unei operațiuni de lungă durată
Mai multe instrumente sunt concepute pentru a fi utilizate împreună: rezultatul unuia devine intrarea următorului.
domains_check_availability — verificați numele dorite. Continuați doar când result este available; numele premium includ prețurile în premiumPricing.
contacts_save — salvați datele de contact pentru înregistrare. Returnează un contactId. Reutilizați un singur contactId pentru toate rolurile sau salvați mai multe contacte.
domain_register — înregistrați domeniul, transmițând ID-urile de contact ca contacts.registrant, contacts.admin, contacts.tech și contacts.billing. Aceasta facturează metoda de plată implicită a contului dvs. și este ireversibilă. Returnează imediat un operationId și status: pending — înregistrarea se finalizează în fundal.
async_operation_get — transmiteți operationId de la pasul 3 pentru a verifica progresul. Repetați până când status devine success sau failed.
domains_check_availability ──▶ contacts_save ──▶ domain_register ──▶ async_operation_get(available?) (contactId) (operationId) (pending → success/failed)
contacts_save — salvați noile date de contact; returnează un contactId (sau reutilizați unul existent, care poate fi citit prin contacts_get).
domain_set_contacts — atribuiți ID-ul/ID-urile de contact domeniului. Aceasta se finalizează imediat și returnează un verificationStatus: verification înseamnă că registrantul trebuie să își confirme adresa de email înainte ca modificarea să se aplice complet (i se trimite un email), success înseamnă că este deja confirmată, iar null înseamnă că nu este necesară nicio confirmare pentru acel domeniu.
domains_list — găsiți domeniul pe care doriți să îl gestionați (sau transmiteți direct numele lui dacă îl cunoașteți).
dns_records_get — citiți înregistrările curente ale domeniului.
dns_records_save sau dns_records_delete — adăugați, actualizați sau eliminați înregistrări. Înregistrările returnate de dns_records_get au aceeași formă pe care instrumentele de salvare și ștergere o acceptă (ștergerea doar omite ttl), astfel încât asistentul poate citi, ajusta și scrie înapoi. Potrivirea nu ține cont de majuscule și minuscule, cu excepția înregistrărilor TXT, care sunt sensibile la majuscule și minuscule.
domains_list — parcurgeți paginat toate domeniile dvs. cu sortare sau preluați un singur domeniu după nume. Fiecare domeniu include data expirării, setarea de reînnoire automată, starea, nameserverele, protecția confidențialității și ID-urile de contact atribuite.
contacts_get — căutați detaliile din spatele oricărui ID de contact pe care îl vedeți la un domeniu.
Fiecare instrument returnează rezultatul său ca JSON structurat. Operațiunile de lungă durată (în prezent doar domain_register) returnează un ID de operațiune care poate fi interogat cu async_operation_get; toate celelalte instrumente se finalizează imediat.
Contactele sunt persoanele sau organizațiile asociate unei înregistrări de domeniu (registrant, admin, tech, billing). Un contact este referit peste tot prin ID-ul de contact — un șir alfanumeric de 27–32 de caractere.
contacts_save — Salvează contactulSalvează datele de contact și returnează ID-ul de contact generat. Validarea unor câmpuri (cum ar fi stateProvince și postalCode) depinde de țara selectată.
Parametru: firstName
Obligatoriu: Da
Tip și constrângeri: Șir, 1–64 de caractere. Poate include cratime și apostrofuri.
Parametru: lastName
Obligatoriu: Da
Tip și constrângeri: Șir, 1–64 de caractere. Poate include cratime și apostrofuri.
Parametru: email
Obligatoriu: Da
Tip și constrângeri: Adresă de email validă, max. 254 de caractere.
Parametru: address1
Obligatoriu: Da
Tip și constrângeri: Linia 1 a adresei. Șir, 1–128 de caractere.
Parametru: city
Obligatoriu: Da
Tip și constrângeri: Șir, 1–64 de caractere.
Parametru: country
Obligatoriu: Da
Tip și constrângeri: Cod de țară din două litere (ISO 3166-1 alpha-2), de ex. US.
Parametru: phone
Obligatoriu: Da
Tip și constrângeri: Format internațional +CountryCode.Number, de ex. +1.2025551234. Max. 32 de caractere.
Parametru: organization
Obligatoriu: Nu
Tip și constrângeri: Numele organizației/companiei. 1–128 de caractere.
Parametru: address2
Obligatoriu: Nu
Tip și constrângeri: Linia 2 a adresei. 1–128 de caractere.
Parametru: stateProvince
Obligatoriu: Nu
Tip și constrângeri: Numele statului/provinciei, 1–64 de caractere. Poate fi obligatoriu în funcție de țară.
Parametru: postalCode
Obligatoriu: Nu
Tip și constrângeri: 1–16 caractere. Poate fi obligatoriu în funcție de țară.
Parametru: phoneExt
Obligatoriu: Nu
Tip și constrângeri: Extensie telefonică, 1–16 caractere.
Parametru: fax
Obligatoriu: Nu
Tip și constrângeri: Număr de fax, același format +CountryCode.Number, max. 32 de caractere.
Parametru: faxExt
Obligatoriu: Nu
Tip și constrângeri: Extensie fax, 1–16 caractere.
Parametru: taxNumber
Obligatoriu: Nu
Tip și constrângeri: Număr fiscal, 1–32 caractere.
Returnează
{ "contactId": "..." }
contactId (27–32 de caractere alfanumerice) este ceea ce transmiteți către domain_register, domain_set_contacts și contacts_get.
contacts_get — Obține contactulCitește detaliile unui contact salvat după ID-ul său de contact. (Nu există un instrument pentru listarea tuturor contactelor — ID-urile de contact provin din contacts_save sau din câmpul contacts al rezultatelor domains_list.)
Parametru: contactId
Obligatoriu: Da
Tip și constrângeri: ID de contact, 27–32 de caractere alfanumerice.
Returnează — { contact } cu:
Câmp: firstName, lastName, email, address1, city, country, phone, postalCode
Tip: Șir de caractere
Câmp: organization, address2, stateProvince, phoneExt, fax, faxExt, taxNumber
Tip: Șir de caractere sau null
domains_list — Listează domeniilePreia o listă paginată a domeniilor tale. Transmite domain pentru a prelua în schimb un singur domeniu după nume (paginarea și ordonarea sunt apoi ignorate, iar rezultatul include o note care spune acest lucru dacă au fost furnizate).
Parametru: domain
Obligatoriu: Nu
Tip și constrângeri: Nume de domeniu complet calificat (ASCII/A-label) pentru a prelua un singur domeniu.
Parametru: take
Obligatoriu: Nu
Tip și constrângeri: Elemente pe pagină, 1–100. Implicit 10.
Parametru: skip
Obligatoriu: Nu
Tip și constrângeri: Elemente de omis, 0 sau mai multe. Implicit 0.
Parametru: orderBy
Obligatoriu: Nu
Tip și constrângeri: Până la 8 chei de sortare: name, unicodeName, registrationDate, expirationDate; prefixează cu - pentru ordine descrescătoare (de ex. -expirationDate).
Returnează — { items, total } unde fiecare element descrie un domeniu:
Câmp: name / unicodeName
Semnificație: Numele domeniului în format ASCII și Unicode.
Câmp: isPremium
Semnificație: Dacă domeniul este un nume premium.
Câmp: autoRenew
Semnificație: Dacă reînnoirea automată este activată.
Câmp: registrationDate / expirationDate
Semnificație: Marcajele temporale de înregistrare și expirare.
Câmp: lifecycleStatus
Semnificație: creating, registered, grace1, grace2 sau redemption.
Câmp: verificationStatus
Semnificație: verification, success, failed sau null când nu se aplică.
Câmp: eppStatuses
Semnificație: Coduri de stare ale registrului (de ex. blocări de transfer).
Câmp: suspensions
Semnificație: Suspendări active, fiecare cu un reasonCode.
Câmp: privacyProtection
Semnificație: { level: "public" | "high", contactForm: boolean }.
Câmp: nameservers
Semnificație: { provider: "basic" | "custom", hosts: [...] }.
Câmp: contacts
Semnificație: ID-uri de contact: registrant, plus admin/tech/billing/attributes (pot fi null). Pot fi citite prin contacts_get.
domains_check_availability — Verifică disponibilitatea domeniuluiVerifică dacă unul sau mai multe nume de domeniu sunt disponibile pentru înregistrare.
Parametru: domains
Obligatoriu: Da
Tip și constrângeri: 1–20 de nume de domeniu complet calificate (ASCII/A-label).
Returnează — { results }, câte o intrare pentru fiecare nume solicitat:
Câmp: domain
Semnificație: Numele verificat.
Câmp: result
Semnificație: available, taken, invalidDomainName, tldNotSupported sau unexpectedError.
Câmp: premiumPricing
Semnificație: Pentru nume premium: listă de { operation, price, currency } unde operation este register, transfer, renew sau restore. Gol pentru nume obișnuite.
domain_register — Înregistrează domeniulÎnregistrează (cumpără) un domeniu. Acest lucru facturează metoda de plată implicită a contului tău și este ireversibil. Secvență recomandată: domains_check_availability → contacts_save → domain_register. Instrumentul returnează imediat cu o stare în așteptare; înregistrarea în sine se finalizează în fundal — verific-o cu async_operation_get.
Parametru: domain
Obligatoriu: Da
Tip și constrângeri: Nume de domeniu complet calificat de înregistrat, de ex. example.com.
Parametru: years
Obligatoriu: Da
Tip și constrângeri: Perioada de înregistrare în ani, 1–10.
Parametru: autoRenew
Obligatoriu: Da
Tip și constrângeri: Boolean. Când este true, domeniul se reînnoiește automat la expirare folosind metoda de plată implicită a contului.
Parametru: privacy.level
Obligatoriu: Da
Tip și constrângeri: high ascunde datele de contact ale registrantului din WHOIS public; public le publică.
Parametru: privacy.userConsent
Obligatoriu: Da
Tip și constrângeri: Boolean. Trebuie să confirmi că ești de acord cu setarea de confidențialitate selectată.
Parametru: contacts.registrant
Obligatoriu: Da
Tip și constrângeri: ID de contact (din contacts_save).
Parametru: contacts.admin
Obligatoriu: Da
Tip și constrângeri: ID de contact.
Parametru: contacts.tech
Obligatoriu: Da
Tip și constrângeri: ID de contact.
Parametru: contacts.billing
Obligatoriu: Da
Tip și constrângeri: ID de contact.
Parametru: contacts.attributes
Obligatoriu: Nu
Tip și constrângeri: Până la 5 ID-uri de contact suplimentare, necesare doar pentru anumite TLD-uri.
Returnează
{"operationId": "...","domain": "example.com","years": 1,"status": "pending","note": "Registration of example.com submitted. ..."}
Transmite operationId către async_operation_get pentru a verifica dacă înregistrarea a reușit.
domain_set_contacts — Setează contactele domeniuluiSchimbă contactele atribuite unui domeniu pe care îl deții. Se finalizează imediat (fără ID de operațiune).
Parametru: domainName
Obligatoriu: Da
Tip și constrângeri: Nume de domeniu complet calificat (ASCII/A-label).
Parametru: registrant
Obligatoriu: Da
Tip și constrângeri: ID de contact.
Parametru: admin
Obligatoriu: Nu
Tip și constrângeri: ID de contact sau null.
Parametru: tech
Obligatoriu: Nu
Tip și constrângeri: ID de contact sau null.
Parametru: billing
Obligatoriu: Nu
Tip și constrângeri: ID de contact sau null.
Parametru: attributes
Obligatoriu: Nu
Tip și constrângeri: Până la 5 ID-uri de contact sau null.
Returnează
{ "verificationStatus": "verification" }
verification — registrantul trebuie să își confirme adresa de e-mail (se trimite un e-mail de confirmare); success — deja confirmată; null — confirmarea nu este necesară pentru acest domeniu.
dns_records_get — Obține înregistrările DNSPreia o listă paginată de înregistrări de resurse DNS pentru un domeniu.
Parametru: domainName
Obligatoriu: Da
Tip și constrângeri: Domeniul ale cărui înregistrări trebuie preluate.
Parametru: take
Obligatoriu: Nu
Tip și constrângeri: Elemente pe pagină, 1–500. Implicit 100.
Parametru: skip
Obligatoriu: Nu
Tip și constrângeri: Elemente de omis, 0 sau mai multe. Implicit 0.
Parametru: orderBy
Obligatoriu: Nu
Tip și constrângeri: Până la 8 chei de sortare: type, -type, name, -name.
Returnează — { items, total }. Fiecare element este o înregistrare, așa cum este descrisă în Forme de înregistrare, plus un câmp opțional group care indică de unde provine înregistrarea (custom — creată de dvs., product — gestionată de un produs Spaceship, personalNs — nameservere personale).
dns_records_save — Salvează înregistrările DNSAdaugă înregistrări DNS personalizate sau actualizează TTL-ul celor existente. Înregistrările sunt potrivite fără a ține cont de majuscule și minuscule, cu excepția înregistrărilor TXT (sensibile la majuscule și minuscule).
Parametru: domainName
Obligatoriu: Da
Tip și constrângeri: Domeniul ale cărui înregistrări trebuie actualizate.
Parametru: records
Obligatoriu: Da
Tip și constrângeri: 1–500 de înregistrări — vedeți Forme de înregistrare. Fiecare poate include un câmp opțional ttl.
Parametru: force
Obligatoriu: Nu
Tip și constrângeri: Boolean. Omite verificarea de rezolvare a conflictelor și forțează actualizarea zonei.
Returnează — { "saved": <number> }, numărul de înregistrări trimise. Un răspuns reușit înseamnă că toate înregistrările au fost acceptate; dacă orice înregistrare eșuează, întregul apel returnează în schimb o eroare.
dns_records_delete — Șterge înregistrările DNSȘterge înregistrările DNS personalizate. Ștergerile nu pot fi anulate. Înregistrările sunt potrivite fără a ține cont de majuscule și minuscule, cu excepția înregistrărilor TXT (sensibile la majuscule și minuscule).
Parametru: domainName
Obligatoriu: Da
Tip și constrângeri: Domeniul ale cărui înregistrări trebuie șterse.
Parametru: records
Obligatoriu: Da
Tip și constrângeri: 1–500 de înregistrări care identifică înregistrări existente — aceleași forme ca la salvare, dar fără ttl.
Returnează — { "deleted": <number> }, numărul de înregistrări trimise.
Fiecare înregistrare are:
type — unul dintre cele 13 tipuri acceptate de mai jos.
name — numele înregistrării, fără domeniu: folosiți @ pentru domeniul în sine (apex) și * pentru un wildcard.
ttl (doar la salvare, opțional) — timpul de cache în secunde, 60–3600.
Câmpuri specifice tipului:
Tip: A
Câmpuri: address — adresă IPv4.
Tip: AAAA
Câmpuri: address — adresă IPv6.
Tip: CNAME
Câmpuri: cname — nume de domeniu canonic (max. 253 de caractere).
Tip: ALIAS
Câmpuri: aliasName — nume de domeniu canonic; comportament similar CNAME pentru apex, unde CNAME nu este permis.
Tip: NS
Câmpuri: nameserver — nume de nameserver.
Tip: PTR
Câmpuri: pointer — nume de domeniu pentru adresa IP dată.
Tip: TXT
Câmpuri: value — valoare text (potrivită cu sensibilitate la majuscule și minuscule).
Tip: MX
Câmpuri: exchange — server de mail; preference — prioritate (0–65535, valorile mai mici sunt preferate).
Tip: CAA
Câmpuri: flag — 0 sau 128 (bit critic); tag — issue, issuewild sau iodef; value — identificator CA cu parametri opționali.
Tip: SRV
Câmpuri: service (de ex. _sip); protocol (de ex. _tcp); priority și weight (0–65535); port (1–65535); target — nume de domeniu al serverului.
Tip: TLSA
Câmpuri: usage, selector, matching (fiecare 0–255); port — * sau _<1–65535>; protocol (de ex. _tcp); associationData — hash sau date ale certificatului.
Tip: HTTPS
Câmpuri: svcPriority (0–65535; 0 = AliasMode); targetName — FQDN sau .; opțional port (* sau _<1–65535>), scheme (trebuie să fie _https când port este setat), svcParams.
Tip: SVCB
Câmpuri: svcPriority (0–65535; 0 = AliasMode); targetName — FQDN sau .; opțional port, scheme (de ex. _tcp), svcParams.
async_operation_get — Obține starea operațiunii asincroneVerifică o operațiune de lungă durată pornită de un alt instrument (în prezent domain_register). Apelați-l cu operationId returnat de acel instrument și repetați până când status este success sau failed.
Parametru: operationId
Obligatoriu: Da
Tip și constrângeri: Șir alfanumeric, max. 36 de caractere, returnat de instrumentul care a pornit operațiunea.
Returnează
Câmp: operationId
Semnificație: Operațiunea interogată.
Câmp: status
Semnificație: pending, success sau failed.
Câmp: type
Semnificație: Tipul operațiunii sau null.
Câmp: details
Semnificație: Detalii suplimentare despre operațiune sau null.
Câmp: createdAt / modifiedAt
Semnificație: Când a fost creată / actualizată ultima dată operațiunea (modifiedAt poate fi null).
Când un apel eșuează, instrumentul returnează o eroare cu un cod și un detail lizibil pentru oameni, care explică ce nu a mers bine — de exemplu, intrare invalidă (un nume de domeniu sau un ID de contact malformat), un domeniu sau un contact care nu există ori un conflict cu starea curentă. Dacă un instrument este respins deoarece asistentului nu i s-a acordat acces la el, reconectați Spaceship MCP și aprobați accesul pe care îl solicită.