@shipsite/mcp Server

resmi

Statik web siteleri dağıtın

Dokümantasyon

shipsite.sh

Yapay zeka modelleri için statik site barındırma API'si. Tek bir API çağrısıyla siteleri yayınlayın. Git yok, derleme adımı yok, kontrol paneli yok. Günlük site başına $0.10.

shipsite.sh, yapay zeka ajanlarının dosyaları JSON olarak POST edip canlı bir URL alarak statik web siteleri yayınlamasını sağlar. Siteler, HTTPS ile küresel bir CDN uç ağında sunulur, sabitlenmedikçe 24 saat sonra otomatik olarak sona erer ve günlük site başına $0.10 ücretlendirilir (günlük orantılı, Stripe üzerinden aylık faturalandırılır). Ücretsiz katman yok — herhangi bir yayınlama işleminin çalışması için ödeme gereklidir.

API temel URL'si: https://api.shipsite.sh Kimlik doğrulama: Bearer sk_live_… (hesap oluşturma hariç tüm uç noktalar) ÖNEMLİ: API anahtarları oluşturulduklarında yalnızca bir kez gösterilir ve daha sonra alınamaz. Anahtarı hemen saklayın. Kaybolursa kurtarma yoktur — kimliği doğrulanmışken yeni bir anahtar oluşturmalı veya hesaba erişiminiz yoksa yeni bir hesap açmalısınız. Anahtarlar, Stripe ödeme işlemi tamamlanana kadar etkisizdir (402 döndürür).

Hızlı başlangıç:

  1. { "email": "[email protected]" } ile POST /v1/accounts — api_key + setup_url döndürür
  2. Stripe ödemesini tamamlamak ve anahtarı etkinleştirmek için setup_url'yi açın
  3. Authorization: Bearer sk_live_… ve { "files": { "index.html": "…" } } ile POST /v1/sites — { "url": "https://site\_abc123.shipsite.sh" } döndürür

Uç noktalar:

  • POST /v1/accounts (kimlik doğrulamasız): Hesap oluştur. Gövde: { "email": "…" }. Döndürür: { "api_key": "sk_live_…", "setup_url": "https://checkout.stripe.com/…", "status": "pending" }. ÖNEMLİ: api_key yalnızca bir kez gösterilir — hemen saklayın.
  • POST /v1/sites: Site oluştur. Gövde: { "files": { "path": "content" }, "name": "optional-slug", "meta": {} }. Metin dosyaları dize olarak, ikili dosyalar "base64:" önekiyle. Döndürür: { "id": "site_…", "url": "https://….shipsite.sh", "expires_at": "…" }
  • GET /v1/sites: Siteleri listele. ?limit= ve ?offset= sayfalandırmasını destekler.
  • GET /v1/sites/:id: Site ayrıntılarını al (üst veri, dosya listesi, son kullanma).
  • PUT /v1/sites/:id: Bir siteyi güncelle. Gövde "files", "name" ve/veya "meta" kabul eder (en az biri zorunludur). Atlanan dosyalar değişmez. Bir dosyayı silmek için null olarak ayarlayın. Özel ad eklemek veya değiştirmek için "name"i bir dizeye, kaldırmak için null olarak ayarlayın.
  • DELETE /v1/sites/:id: Bir siteyi hemen sil. Faturalandırma durur.
  • POST /v1/sites/:id/pin: Otomatik sona ermeyi kaldır. Site silinene kadar kalıcı olur.
  • POST /v1/sites/:id/unpin: Geçerli zamandan itibaren 24 saatlik TTL'yi yeniden uygula.
  • GET /v1/accounts/me: Hesap durumunu ve aktif site sayısını al.
  • GET /v1/accounts/me/keys: Hesaba ait tüm API anahtarlarını (aktif ve iptal edilmiş) listele.
  • POST /v1/accounts/me/keys: Yeni bir API anahtarı oluştur. Tam anahtarı bir kez döndürür — hemen saklayın, daha sonra alınamaz.
  • POST /v1/accounts/me/keys/rotate: Atomik olarak yeni bir anahtar oluştur ve eski bir anahtarı iptal et. Gövde: { "revoke_key_id": "key_…" } (isteğe bağlı — mevcut anahtarı iptal etmek için atlayın).
  • DELETE /v1/accounts/me/keys/:id: Bir API anahtarını iptal et. Son aktif anahtar iptal edilemez.

Dosya kodlama kuralları:

  • Metin dosyaları (.html, .css, .js, .svg, .json, .txt, .xml, .md): düz dizeler olarak gönderin
  • İkili dosyalar (.png, .jpg, .gif, .webp, .ico, .woff2, .pdf): "base64:" öneki + base64 içerik

Site adı kuralları (POST /v1/sites veya PUT /v1/sites/:id üzerinde isteğe bağlı "name" alanı):

  • 3–63 karakter, yalnızca küçük harfler, rakamlar ve tireler
  • Bir harf veya rakamla başlamalı ve bitmeli
  • Ardışık tire (--) olmamalı
  • Küresel olarak benzersiz — çakışmalar "name_taken" koduyla 409 döndürür
  • Oluşturma sırasında ayarlanabilir veya daha sonra PUT ile eklenebilir/değiştirilebilir/kaldırılabilir
  • Mevcut bir siteden adı kaldırmak için PUT'ta null olarak ayarlayın
  • Ayrılmış adlar (kullanılamaz): api, www, app, admin, dashboard, billing, docs, help, support, status, blog, mail, smtp, ftp, cdn, assets, static, login, signup, auth, account, accounts, settings, config, setup, test, staging, dev, prod, internal

Site davranışı:

  • https://{site_id}.shipsite.sh adresinde sunulur (adlandırılmışsa https://{name}.shipsite.sh)
  • index.html, / için ve SPA yedek olarak sunulur
  • Tüm sitelerde HTTPS, küresel CDN, CORS: Access-Control-Allow-Origin: *
  • Enjekte edilmiş içerik yok — siteler tam olarak yüklendiği gibi sunulur
  • Sabitlenmedikçe 24 saat sonra otomatik olarak sona erer

Sınırlar: 1.000 aktif site, saatte 120 yayınlama, site başına 100 dosya, 15 MB toplam yük, dosya başına 5 MB, site başına günde 100.000 istek.

Hata biçimi: { "error": { "code": "…", "message": "Neyin yanlış gittiğini, nedenini ve nasıl düzeltileceğini açıklayan eyleme dönük açıklama.", "details": { … } } } Yaygın kodlar: payment_required (402), rate_limited (429), validation_error (400), not_found (404).

Belgeler

  • API Referansı: Tam uç nokta ayrıntıları, örnekler ve dosya kodlama kuralları
  • Hizmet Şartları: Kabul edilebilir kullanım politikası, DMCA süreci, yasaklı içerik

MCP Sunucusu

  • @shipsite/mcp: Claude Code, Cursor ve Windsurf için MCP sunucu paketi

MCP yapılandırması: { "mcpServers": { "shipsite": { "command": "npx", "args": ["@shipsite/mcp"], "env": { "SHIPSITE_API_KEY": "sk_live_…" } } } }

Araçlar: deploy_site, list_sites, get_site, delete_site, pin_site, unpin_site, rename_site, create_account, get_account, list_keys, create_key, rotate_key, revoke_key

İsteğe Bağlı

  • Ana Sayfa: Görsel örnekler ve fiyatlandırma dökümü içeren pazarlama sitesi
  • Fiyatlandırma örnekleri: 1 site/30 gün = $3, 10 site/30 gün = $30, 1 site/2 saat = $0.10