Spaceship MCP łączy Twojego asystenta AI (takiego jak Claude) z Twoim kontem Spaceship. Dzięki temu asystent może sprawdzać i rejestrować domeny, zarządzać kontaktami domenowymi oraz odczytywać lub edytować rekordy DNS w Twoim imieniu — wystarczy, że zapytasz w prostym języku, a asystent wywoła odpowiednie narzędzia.
Potrzebujesz konta Spaceship. Spaceship MCP jest dostępny pod adresem https://mcp.spaceship.com/mcp.
Sposób połączenia zależy od Twojego asystenta AI:
Claude (web i desktop) — otwórz Ustawienia, wybierz Connectors, znajdź Spaceship w katalogu konektorów i dodaj go. Claude od Anthropic jest obecnie klientem, z którym potwierdziliśmy działanie Spaceship MCP.
Inni klienci MCP — dodaj zdalny serwer MCP i wskaż go na https://mcp.spaceship.com/mcp. Inni klienci mogą działać, ale jeszcze tego nie zweryfikowaliśmy.
Podczas łączenia zostaniesz poproszony o zalogowanie się do Spaceship i przyznanie asystentowi dostępu do Twojego konta. To, z których narzędzi asystent może korzystać, zależy od zatwierdzonego przez Ciebie dostępu — jeśli narzędzie zostanie odrzucone, ponieważ dostęp nie został przyznany, połącz się ponownie i zatwierdź wymagany dostęp.
Narzędzie: contacts_save
Co robi: Zapisuje dane kontaktowe i pobiera identyfikator kontaktu
Narzędzie: contacts_get
Działanie: Odczytaj zapisany kontakt na podstawie jego identyfikatora
Narzędzie: domains_list
Działanie: Wyświetl swoje domeny lub wyszukaj jedną domenę
Narzędzie: domains_check_availability
Działanie: Sprawdź, czy domeny są dostępne do rejestracji
Narzędzie: domain_register
Działanie: Zarejestruj (kup) domenę — wydaje pieniądze
Narzędzie: domain_set_contacts
Działanie: Przypisz kontakty do domeny, którą posiadasz
Narzędzie: dns_records_get
Działanie: Odczytaj rekordy DNS dla domeny
Narzędzie: dns_records_save
Działanie: Dodaj rekordy DNS lub zaktualizuj ich TTL
Narzędzie: dns_records_delete
Co robi: Usuń rekordy DNS
Narzędzie: async_operation_get
Co robi: Sprawdza status długotrwałej operacji
Kilka narzędzi zaprojektowano do wspólnego użycia: dane wyjściowe jednego stają się danymi wejściowymi następnego.
domains_check_availability — sprawdź nazwę lub nazwy, które chcesz. Kontynuuj tylko wtedy, gdy result ma wartość available; nazwy premium zawierają ceny w polu premiumPricing.
contacts_save — zapisz dane kontaktowe do rejestracji. Zwraca contactId. Użyj ponownie jednego contactId dla wszystkich ról lub zapisz kilka kontaktów.
domain_register — zarejestruj domenę, przekazując identyfikator(y) kontaktu jako contacts.registrant, contacts.admin, contacts.tech i contacts.billing. To obciąża domyślną metodę płatności Twojego konta i jest nieodwracalne. Zwraca natychmiast operationId oraz status: pending — rejestracja kończy się w tle.
async_operation_get — przekaż operationId z kroku 3, aby sprawdzić postęp. Powtarzaj, aż status zmieni się na success lub failed.
domains_check_availability ──▶ contacts_save ──▶ domain_register ──▶ async_operation_get(available?) (contactId) (operationId) (pending → success/failed)
contacts_save — zapisz nowe dane kontaktowe; zwraca contactId (lub użyj ponownie istniejącego, możliwego do odczytu przez contacts_get).
domain_set_contacts — przypisz identyfikator(y) kontaktu do domeny. To kończy się natychmiast i zwraca verificationStatus: verification oznacza, że rejestrujący musi potwierdzić swój adres e-mail, zanim zmiana zostanie w pełni zastosowana (zostanie do niego wysłana wiadomość e-mail), success oznacza, że jest już potwierdzony, a null oznacza, że dla tej domeny potwierdzenie nie jest wymagane.
domains_list — znajdź domenę, którą chcesz zarządzać (lub przekaż jej nazwę bezpośrednio, jeśli ją znasz).
dns_records_get — odczytaj bieżące rekordy domeny.
dns_records_save lub dns_records_delete — dodawaj, aktualizuj lub usuwaj rekordy. Rekordy zwrócone przez dns_records_get mają ten sam kształt, który akceptują narzędzia zapisu i usuwania (usuwanie po prostu pomija ttl), więc asystent może je odczytać, dostosować i zapisać z powrotem. Dopasowanie nie uwzględnia wielkości liter, z wyjątkiem rekordów TXT, które uwzględniają wielkość liter.
domains_list — przeglądaj strona po stronie wszystkie swoje domeny z sortowaniem lub pobierz pojedynczą domenę po nazwie. Każda domena zawiera datę wygaśnięcia, ustawienie automatycznego odnawiania, status, serwery nazw, ochronę prywatności i przypisane identyfikatory kontaktów.
contacts_get — sprawdź szczegóły kryjące się za dowolnym identyfikatorem kontaktu widocznym przy domenie.
Każde narzędzie zwraca wynik jako uporządkowany JSON. Długotrwałe operacje (obecnie tylko domain_register) zwracają identyfikator operacji do odpytywania za pomocą async_operation_get; wszystkie pozostałe narzędzia kończą się natychmiast.
Kontakty to osoby lub organizacje powiązane z rejestracją domeny (rejestrujący, administrator, techniczny, rozliczeniowy). Do kontaktu wszędzie odwołuje się przez jego identyfikator kontaktu — 27–32-znakowy ciąg alfanumeryczny.
contacts_save — Zapisz kontaktZapisuje dane kontaktowe i zwraca wygenerowany identyfikator kontaktu. Walidacja niektórych pól (takich jak stateProvince i postalCode) zależy od wybranego kraju.
Parametr: firstName
Wymagane: Tak
Typ i ograniczenia: Ciąg znaków, 1–64 znaki. Może zawierać myślniki i apostrofy.
Parametr: lastName
Wymagane: Tak
Typ i ograniczenia: Ciąg znaków, 1–64 znaki. Może zawierać myślniki i apostrofy.
Parametr: email
Wymagane: Tak
Typ i ograniczenia: Prawidłowy adres e-mail, maks. 254 znaki.
Parametr: address1
Wymagane: Tak
Typ i ograniczenia: Wiersz adresu 1. Ciąg znaków, 1–128 znaków.
Parametr: city
Wymagane: Tak
Typ i ograniczenia: Ciąg znaków, 1–64 znaki.
Parametr: country
Wymagane: Tak
Typ i ograniczenia: Dwuliterowy kod kraju (ISO 3166-1 alpha-2), np. US.
Parametr: phone
Wymagane: Tak
Typ i ograniczenia: Format międzynarodowy +CountryCode.Number, np. +1.2025551234. Maks. 32 znaki.
Parametr: organization
Wymagane: Nie
Typ i ograniczenia: Nazwa organizacji/firmy. 1–128 znaków.
Parametr: address2
Wymagane: Nie
Typ i ograniczenia: Wiersz adresu 2. 1–128 znaków.
Parametr: stateProvince
Wymagane: Nie
Typ i ograniczenia: Nazwa stanu/prowincji, 1–64 znaki. Może być wymagana w zależności od kraju.
Parametr: postalCode
Wymagane: Nie
Typ i ograniczenia: 1–16 znaków. Może być wymagany w zależności od kraju.
Parametr: phoneExt
Wymagane: Nie
Typ i ograniczenia: Numer wewnętrzny telefonu, 1–16 znaków.
Parametr: fax
Wymagane: Nie
Typ i ograniczenia: Numer faksu, ten sam format +CountryCode.Number, maks. 32 znaki.
Parametr: faxExt
Wymagane: Nie
Typ i ograniczenia: Numer wewnętrzny faksu, 1–16 znaków.
Parametr: taxNumber
Wymagane: Nie
Typ i ograniczenia: Numer podatkowy, 1–32 znaki.
Zwraca
{ "contactId": "..." }
contactId (27–32 znaków alfanumerycznych) to wartość przekazywana do domain_register, domain_set_contacts oraz contacts_get.
contacts_get — Pobierz kontaktOdczytuje szczegóły zapisanego kontaktu na podstawie jego identyfikatora kontaktu. (Nie ma narzędzia do wyświetlania listy wszystkich kontaktów — identyfikatory kontaktów pochodzą z contacts_save lub z pola contacts w wynikach domains_list.)
Parametr: contactId
Wymagane: Tak
Typ i ograniczenia: Identyfikator kontaktu, 27–32 znaki alfanumeryczne.
Zwraca — { contact } z:
Pole: firstName, lastName, email, address1, city, country, phone, postalCode
Typ: Ciąg znaków
Pole: organization, address2, stateProvince, phoneExt, fax, faxExt, taxNumber
Typ: Ciąg znaków lub null
domains_list — Wyświetl domenyPobiera stronicowaną listę Twoich domen. Przekaż domain, aby zamiast tego pobrać pojedynczą domenę według nazwy (stronicowanie i sortowanie są wtedy ignorowane, a wynik zawiera pole note informujące o tym, jeśli zostały podane).
Parametr: domain
Wymagane: Nie
Typ i ograniczenia: W pełni kwalifikowana nazwa domeny (ASCII/A-label) do pobrania pojedynczej domeny.
Parametr: take
Wymagane: Nie
Typ i ograniczenia: Liczba elementów na stronę, 1–100. Domyślnie 10.
Parametr: skip
Wymagane: Nie
Typ i ograniczenia: Liczba pomijanych elementów, 0 lub więcej. Domyślnie 0.
Parametr: orderBy
Wymagane: Nie
Typ i ograniczenia: Do 8 kluczy sortowania: name, unicodeName, registrationDate, expirationDate; poprzedź znakiem - dla kolejności malejącej (np. -expirationDate).
Zwraca — { items, total }, gdzie każdy element opisuje domenę:
Pole: name / unicodeName
Znaczenie: Nazwa domeny w formie ASCII i Unicode.
Pole: isPremium
Znaczenie: Czy domena jest nazwą premium.
Pole: autoRenew
Znaczenie: Czy automatyczne odnawianie jest włączone.
Pole: registrationDate / expirationDate
Znaczenie: Znaczniki czasu rejestracji i wygaśnięcia.
Pole: lifecycleStatus
Znaczenie: creating, registered, grace1, grace2 lub redemption.
Pole: verificationStatus
Znaczenie: verification, success, failed lub null, gdy nie dotyczy.
Pole: eppStatuses
Znaczenie: Kody statusu rejestru (np. blokady transferu).
Pole: suspensions
Znaczenie: Aktywne zawieszenia, każde z polem reasonCode.
Pole: privacyProtection
Znaczenie: { level: "public" | "high", contactForm: boolean }.
Pole: nameservers
Znaczenie: { provider: "basic" | "custom", hosts: [...] }.
Pole: contacts
Znaczenie: Identyfikatory kontaktów: registrant oraz admin/tech/billing/attributes (mogą mieć wartość null). Można je odczytać przez contacts_get.
domains_check_availability — Sprawdź dostępność domenySprawdza, czy jedna lub więcej nazw domen jest dostępna do rejestracji.
Parametr: domains
Wymagane: Tak
Typ i ograniczenia: 1–20 w pełni kwalifikowanych nazw domen (ASCII/A-label).
Zwraca — { results }, po jednym wpisie dla każdej żądanej nazwy:
Pole: domain
Znaczenie: Sprawdzona nazwa.
Pole: result
Znaczenie: available, taken, invalidDomainName, tldNotSupported lub unexpectedError.
Pole: premiumPricing
Znaczenie: Dla nazw premium: lista { operation, price, currency }, gdzie operation to register, transfer, renew lub restore. Puste dla zwykłych nazw.
domain_register — Zarejestruj domenęRejestruje (kupuje) domenę. To obciąża domyślną metodę płatności Twojego konta i jest nieodwracalne. Zalecana sekwencja: domains_check_availability → contacts_save → domain_register. Narzędzie zwraca wynik natychmiast ze statusem oczekującym; sama rejestracja kończy się w tle — sprawdź ją za pomocą async_operation_get.
Parametr: domain
Wymagane: Tak
Typ i ograniczenia: W pełni kwalifikowana nazwa domeny do rejestracji, np. example.com.
Parametr: years
Wymagane: Tak
Typ i ograniczenia: Okres rejestracji w latach, 1–10.
Parametr: autoRenew
Wymagane: Tak
Typ i ograniczenia: Wartość logiczna. Gdy true, domena odnawia się automatycznie po wygaśnięciu przy użyciu domyślnej metody płatności konta.
Parametr: privacy.level
Wymagane: Tak
Typ i ograniczenia: high ukrywa dane kontaktowe rejestrującego przed publicznym WHOIS; public je publikuje.
Parametr: privacy.userConsent
Wymagane: Tak
Typ i ograniczenia: Wartość logiczna. Musi potwierdzać zgodę na wybrane ustawienie prywatności.
Parametr: contacts.registrant
Wymagane: Tak
Typ i ograniczenia: Identyfikator kontaktu (z contacts_save).
Parametr: contacts.admin
Wymagane: Tak
Typ i ograniczenia: Identyfikator kontaktu.
Parametr: contacts.tech
Wymagane: Tak
Typ i ograniczenia: Identyfikator kontaktu.
Parametr: contacts.billing
Wymagane: Tak
Typ i ograniczenia: Identyfikator kontaktu.
Parametr: contacts.attributes
Wymagane: Nie
Typ i ograniczenia: Do 5 dodatkowych identyfikatorów kontaktów, wymaganych tylko dla niektórych TLD.
Zwraca
{"operationId": "...","domain": "example.com","years": 1,"status": "pending","note": "Registration of example.com submitted. ..."}
Przekaż operationId do async_operation_get, aby sprawdzić, czy rejestracja się powiodła.
domain_set_contacts — Ustaw kontakty domenyZmienia kontakty przypisane do domeny, którą posiadasz. Kończy się natychmiast (bez identyfikatora operacji).
Parametr: domainName
Wymagane: Tak
Typ i ograniczenia: W pełni kwalifikowana nazwa domeny (ASCII/A-label).
Parametr: registrant
Wymagane: Tak
Typ i ograniczenia: Identyfikator kontaktu.
Parametr: admin
Wymagane: Nie
Typ i ograniczenia: Identyfikator kontaktu lub null.
Parametr: tech
Wymagane: Nie
Typ i ograniczenia: Identyfikator kontaktu lub null.
Parametr: billing
Wymagane: Nie
Typ i ograniczenia: Identyfikator kontaktu lub null.
Parametr: attributes
Wymagane: Nie
Typ i ograniczenia: Do 5 identyfikatorów kontaktów lub null.
Zwraca
{ "verificationStatus": "verification" }
verification — rejestrujący musi potwierdzić swój adres e-mail (wysyłana jest wiadomość potwierdzająca); success — już potwierdzono; null — potwierdzenie nie jest wymagane dla tej domeny.
dns_records_get — Pobierz rekordy DNSPobiera stronicowaną listę rekordów zasobów DNS dla domeny.
Parametr: domainName
Wymagane: Tak
Typ i ograniczenia: Domena, której rekordy mają zostać pobrane.
Parametr: take
Wymagane: Nie
Typ i ograniczenia: Liczba elementów na stronę, 1–500. Domyślnie 100.
Parametr: skip
Wymagane: Nie
Typ i ograniczenia: Liczba pomijanych elementów, 0 lub więcej. Domyślnie 0.
Parametr: orderBy
Wymagane: Nie
Typ i ograniczenia: Do 8 kluczy sortowania: type, -type, name, -name.
Zwraca — { items, total }. Każdy element jest rekordem opisanym w sekcji Kształty rekordów, plus opcjonalne pole group wskazujące, skąd pochodzi rekord (custom — utworzony przez Ciebie, product — zarządzany przez produkt Spaceship, personalNs — prywatne serwery nazw).
dns_records_save — Zapisz rekordy DNSDodaje niestandardowe rekordy DNS lub aktualizuje TTL istniejących rekordów. Rekordy są dopasowywane bez rozróżniania wielkości liter, z wyjątkiem rekordów TXT (z rozróżnianiem wielkości liter).
Parametr: domainName
Wymagane: Tak
Typ i ograniczenia: Domena, której rekordy mają zostać zaktualizowane.
Parametr: records
Wymagane: Tak
Typ i ograniczenia: 1–500 rekordów — zobacz Kształty rekordów. Każdy może zawierać opcjonalne pole ttl.
Parametr: force
Wymagane: Nie
Typ i ograniczenia: Wartość logiczna. Pomija sprawdzanie rozwiązywania konfliktów i wymusza aktualizację strefy.
Zwraca — { "saved": <number> }, liczbę przesłanych rekordów. Pomyślna odpowiedź oznacza, że wszystkie rekordy zostały zaakceptowane; jeśli którykolwiek rekord zakończy się niepowodzeniem, całe wywołanie zwróci błąd.
dns_records_delete — Usuń rekordy DNSUsuwa niestandardowe rekordy DNS. Usunięcia nie można cofnąć. Rekordy są dopasowywane bez rozróżniania wielkości liter, z wyjątkiem rekordów TXT (z rozróżnianiem wielkości liter).
Parametr: domainName
Wymagane: Tak
Typ i ograniczenia: Domena, której rekordy mają zostać usunięte.
Parametr: records
Wymagane: Tak
Typ i ograniczenia: 1–500 rekordów identyfikujących istniejące rekordy — te same kształty co przy zapisie, ale bez ttl.
Zwraca — { "deleted": <number> }, liczbę przesłanych rekordów.
Każdy rekord ma:
type — jeden z 13 obsługiwanych typów poniżej.
name — nazwa rekordu bez domeny: użyj @ dla samej domeny (apex) oraz * dla symbolu wieloznacznego.
ttl (tylko zapis, opcjonalnie) — czas pamięci podręcznej w sekundach, 60–3600.
Pola specyficzne dla typu:
Typ: A
Pola: address — adres IPv4.
Typ: AAAA
Pola: address — adres IPv6.
Typ: CNAME
Pola: cname — kanoniczna nazwa domeny (maks. 253 znaki).
Typ: ALIAS
Pola: aliasName — kanoniczna nazwa domeny; zachowanie podobne do CNAME dla apexu, gdzie CNAME nie jest dozwolony.
Typ: NS
Pola: nameserver — nazwa serwera nazw.
Typ: PTR
Pola: pointer — nazwa domeny dla podanego adresu IP.
Typ: TXT
Pola: value — wartość tekstowa (dopasowywana z rozróżnianiem wielkości liter).
Typ: MX
Pola: exchange — serwer pocztowy; preference — priorytet (0–65535, preferowana niższa wartość).
Typ: CAA
Pola: flag — 0 lub 128 (bit krytyczny); tag — issue, issuewild lub iodef; value — identyfikator CA z opcjonalnymi parametrami.
Typ: SRV
Pola: service (np. _sip); protocol (np. _tcp); priority i weight (0–65535); port (1–65535); target — nazwa domeny serwera.
Typ: TLSA
Pola: usage, selector, matching (każde 0–255); port — * lub _<1–65535>; protocol (np. _tcp); associationData — skrót certyfikatu lub dane.
Typ: HTTPS
Pola: svcPriority (0–65535; 0 = AliasMode); targetName — FQDN lub .; opcjonalnie port (* lub _<1–65535>), scheme (musi być _https, gdy port jest ustawiony), svcParams.
Typ: SVCB
Pola: svcPriority (0–65535; 0 = AliasMode); targetName — FQDN lub .; opcjonalnie port, scheme (np. _tcp), svcParams.
async_operation_get — Pobierz status operacji asynchronicznejSprawdza długotrwałą operację uruchomioną przez inne narzędzie (obecnie domain_register). Wywołaj je z wartością operationId zwróconą przez tamto narzędzie i powtarzaj, aż status będzie mieć wartość success lub failed.
Parametr: operationId
Wymagane: Tak
Typ i ograniczenia: Ciąg alfanumeryczny, maks. 36 znaków, zwrócony przez narzędzie, które rozpoczęło operację.
Zwraca
Pole: operationId
Znaczenie: Odpytywana operacja.
Pole: status
Znaczenie: pending, success lub failed.
Pole: type
Znaczenie: Typ operacji lub null.
Pole: details
Znaczenie: Dodatkowe szczegóły operacji lub null.
Pole: createdAt / modifiedAt
Znaczenie: Kiedy operacja została utworzona / ostatnio zaktualizowana (modifiedAt może mieć wartość null).
Gdy wywołanie kończy się niepowodzeniem, narzędzie zwraca błąd z kodem i czytelnym dla człowieka polem detail wyjaśniającym, co poszło nie tak — na przykład nieprawidłowe dane wejściowe (niepoprawnie sformatowana nazwa domeny lub identyfikator kontaktu), domena lub kontakt, które nie istnieją, albo konflikt z bieżącym stanem. Jeśli narzędzie zostanie odrzucone, ponieważ asystent nie otrzymał do niego dostępu, połącz ponownie Spaceship MCP i zatwierdź żądany dostęp.