Upfling.host

Hospedagem instantânea de sites estáticos

Documentação

MCP SETUP

Conecte ferramentas de IA

Dê ao Claude ou ao ChatGPT um deploy Upfling ao vivo. Descreva o site; o assistente o publica. Ferramentas de codificação como Claude Code, Cursor, Windsurf e VS Code conectam-se da mesma forma.

Servidor

URL
https://mcp.upfling.host/mcp
Auth
Entre com sua conta Upfling ou uma chave de API

Um único endpoint para todos os clientes. Entrar pelo cliente usa OAuth, então nenhum segredo toca um arquivo de configuração. Uma chave de API funciona em qualquer lugar onde você possa definir um cabeçalho.

Fazendo deploy a partir de um pipeline? Você pode chamar a API REST do CI com a mesma chave.

1

Passo 1

Conecte seu cliente

Comece com Claude ou ChatGPT: cole uma URL, entre e você estará conectado. Nada para instalar. As ferramentas de codificação mais abaixo usam um pequeno trecho de configuração.

Claude e Claude Desktop

Abra Configurações, depois Conectores, depois Adicionar conector personalizado. Nomeie como Upfling, cole a URL abaixo e entre quando o Claude pedir. Nada mais para preencher: o Claude se registra e o Upfling emite o token.

O Upfling também está listado no diretório de conectores do Claude, que faz a mesma configuração sem a URL. Veja o que o conector faz.

https://mcp.upfling.host/mcp

ChatGPT

Abra Configurações, depois Conectores, depois Criar. Cole a URL abaixo e entre quando o ChatGPT pedir. Em um chat normal e no Deep Research, o ChatGPT pode ler seus sites: ele os pesquisa e busca uma página ou arquivo. Para publicar e editar pelo ChatGPT, ative o Modo Desenvolvedor em Configurações, depois Conectores; ele pede confirmação antes de cada escrita.

https://mcp.upfling.host/mcp

Ferramentas de codificação

Para quem trabalha em um terminal ou editor. Entrar ainda é o padrão; o formulário de chave aparece onde a ferramenta suporta cabeçalhos. Cada uma é configurada com um arquivo JSON. Se um cliente não iniciar após colar o bloco, verifique se o JSON é válido antes de procurar em qualquer outro lugar.

Claude Code

Um comando adiciona o servidor; depois digite /mcp dentro do Claude Code, escolha upfling e entre. Se preferir não entrar, passe uma chave como cabeçalho, ou salve o JSON como .mcp.json e mantenha a chave em uma variável de ambiente UPFLING_API_KEY.

Terminal

claude mcp add --transport http upfling https://mcp.upfling.host/mcp

Terminal

claude mcp add --transport http upfling https://mcp.upfling.host/mcp \
  --header "Authorization: Bearer upf_YOUR_KEY_HERE"

.mcp.json

{
  "mcpServers": {
    "upfling": {
      "type": "http",
      "url": "https://mcp.upfling.host/mcp",
      "headers": {
        "Authorization": "Bearer ${UPFLING_API_KEY}"
      }
    }
  }
}

Cursor

Salve como .cursor/mcp.json no seu projeto, ou ~/.cursor/mcp.json para usar em todos os lugares. O Cursor pede para você entrar; adicione o bloco de cabeçalhos se preferir usar uma chave.

.cursor/mcp.json

{
  "mcpServers": {
    "upfling": {
      "url": "https://mcp.upfling.host/mcp"
    }
  }
}

.cursor/mcp.json

{
  "mcpServers": {
    "upfling": {
      "url": "https://mcp.upfling.host/mcp",
      "headers": {
        "Authorization": "Bearer upf_YOUR_KEY_HERE"
      }
    }
  }
}

Windsurf

Adicione em ~/.codeium/windsurf/mcp_config.json e coloque sua chave de API no lugar de upf_YOUR_KEY_HERE; o suporte de login do Windsurf não é verificado, então este usa o formulário de chave. O Windsurf chama o campo de serverUrl, não url.

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "upfling": {
      "serverUrl": "https://mcp.upfling.host/mcp",
      "headers": {
        "Authorization": "Bearer upf_YOUR_KEY_HERE"
      }
    }
  }
}

VS Code (Copilot)

Salve como .vscode/mcp.json. O VS Code pede para você entrar. O segundo formulário usa um bloco de entradas para que o VS Code peça a chave uma vez e a mantenha em seu próprio armazenamento secreto, sem que nada vá para o git.

.vscode/mcp.json

{
  "servers": {
    "upfling": {
      "type": "http",
      "url": "https://mcp.upfling.host/mcp"
    }
  }
}

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "upfling-api-key",
      "description": "Upfling API key",
      "password": true
    }
  ],
  "servers": {
    "upfling": {
      "type": "http",
      "url": "https://mcp.upfling.host/mcp",
      "headers": {
        "Authorization": "Bearer ${input:upfling-api-key}"
      }
    }
  }
}

Outros clientes

Qualquer cliente que fale Streamable HTTP funciona com a URL no topo desta página, entrando via OAuth ou enviando um cabeçalho de chave de API. Clientes que não conseguem nenhum dos dois podem passar pelo mcp-remote.

Terminal

npx -y mcp-remote https://mcp.upfling.host/mcp \
  --header "Authorization: Bearer upf_YOUR_KEY_HERE"

2

Passo 2

Ou use uma chave de API

Para CI, scripts ou um cliente que não pode abrir um navegador. Crie uma chave na página de chaves de API e copie-a; você só a vê uma vez. Onde um trecho mostrar o espaço reservado abaixo, cole sua chave.

Abrir chaves de API →

upf_YOUR_KEY_HERE

3

Passo 3

Experimente um prompt

Quando o cliente listar as ferramentas Upfling, peça algo concreto.

  • Faça o deploy deste HTML como um site ao vivo chamado portfolio.
  • Liste meus sites Upfling e diga quais ainda estão pendentes.
  • Corrija o erro de digitação em index.html no meu-portfolio e faça o deploy novamente.
  • Quanto armazenamento estou usando e quantos sites ainda posso criar?

O que o assistente pode fazer

Quinze ferramentas. O assistente as escolhe sozinho, então você nunca digita um nome de ferramenta, mas saber o que existe ajuda a pedir a coisa certa.

Sites

list_sites
Todos os sites da conta, com URL e status.
get_site
Detalhes de um site: URL, status e quando foi alterado pela última vez.
create_site
Publique um novo site a partir de arquivos de texto inline.
update_site
Renomeie um site, altere seu subdomínio, defina uma senha ou página inicial.
delete_site
Mova um site para a lixeira ou exclua-o permanentemente.

Arquivos

write_site_files
Adicione ou sobrescreva arquivos específicos. Todo o resto permanece.
replace_site_files
Troque todo o conjunto de arquivos. Arquivos não incluídos na chamada são removidos.
read_site_file
Leia um arquivo de volta, inline ou como um link de curta duração.
list_site_files
Liste os arquivos de um site com tamanho e tipo.
delete_site_files
Remova um arquivo. O site continua no ar.

Arquivos grandes

request_upload
Reserve URLs de upload para arquivos binários ou qualquer coisa acima de 1 MB.
confirm_upload
Publique um lote enviado assim que todos os arquivos estiverem no lugar.

Pesquisa

search
Encontre seus sites e arquivos por nome, título, descrição, domínio ou caminho. O ChatGPT começa aqui.
fetch
Leia um resultado de pesquisa: um resumo do site com sua lista de arquivos, ou o conteúdo de um arquivo.

Conta

get_account_info
Plano, contagem de sites, armazenamento usado e o que resta.

Limites e observações

  • Arquivos inline: até 200 arquivos por chamada, 1 MB por arquivo, somente texto (HTML, CSS, JS, SVG, JSON).
  • Imagens, fontes, PDFs e qualquer coisa acima de 1 MB passam por request_upload e confirm_upload: o assistente pede URLs de upload pré-assinadas, envia os bytes para elas e depois confirma o lote.
  • Os limites do plano se aplicam exatamente como no painel: 2 sites e 25 MB no Free, mais nos planos pagos.
  • Os limites de taxa são compartilhados com a API REST: 60 requisições por minuto no Free, 300 no Lite e Pro, 600 no Business.
  • Entrar concede ao cliente sites:read e sites:write apenas para sua conta. As chaves de API são as mesmas chaves upf_ que a API REST usa; revogue uma na página de chaves de API e todo cliente que a usa para em segundos.

Se algo falhar

A página de login nunca abre
O cliente não conseguiu alcançar o servidor ou é uma versão antiga sem suporte a OAuth. Verifique se a URL termina em /mcp, atualize o cliente ou use o formulário de chave de API por enquanto.
401 Não autorizado
O login expirou ou a chave está errada, revogada ou sem o prefixo upf_. Entre novamente ou crie uma nova chave na página de chaves de API e atualize a configuração.
insufficient_scope em uma escrita
Você aprovou apenas acesso de leitura. Remova o servidor do cliente e adicione-o novamente, depois aprove os dois escopos na tela de consentimento.
429 Muitas requisições
Você atingiu o limite por minuto do seu plano. Aguarde o cabeçalho Retry-After passar ou mude para um plano com limite maior.
O assistente diz que não tem ferramentas Upfling
Reinicie o cliente após editar sua configuração. A maioria dos clientes lê as configurações MCP apenas na inicialização.

As chaves de API são as mesmas da API REST.

{"@context":"https://schema.org","@type":"Organization","@id":"https://upfling.host/#organization","name":"Upfling","legalName":"Upfling","url":"https://upfling.host/","logo":"https://upfling.host/logo512.png","contactPoint":[{"@type":"ContactPoint","contactType":"customer support","email":"support@upfling.host"}],"sameAs":["https://x.com/upflinghost"]}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://upfling.host/"},{"@type":"ListItem","position":2,"name":"MCP Setup","item":"https://upfling.host/docs/mcp"}]}