@shipsite/mcp
oficialImplantar sites estáticos
O que você pode fazer com Shipsite MCP?
- Implantar um site estático a partir de arquivos — Peça ao assistente para criar uma URL ativa enviando HTML, CSS, JS ou imagens via
deploy_site. - Listar e inspecionar sites implantados — Recupere todos os sites ativos com
list_sitesou obtenha detalhes, listas de arquivos e expiração de um site específico comget_site. - Atualizar o conteúdo ou o nome de um site ativo — Modifique arquivos, adicione um slug personalizado ou remova um nome de um site existente usando
rename_sitee o fluxo de atualização. - Controlar a expiração do site — Evite a expiração automática com
pin_siteou reaplique o TTL de 24 horas comunpin_site. - Gerenciar chaves de API — Crie, rotacione ou revogue chaves usando
create_key,rotate_keyerevoke_keypara manter o acesso à conta seguro. - Verificar o status da conta — Visualize os detalhes da conta e a contagem de sites ativos com
get_account.
Documentação
shipsite.sh
API de hospedagem de sites estáticos para LLMs. Implante sites com uma única chamada de API. Sem git, sem etapas de build, sem painéis. US$ 0,10/site/dia.
O shipsite.sh permite que agentes LLM implantem sites estáticos enviando arquivos como JSON via POST e recebendo uma URL ativa. Os sites são servidos globalmente em uma rede de borda CDN com HTTPS, expiram automaticamente após 24 horas, a menos que sejam fixados, e custam US$ 0,10 por site por dia (rateado diariamente, cobrado mensalmente via Stripe). Não há camada gratuita — o pagamento é necessário antes que qualquer implantação funcione.
URL base da API: https://api.shipsite.sh Autenticação: Bearer sk_live_… (todos os endpoints, exceto criação de conta) IMPORTANTE: As chaves de API são exibidas apenas uma vez quando criadas e não podem ser recuperadas posteriormente. Armazene a chave imediatamente. Se perdida, não há recuperação — você deve criar uma nova chave enquanto autenticado ou criar uma nova conta se estiver bloqueado. As chaves ficam inertes (retornam 402) até que o checkout do Stripe seja concluído.
Início rápido:
- POST /v1/accounts com { "email": "voce@exemplo.com" } — retorna api_key + setup_url
- Abra setup_url para concluir o checkout do Stripe e ativar a chave
- POST /v1/sites com Authorization: Bearer sk_live_… e { "files": { "index.html": "…" } } — retorna { "url": "https://site\_abc123.shipsite.sh" }
Endpoints:
- POST /v1/accounts (sem autenticação): Criar conta. Corpo: { "email": "…" }. Retorna: { "api_key": "sk_live_…", "setup_url": "https://checkout.stripe.com/…", "status": "pending" }. IMPORTANTE: A api_key é exibida apenas uma vez — armazene-a imediatamente.
- POST /v1/sites: Criar um site. Corpo: { "files": { "caminho": "conteúdo" }, "name": "slug-opcional", "meta": {} }. Arquivos de texto como strings, arquivos binários com prefixo "base64:". Retorna: { "id": "site_…", "url": "https://….shipsite.sh", "expires_at": "…" }
- GET /v1/sites: Listar sites. Suporta paginação com ?limit= e ?offset=.
- GET /v1/sites/:id: Obter detalhes do site (metadados, lista de arquivos, expiração).
- PUT /v1/sites/:id: Atualizar um site. O corpo aceita "files", "name" e/ou "meta" (pelo menos um obrigatório). Arquivos omitidos permanecem inalterados. Defina um arquivo como null para excluí-lo. Defina "name" como uma string para adicionar ou alterar o slug personalizado, ou null para removê-lo.
- DELETE /v1/sites/:id: Excluir um site imediatamente. A cobrança é interrompida.
- POST /v1/sites/:id/pin: Remover a expiração automática. O site persiste até ser excluído.
- POST /v1/sites/:id/unpin: Reaplicar TTL de 24h a partir do momento atual.
- GET /v1/accounts/me: Obter status da conta e contagem de sites ativos.
- GET /v1/accounts/me/keys: Listar todas as chaves de API (ativas e revogadas) da conta.
- POST /v1/accounts/me/keys: Criar uma nova chave de API. Retorna a chave completa uma vez — armazene-a imediatamente, ela não pode ser recuperada posteriormente.
- POST /v1/accounts/me/keys/rotate: Criar atomicamente uma nova chave e revogar uma antiga. Corpo: { "revoke_key_id": "key_…" } (opcional — omita para revogar a chave atual).
- DELETE /v1/accounts/me/keys/:id: Revogar uma chave de API. Não é possível revogar a última chave ativa.
Regras de codificação de arquivos:
- Arquivos de texto (.html, .css, .js, .svg, .json, .txt, .xml, .md): envie como strings simples
- Arquivos binários (.png, .jpg, .gif, .webp, .ico, .woff2, .pdf): prefixo "base64:" + conteúdo em base64
Regras de nome do site (campo opcional "name" em POST /v1/sites ou PUT /v1/sites/:id):
- 3–63 caracteres, apenas letras minúsculas, números e hífens
- Deve começar e terminar com uma letra ou número
- Sem hífens consecutivos (--)
- Globalmente único — colisões retornam 409 com código "name_taken"
- Pode ser definido na criação ou adicionado/alterado/removido posteriormente via PUT
- Defina como null no PUT para remover o nome de um site existente
- Nomes reservados (não podem ser usados): 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
Comportamento do site:
- Servido em https://{site_id}.shipsite.sh (ou https://{name}.shipsite.sh se nomeado)
- index.html servido para / e como fallback SPA
- HTTPS em todos os sites, CDN global, CORS: Access-Control-Allow-Origin: *
- Nenhum conteúdo injetado — sites servidos exatamente como enviados
- Expiração automática após 24 horas, a menos que fixado
Limites: 1.000 sites ativos, 120 implantações/hora, 100 arquivos/site, 15 MB de carga total, 5 MB por arquivo, 100.000 requisições/site/dia.
Formato de erro: { "error": { "code": "…", "message": "Descrição acionável do que deu errado, por que e como corrigir.", "details": { … } } } Códigos comuns: payment_required (402), rate_limited (429), validation_error (400), not_found (404).
Documentação
- Referência da API: Detalhes completos dos endpoints, exemplos e regras de codificação de arquivos
- Termos de Serviço: Política de uso aceitável, processo DMCA, conteúdo proibido
Servidor MCP
- @shipsite/mcp: Pacote de servidor MCP para Claude Code, Cursor e Windsurf
Configuração MCP: { "mcpServers": { "shipsite": { "command": "npx", "args": ["@shipsite/mcp"], "env": { "SHIPSITE_API_KEY": "sk_live_…" } } } }
Ferramentas: 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
Opcional
- Página inicial: Site de marketing com exemplos visuais e detalhamento de preços
- Exemplos de preços: 1 site/30 dias = US$ 3, 10 sites/30 dias = US$ 30, 1 site/2 horas = US$ 0,10