Spaceship MCP menghubungkan asisten AI Anda (seperti Claude) ke akun Spaceship Anda. Melaluinya, asisten dapat memeriksa dan mendaftarkan domain, mengelola kontak domain, serta membaca atau mengedit catatan DNS atas nama Anda — Anda cukup meminta dengan bahasa biasa, dan asisten akan memanggil alat yang tepat.
Anda memerlukan akun Spaceship. Spaceship MCP tersedia di https://mcp.spaceship.com/mcp.
Cara Anda terhubung bergantung pada AI assistant Anda:
Claude (web dan desktop) — buka Settings, pilih Connectors, temukan Spaceship di direktori connector, lalu tambahkan. Claude dari Anthropic saat ini adalah klien yang telah kami verifikasi berfungsi dengan Spaceship MCP.
Klien MCP lainnya — tambahkan server MCP jarak jauh dan arahkan ke https://mcp.spaceship.com/mcp. Klien lain mungkin berfungsi, tetapi kami belum memverifikasinya.
Saat Anda terhubung, Anda akan diminta masuk ke Spaceship dan memberi assistant akses ke akun Anda. Alat yang dapat digunakan assistant bergantung pada akses yang Anda setujui — jika sebuah alat ditolak karena akses tidak diberikan, sambungkan kembali dan setujui akses yang dibutuhkannya.
Alat: contacts_save
Fungsinya: Simpan detail kontak dan dapatkan ID kontak
Alat: contacts_get
Fungsinya: Membaca kontak yang disimpan berdasarkan ID-nya
Alat: domains_list
Fungsinya: Mencantumkan domain Anda, atau mencari satu domain
Alat: domains_check_availability
Fungsinya: Periksa apakah domain tersedia untuk didaftarkan
Alat: domain_register
Fungsinya: Mendaftarkan (membeli) domain — menghabiskan uang
Alat: domain_set_contacts
Fungsinya: Menetapkan kontak ke domain yang Anda miliki
Alat: dns_records_get
Fungsinya: Membaca catatan DNS untuk sebuah domain
Alat: dns_records_save
Fungsinya: Menambahkan catatan DNS atau memperbarui TTL-nya
Alat: dns_records_delete
Fungsinya: Hapus record DNS
Alat: async_operation_get
Fungsinya: Periksa status operasi yang berjalan lama
Beberapa alat dirancang untuk digunakan bersama: output dari satu alat menjadi input untuk alat berikutnya.
domains_check_availability — periksa nama yang Anda inginkan. Lanjutkan hanya saat result bernilai available; nama premium menyertakan harga di premiumPricing.
contacts_save — simpan detail kontak untuk pendaftaran. Mengembalikan contactId. Gunakan kembali satu contactId untuk semua peran atau simpan beberapa kontak.
domain_register — daftarkan domain, dengan meneruskan ID kontak sebagai contacts.registrant, contacts.admin, contacts.tech, dan contacts.billing. Ini akan menagih metode pembayaran default akun Anda dan tidak dapat dibatalkan. Alat ini segera mengembalikan operationId dan status: pending — pendaftaran diselesaikan di latar belakang.
async_operation_get — teruskan operationId dari langkah 3 untuk memeriksa progres. Ulangi sampai status menjadi success atau failed.
domains_check_availability ──▶ contacts_save ──▶ domain_register ──▶ async_operation_get(available?) (contactId) (operationId) (pending → success/failed)
contacts_save — simpan detail kontak baru; mengembalikan contactId (atau gunakan kembali yang sudah ada, yang dapat dibaca melalui contacts_get).
domain_set_contacts — tetapkan ID kontak ke domain. Ini selesai seketika dan mengembalikan verificationStatus: verification berarti pendaftar harus mengonfirmasi alamat email mereka sebelum perubahan diterapkan sepenuhnya (email dikirim kepada mereka), success berarti sudah dikonfirmasi, dan null berarti tidak diperlukan konfirmasi untuk domain tersebut.
domains_list — temukan domain yang ingin Anda kelola (atau teruskan namanya secara langsung jika Anda mengetahuinya).
dns_records_get — baca record saat ini untuk domain tersebut.
dns_records_save atau dns_records_delete — tambahkan, perbarui, atau hapus record. Record yang dikembalikan oleh dns_records_get memiliki bentuk yang sama dengan yang diterima alat save dan delete (delete hanya menghilangkan ttl), sehingga assistant dapat membaca, menyesuaikan, dan menulis kembali. Pencocokan tidak membedakan huruf besar/kecil kecuali untuk record TXT, yang peka huruf besar/kecil.
domains_list — telusuri semua domain Anda per halaman dengan pengurutan, atau ambil satu domain berdasarkan nama. Setiap domain mencakup tanggal kedaluwarsa, pengaturan perpanjangan otomatis, status, nameserver, perlindungan privasi, dan ID kontak yang ditetapkan.
contacts_get — cari detail di balik ID kontak apa pun yang Anda lihat pada domain.
Setiap alat mengembalikan hasilnya sebagai JSON terstruktur. Operasi yang berjalan lama (saat ini hanya domain_register) mengembalikan ID operasi untuk dipolling dengan async_operation_get; semua alat lainnya selesai seketika.
Kontak adalah orang atau organisasi yang terkait dengan pendaftaran domain (registrant, admin, tech, billing). Sebuah kontak direferensikan di mana-mana dengan ID kontak-nya — string alfanumerik 27–32 karakter.
contacts_save — Simpan KontakMenyimpan detail kontak dan mengembalikan ID kontak yang dihasilkan. Validasi beberapa field (seperti stateProvince dan postalCode) bergantung pada negara yang dipilih.
Parameter: firstName
Wajib: Ya
Tipe & batasan: String, 1–64 karakter. Dapat menyertakan tanda hubung dan apostrof.
Parameter: lastName
Wajib: Ya
Tipe & batasan: String, 1–64 karakter. Dapat menyertakan tanda hubung dan apostrof.
Parameter: email
Wajib: Ya
Tipe & batasan: Alamat email yang valid, maks. 254 karakter.
Parameter: address1
Wajib: Ya
Tipe & batasan: Baris alamat 1. String, 1–128 karakter.
Parameter: city
Wajib: Ya
Tipe & batasan: String, 1–64 karakter.
Parameter: country
Wajib: Ya
Tipe & batasan: Kode negara dua huruf (ISO 3166-1 alpha-2), mis. US.
Parameter: phone
Wajib: Ya
Tipe & batasan: Format internasional +CountryCode.Number, mis. +1.2025551234. Maks. 32 karakter.
Parameter: organization
Wajib: Tidak
Tipe & batasan: Nama organisasi/perusahaan. 1–128 karakter.
Parameter: address2
Wajib: Tidak
Tipe & batasan: Baris alamat 2. 1–128 karakter.
Parameter: stateProvince
Wajib: Tidak
Tipe & batasan: Nama negara bagian/provinsi, 1–64 karakter. Mungkin diwajibkan tergantung negara.
Parameter: postalCode
Wajib: Tidak
Tipe & batasan: 1–16 karakter. Mungkin diwajibkan tergantung negara.
Parameter: phoneExt
Wajib: Tidak
Tipe & batasan: Ekstensi telepon, 1–16 karakter.
Parameter: fax
Wajib: Tidak
Tipe & batasan: Nomor faks, format +CountryCode.Number yang sama, maks. 32 karakter.
Parameter: faxExt
Wajib: Tidak
Tipe & batasan: Ekstensi faks, 1–16 karakter.
Parameter: taxNumber
Wajib: Tidak
Tipe & batasan: Nomor pajak, 1–32 karakter.
Mengembalikan
{ "contactId": "..." }
contactId (27–32 karakter alfanumerik) adalah yang Anda teruskan ke domain_register, domain_set_contacts, dan contacts_get.
contacts_get — Dapatkan KontakMembaca detail kontak yang disimpan berdasarkan ID kontaknya. (Tidak ada alat untuk mencantumkan semua kontak — ID kontak berasal dari contacts_save atau dari kolom contacts pada hasil domains_list.)
Parameter: contactId
Wajib: Ya
Tipe & batasan: ID kontak, 27–32 karakter alfanumerik.
Mengembalikan — { contact } dengan:
Kolom: firstName, lastName, email, address1, city, country, phone, postalCode
Tipe: String
Kolom: organization, address2, stateProvince, phoneExt, fax, faxExt, taxNumber
Tipe: String atau null
domains_list — Daftar DomainMengambil daftar domain Anda yang dipaginasi. Berikan domain untuk mengambil satu domain berdasarkan nama sebagai gantinya (paginasi dan pengurutan kemudian diabaikan, dan hasilnya menyertakan note yang menyatakan hal itu jika diberikan).
Parameter: domain
Wajib: Tidak
Tipe & batasan: Nama domain yang sepenuhnya memenuhi syarat (ASCII/A-label) untuk mengambil satu domain.
Parameter: take
Wajib: Tidak
Tipe & batasan: Item per halaman, 1–100. Default 10.
Parameter: skip
Wajib: Tidak
Tipe & batasan: Item yang dilewati, 0 atau lebih. Default 0.
Parameter: orderBy
Wajib: Tidak
Tipe & batasan: Hingga 8 kunci pengurutan: name, unicodeName, registrationDate, expirationDate; awali dengan - untuk urutan menurun (mis. -expirationDate).
Mengembalikan — { items, total } di mana setiap item menjelaskan sebuah domain:
Kolom: name / unicodeName
Arti: Nama domain dalam bentuk ASCII dan Unicode.
Kolom: isPremium
Arti: Apakah domain tersebut merupakan nama premium.
Kolom: autoRenew
Arti: Apakah perpanjangan otomatis diaktifkan.
Kolom: registrationDate / expirationDate
Arti: Stempel waktu pendaftaran dan kedaluwarsa.
Kolom: lifecycleStatus
Arti: creating, registered, grace1, grace2, atau redemption.
Kolom: verificationStatus
Arti: verification, success, failed, atau null jika tidak berlaku.
Kolom: eppStatuses
Arti: Kode status registri (mis. kunci transfer).
Kolom: suspensions
Arti: Penangguhan aktif, masing-masing dengan reasonCode.
Kolom: privacyProtection
Arti: { level: "public" | "high", contactForm: boolean }.
Kolom: nameservers
Arti: { provider: "basic" | "custom", hosts: [...] }.
Kolom: contacts
Arti: ID kontak: registrant, ditambah admin/tech/billing/attributes (dapat berupa null). Dapat dibaca melalui contacts_get.
domains_check_availability — Periksa Ketersediaan DomainMemeriksa apakah satu atau beberapa nama domain tersedia untuk didaftarkan.
Parameter: domains
Wajib: Ya
Tipe & batasan: 1–20 nama domain yang sepenuhnya memenuhi syarat (ASCII/A-label).
Mengembalikan — { results }, satu entri per nama yang diminta:
Kolom: domain
Arti: Nama yang diperiksa.
Kolom: result
Arti: available, taken, invalidDomainName, tldNotSupported, atau unexpectedError.
Kolom: premiumPricing
Arti: Untuk nama premium: daftar { operation, price, currency } di mana operation adalah register, transfer, renew, atau restore. Kosong untuk nama biasa.
domain_register — Daftarkan DomainMendaftarkan (membeli) domain. Ini menagih metode pembayaran default akun Anda dan tidak dapat dibatalkan. Urutan yang disarankan: domains_check_availability → contacts_save → domain_register. Alat ini segera mengembalikan status tertunda; pendaftaran itu sendiri selesai di latar belakang — periksa dengan async_operation_get.
Parameter: domain
Wajib: Ya
Tipe & batasan: Nama domain yang sepenuhnya memenuhi syarat untuk didaftarkan, mis. example.com.
Parameter: years
Wajib: Ya
Tipe & batasan: Periode pendaftaran dalam tahun, 1–10.
Parameter: autoRenew
Wajib: Ya
Tipe & batasan: Boolean. Saat true, domain diperpanjang secara otomatis saat kedaluwarsa menggunakan metode pembayaran default akun.
Parameter: privacy.level
Wajib: Ya
Tipe & batasan: high menyembunyikan detail kontak pendaftar dari WHOIS publik; public memublikasikannya.
Parameter: privacy.userConsent
Wajib: Ya
Tipe & batasan: Boolean. Harus mengonfirmasi bahwa Anda menyetujui pengaturan privasi yang dipilih.
Parameter: contacts.registrant
Wajib: Ya
Tipe & batasan: ID kontak (dari contacts_save).
Parameter: contacts.admin
Wajib: Ya
Tipe & batasan: ID kontak.
Parameter: contacts.tech
Wajib: Ya
Tipe & batasan: ID kontak.
Parameter: contacts.billing
Wajib: Ya
Tipe & batasan: ID kontak.
Parameter: contacts.attributes
Wajib: Tidak
Tipe & batasan: Hingga 5 ID kontak tambahan, hanya diperlukan untuk TLD tertentu.
Mengembalikan
{"operationId": "...","domain": "example.com","years": 1,"status": "pending","note": "Registration of example.com submitted. ..."}
Berikan operationId ke async_operation_get untuk memeriksa apakah pendaftaran berhasil.
domain_set_contacts — Atur Kontak DomainMengubah kontak yang ditetapkan ke domain yang Anda miliki. Selesai seketika (tanpa ID operasi).
Parameter: domainName
Wajib: Ya
Tipe & batasan: Nama domain yang sepenuhnya memenuhi syarat (ASCII/A-label).
Parameter: registrant
Wajib: Ya
Tipe & batasan: ID kontak.
Parameter: admin
Wajib: Tidak
Tipe & batasan: ID kontak, atau null.
Parameter: tech
Wajib: Tidak
Tipe & batasan: ID kontak, atau null.
Parameter: billing
Wajib: Tidak
Tipe & batasan: ID kontak, atau null.
Parameter: attributes
Wajib: Tidak
Tipe & batasan: Hingga 5 ID kontak, atau null.
Mengembalikan
{ "verificationStatus": "verification" }
verification — pendaftar harus mengonfirmasi alamat email mereka (email konfirmasi dikirim); success — sudah dikonfirmasi; null — konfirmasi tidak diperlukan untuk domain ini.
dns_records_get — Dapatkan Catatan DNSMengambil daftar catatan sumber daya DNS yang dipaginasi untuk sebuah domain.
Parameter: domainName
Wajib: Ya
Tipe & batasan: Domain yang catatannya akan diambil.
Parameter: take
Wajib: Tidak
Tipe & batasan: Item per halaman, 1–500. Default 100.
Parameter: skip
Wajib: Tidak
Tipe & batasan: Item yang dilewati, 0 atau lebih. Default 0.
Parameter: orderBy
Wajib: Tidak
Tipe & batasan: Hingga 8 kunci pengurutan: type, -type, name, -name.
Mengembalikan — { items, total }. Setiap item adalah record seperti yang dijelaskan di Bentuk record, ditambah field group opsional yang menunjukkan asal record (custom — dibuat oleh Anda, product — dikelola oleh produk Spaceship, personalNs — nameserver pribadi).
dns_records_save — Simpan Record DNSMenambahkan record DNS kustom atau memperbarui TTL dari record yang sudah ada. Record dicocokkan tanpa membedakan huruf besar/kecil, kecuali record TXT (peka huruf besar/kecil).
Parameter: domainName
Wajib: Ya
Tipe & batasan: Domain yang record-nya akan diperbarui.
Parameter: records
Wajib: Ya
Tipe & batasan: 1–500 record — lihat Bentuk record. Masing-masing dapat menyertakan ttl opsional.
Parameter: force
Wajib: Tidak
Tipe & batasan: Boolean. Melewati pemeriksaan penyelesaian konflik dan memaksa pembaruan zona.
Mengembalikan — { "saved": <number> }, jumlah record yang dikirimkan. Respons yang berhasil berarti semua record diterima; jika ada record yang gagal, seluruh panggilan akan mengembalikan error.
dns_records_delete — Hapus Record DNSMenghapus record DNS kustom. Penghapusan tidak dapat dibatalkan. Record dicocokkan tanpa membedakan huruf besar/kecil, kecuali record TXT (peka huruf besar/kecil).
Parameter: domainName
Wajib: Ya
Tipe & batasan: Domain yang record-nya akan dihapus.
Parameter: records
Wajib: Ya
Tipe & batasan: 1–500 record yang mengidentifikasi record yang ada — bentuknya sama seperti save, tetapi tanpa ttl.
Mengembalikan — { "deleted": <number> }, jumlah record yang dikirimkan.
Setiap record memiliki:
type — salah satu dari 13 tipe yang didukung di bawah ini.
name — nama record tidak termasuk domain: gunakan @ untuk domain itu sendiri (apex) dan * untuk wildcard.
ttl (hanya save, opsional) — waktu cache dalam detik, 60–3600.
Field khusus tipe:
Tipe: A
Field: address — alamat IPv4.
Tipe: AAAA
Field: address — alamat IPv6.
Tipe: CNAME
Field: cname — nama domain kanonis (maks. 253 karakter).
Tipe: ALIAS
Field: aliasName — nama domain kanonis; perilaku mirip CNAME untuk apex, tempat CNAME tidak diizinkan.
Tipe: NS
Field: nameserver — nama nameserver.
Tipe: PTR
Field: pointer — nama domain untuk alamat IP yang diberikan.
Tipe: TXT
Field: value — nilai teks (dicocokkan dengan peka huruf besar/kecil).
Tipe: MX
Field: exchange — server email; preference — prioritas (0–65535, yang lebih rendah lebih diutamakan).
Tipe: CAA
Field: flag — 0 atau 128 (bit kritis); tag — issue, issuewild, atau iodef; value — pengenal CA dengan parameter opsional.
Tipe: SRV
Field: service (mis. _sip); protocol (mis. _tcp); priority dan weight (0–65535); port (1–65535); target — nama domain server.
Tipe: TLSA
Field: usage, selector, matching (masing-masing 0–255); port — * atau _<1–65535>; protocol (mis. _tcp); associationData — hash sertifikat atau data.
Tipe: HTTPS
Field: svcPriority (0–65535; 0 = AliasMode); targetName — FQDN atau .; opsional port (* atau _<1–65535>), scheme (harus _https saat port ditetapkan), svcParams.
Tipe: SVCB
Field: svcPriority (0–65535; 0 = AliasMode); targetName — FQDN atau .; opsional port, scheme (mis. _tcp), svcParams.
async_operation_get — Dapatkan Status Operasi AsyncMemeriksa operasi berjalan lama yang dimulai oleh alat lain (saat ini domain_register). Panggil dengan operationId yang dikembalikan alat tersebut, dan ulangi sampai status adalah success atau failed.
Parameter: operationId
Wajib: Ya
Tipe & batasan: String alfanumerik, maks. 36 karakter, dikembalikan oleh alat yang memulai operasi.
Mengembalikan
Field: operationId
Arti: Operasi yang dipolling.
Field: status
Arti: pending, success, atau failed.
Field: type
Arti: Tipe operasi, atau null.
Field: details
Arti: Detail tambahan tentang operasi, atau null.
Field: createdAt / modifiedAt
Arti: Kapan operasi dibuat / terakhir diperbarui (modifiedAt dapat bernilai null).
Saat panggilan gagal, alat mengembalikan error dengan kode dan detail yang dapat dibaca manusia yang menjelaskan apa yang salah — misalnya input tidak valid (nama domain atau ID kontak yang salah format), domain atau kontak yang tidak ada, atau konflik dengan status saat ini. Jika alat ditolak karena assistant tidak diberi akses ke alat tersebut, sambungkan kembali Spaceship MCP dan setujui akses yang dimintanya.