Spaceship MCP — Referință pentru instrumente

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.

Primii pași

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.

Instrumente pe scurt

  • 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ă

Fluxuri de lucru comune

Mai multe instrumente sunt concepute pentru a fi utilizate împreună: rezultatul unuia devine intrarea următorului.

Înregistrați (cumpărați) un domeniu

  1. domains_check_availability — verificați numele dorite. Continuați doar când result este available; numele premium includ prețurile în premiumPricing.

  2. 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.

  3. 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.

  4. 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)

Actualizați contactele unui domeniu pe care îl dețineți

  1. contacts_save — salvați noile date de contact; returnează un contactId (sau reutilizați unul existent, care poate fi citit prin contacts_get).

  2. 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.

Gestionați înregistrările DNS

  1. 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).

  2. dns_records_get — citiți înregistrările curente ale domeniului.

  3. 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.

Revizuiți-vă portofoliul

  • 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.

Referință instrumente

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.

Contacte

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ă contactul

Salvează 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 contactul

Citeș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

Domenii

domains_list — Listează domeniile

Preia 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 domeniului

Verifică 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_availabilitycontacts_savedomain_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 domeniului

Schimbă 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.

Înregistrări DNS

dns_records_get — Obține înregistrările DNS

Preia 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 DNS

Adaugă î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.

Forme de înregistrare

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: flag0 sau 128 (bit critic); tagissue, 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 _<165535>; 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 _<165535>), 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.

Operațiuni asincrone

async_operation_get — Obține starea operațiunii asincrone

Verifică 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).

Erori

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ă.

Este necesară o adresă de email validă