Upfling.host

Alojamiento instantáneo de sitios web estáticos

Documentación

MCP SETUP

Conecta herramientas de IA

Dale a Claude o ChatGPT un deploy de Upfling en vivo. Describe el sitio; el asistente lo publica. Herramientas de codificación como Claude Code, Cursor, Windsurf y VS Code se conectan de la misma manera.

Servidor

URL
https://mcp.upfling.host/mcp
Autenticación
Inicia sesión con tu cuenta de Upfling, o con una clave API

Un solo endpoint para cada cliente. Iniciar sesión a través del cliente usa OAuth, por lo que ningún secreto toca un archivo de configuración. Una clave API funciona en cualquier lugar donde puedas establecer un encabezado.

¿Desplegando desde un pipeline? Puedes llamar a la API REST desde CI con la misma clave.

1

Paso 1

Conecta tu cliente

Comienza con Claude o ChatGPT: pega una URL, inicia sesión y estarás conectado. Nada que instalar. Las herramientas de codificación más abajo requieren un fragmento de configuración corto en su lugar.

Claude y Claude Desktop

Abre Configuración, luego Conectores, luego Agregar conector personalizado. Nómbralo Upfling, pega la URL de abajo e inicia sesión cuando Claude lo pida. No hay nada más que completar: Claude se registra solo y Upfling emite el token.

Upfling también aparece en el directorio de conectores de Claude, que hace la misma configuración sin la URL. Mira lo que hace el conector.

https://mcp.upfling.host/mcp

ChatGPT

Abre Configuración, luego Conectores, luego Crear. Pega la URL de abajo e inicia sesión cuando ChatGPT lo pida. En un chat normal y en Deep Research, ChatGPT puede leer tus sitios: los busca y obtiene una página o un archivo. Para publicar y editar desde ChatGPT, activa el Modo Desarrollador en Configuración, luego Conectores; pide confirmación antes de cada escritura.

https://mcp.upfling.host/mcp

Herramientas de codificación

Para personas que trabajan en una terminal o un editor. Iniciar sesión sigue siendo la opción predeterminada; el formulario de clave se usa donde la herramienta admite encabezados. Cada una se configura con un archivo JSON. Si un cliente no arranca después de pegar el bloque, verifica que el JSON se analice correctamente antes de buscar en otro lugar.

Claude Code

Un comando agrega el servidor; luego escribe /mcp dentro de Claude Code, elige upfling e inicia sesión. Si prefieres no iniciar sesión, pasa una clave como encabezado, o guarda el JSON como .mcp.json y mantén la clave en una variable de entorno 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

Guárdalo como .cursor/mcp.json en tu proyecto, o ~/.cursor/mcp.json para usarlo en todas partes. Cursor te pedirá iniciar sesión; agrega el bloque de encabezados si prefieres usar una clave.

.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

Agrégalo a ~/.codeium/windsurf/mcp_config.json y coloca tu clave API en lugar de upf_YOUR_KEY_HERE; la compatibilidad de inicio de sesión de Windsurf no está verificada, así que este usa el formulario de clave. Windsurf llama al campo serverUrl, no url.

~/.codeium/windsurf/mcp_config.json

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

VS Code (Copilot)

Guárdalo como .vscode/mcp.json. VS Code te pedirá iniciar sesión. La segunda forma usa un bloque de entradas para que VS Code pida la clave una vez y la guarde en su propio almacén de secretos, y nada llegue a 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}"
      }
    }
  }
}

Otros clientes

Cualquier cliente que hable Streamable HTTP funciona con la URL al inicio de esta página, iniciando sesión mediante OAuth o enviando un encabezado de clave API. Los clientes que no pueden hacer ninguna de las dos pueden pasar por mcp-remote.

Terminal

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

2

Paso 2

O usa una clave API

Para CI, scripts o un cliente que no puede abrir un navegador. Crea una clave en la página de claves API y cópiala; solo la verás una vez. Donde un fragmento muestre el marcador de posición de abajo, pega tu clave.

Abrir claves API →

upf_YOUR_KEY_HERE

3

Paso 3

Prueba un prompt

Una vez que el cliente liste las herramientas de Upfling, pide algo concreto.

  • Despliega este HTML como un sitio en vivo llamado portfolio.
  • Lista mis sitios de Upfling y dime cuáles siguen pendientes.
  • Corrige el error tipográfico en index.html en mi-portfolio y vuelve a desplegar.
  • ¿Cuánto almacenamiento estoy usando y cuántos sitios puedo crear todavía?

Lo que el asistente puede hacer

Quince herramientas. El asistente las elige por sí mismo, así que nunca escribes un nombre de herramienta, pero saber qué existe te ayuda a pedir lo correcto.

Sitios

list_sites
Cada sitio en la cuenta, con URL y estado.
get_site
Detalles de un sitio: URL, estado y cuándo cambió por última vez.
create_site
Publica un nuevo sitio desde archivos de texto en línea.
update_site
Renombra un sitio, cambia su subdominio, establece una contraseña o página de inicio.
delete_site
Mueve un sitio a la papelera, o elimínalo definitivamente.

Archivos

write_site_files
Agrega o sobrescribe archivos específicos. Todo lo demás permanece.
replace_site_files
Intercambia todo el conjunto de archivos. Los archivos que no estén en la llamada se eliminan.
read_site_file
Lee un archivo de vuelta, en línea o como un enlace de corta duración.
list_site_files
Lista los archivos de un sitio con tamaño y tipo.
delete_site_files
Elimina un archivo. El sitio sigue en vivo.

Archivos grandes

request_upload
Reserva URLs de carga para archivos binarios o cualquier cosa de más de 1 MB.
confirm_upload
Publica un lote cargado una vez que cada archivo esté en su lugar.

Búsqueda

search
Encuentra tus sitios y archivos por nombre, título, descripción, dominio o ruta. ChatGPT comienza aquí.
fetch
Lee un resultado de búsqueda: un resumen del sitio con su lista de archivos, o el contenido de un archivo.

Cuenta

get_account_info
Plan, cantidad de sitios, almacenamiento usado y lo que queda.

Límites y notas

  • Archivos en línea: hasta 200 archivos por llamada, 1 MB por archivo, solo texto (HTML, CSS, JS, SVG, JSON).
  • Imágenes, fuentes, PDFs y cualquier cosa de más de 1 MB pasan por request_upload y confirm_upload: el asistente pide URLs de carga pre-firmadas, sube los bytes por sí mismo y luego confirma el lote.
  • Los límites del plan se aplican exactamente como en el panel: 2 sitios y 25 MB en Free, más en planes de pago.
  • Los límites de tasa se comparten con la API REST: 60 solicitudes por minuto en Free, 300 en Lite y Pro, 600 en Business.
  • Iniciar sesión otorga al cliente sitios:lectura y sitios:escritura solo para tu cuenta. Las claves API son las mismas claves upf_ que usa la API REST; revoca una en la página de claves API y cada cliente que la use se detiene en segundos.

Si algo falla

La página de inicio de sesión nunca se abre
El cliente no pudo alcanzar el servidor o es una versión antigua sin soporte OAuth. Verifica que la URL termine en /mcp, actualiza el cliente o usa el formulario de clave API por ahora.
401 No autorizado
El inicio de sesión expiró o la clave es incorrecta, fue revocada o le falta el prefijo upf_. Inicia sesión de nuevo, o crea una nueva clave en la página de claves API y actualiza la configuración.
insufficient_scope en una escritura
Aprobaste solo acceso de lectura. Elimina el servidor del cliente y agrégalo de nuevo, luego aprueba ambos alcances en la pantalla de consentimiento.
429 Demasiadas solicitudes
Alcanzaste el límite por minuto de tu plan. Espera a que pase el encabezado Retry-After, o muévete a un plan con un límite más alto.
El asistente dice que no tiene herramientas de Upfling
Reinicia el cliente después de editar su configuración. La mayoría de los clientes leen la configuración de MCP solo al iniciar.

Las claves API son las mismas que la 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"}]}