chorus.host
Publica HTML, sitios estáticos y archivos a una URL en vivo desde cualquier agente, sin necesidad de cuenta.
Servidor MCP alojado
npx add-mcp 'https://chorus.host/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Servidor MCP para publicar un sitio web y obtener una URL pública
https://chorus.host/mcp es un servidor MCP remoto. Añádelo a Claude Code, Codex, Cursor o claude.ai y tu agente podrá publicar HTML, un archivo o un sitio estático completo con una sola llamada a publish_site. Recibe de vuelta un enlace https://<name>.chorus.host en vivo y un enlace de reclamación. Sin cuenta, sin instalación, sin clave API.
De un vistazo
| Endpoint | https://chorus.host/mcp |
| Transporte | HTTP transmisible, sin estado |
| Autenticación | Ninguna. Authorization: Bearer chk_... opcional publica en tu cuenta |
| Herramientas | publish_site, get_site, get_docs |
| Por llamada | 4 MB de archivos sin clave, 10 MB con una; hasta 1.000 archivos |
| Sitios sin cuenta | En vivo durante 24 horas; un enlace de reclamación los conserva |
| Publicaciones por hora | 5 por dirección IP sin clave, 60 por cuenta con una |
| Nombre en el Registro MCP oficial | host.chorus/mcp |
| Precio | Gratis |
Añádelo a tu cliente
Verificado el 1 de octubre de 2026. Los comandos de Claude Code y Codex se ejecutaron contra este servidor ese día; las entradas de Cursor y VS Code siguen el formato de configuración documentado de cada cliente y no fueron ejecutadas por nosotros.
Claude Code
claude mcp add --transport http chorus https://chorus.host/mcp
claude mcp list debería mostrar chorus: https://chorus.host/mcp (HTTP) - ✔ Connected.
Codex CLI
codex mcp add chorus --url https://chorus.host/mcp
Esto escribe una entrada [mcp_servers.chorus] con la URL en ~/.codex/config.toml. El sandbox workspace-write predeterminado de Codex no tiene red, así que aprueba la solicitud de red cuando Codex la pida, o consulta la sección de Codex en la guía de Claude Code y Codex.
opencode
En opencode.json:
{ "mcp": { "chorus": { "type": "remote", "url": "https://chorus.host/mcp" } } }
Cursor
En ~/.cursor/mcp.json (todos los proyectos) o .cursor/mcp.json (un proyecto):
{ "mcpServers": { "chorus": { "url": "https://chorus.host/mcp" } } }
VS Code
En .vscode/mcp.json:
{ "servers": { "chorus": { "type": "http", "url": "https://chorus.host/mcp" } } }
claude.ai y Claude Desktop
Personaliza, luego Conectores, luego + y Añadir conector personalizado. Nómbralo chorus.host y pega https://chorus.host/mcp como URL. No hay paso de OAuth. El plan gratuito permite un conector personalizado.
ChatGPT
ChatGPT solo puede usar herramientas MCP que escriben (publicar es una escritura) en espacios de trabajo Business y Enterprise o Edu, en la web, mediante el modo desarrollador (Configuración, Aplicaciones, Configuración avanzada). En Pro, los conectores del modo desarrollador pueden leer y obtener, pero no escribir, según el centro de ayuda de OpenAI del 1 de octubre de 2026. El artículo no menciona Plus, así que espera lo mismo allí a menos que pruebes lo contrario. En Pro o Plus, descarga el HTML que ChatGPT haya creado y colócalo en chorus.host/html-to-url en su lugar.
Una nota sobre direcciones compartidas: claude.ai y ChatGPT llaman a los servidores MCP desde sus propios servidores, por lo que sus solicitudes comparten un pequeño número de direcciones IP. Publicar sin clave está limitado a 5 por hora por dirección IP, y ese presupuesto puede agotarse en una dirección compartida. Si ves un error de límite de velocidad allí, añade tu clave API como cabecera Authorization: Bearer chk_... (60 por hora por cuenta).
Lo que obtiene tu agente
Esta referencia se genera a partir de las definiciones de herramientas que registra el servidor, por lo que coincide con lo que devuelve tools/list.
publish_site: Publicar sitio web
Publica un sitio web o cualquier archivo (PDF, imagen, HTML, CSS/JS) en una URL HTTPS pública y en vivo en .chorus.host con una sola llamada. Los archivos conservan su tipo de contenido, por lo que los PDF e imágenes se abren en el navegador.
| Argumento | Tipo | Obligatorio | Qué es |
|---|---|---|---|
claim_token | string | no | El claim_token (ctk_...) devuelto cuando el sitio se publicó por primera vez. Obligatorio para actualizar un sitio anónimo. |
expires_at | string | no | Opcional. Cuándo debe eliminarse el sitio: RFC 3339 (2026-10-08T00:00:00Z) o una duración desde ahora (90m, 2h, 7d). |
files | array de objeto | sí | Cada archivo del sitio. Cada llamada crea una nueva versión con exactamente estos archivos; las versiones anteriores se conservan. |
password | objeto | no | Opcional. Coloca el sitio detrás de un aviso de inicio de sesión del navegador (Autenticación Básica HTTP). |
slug | string | no | Opcional. Subdominio al que publicar (3-63 letras minúsculas, dígitos y guiones). |
title | string | no | Título legible opcional guardado con el sitio. |
Devuelve: anonymous, claim_token, claim_url, expires_at, file_count, file_url, next_steps, page_url, password_protected, slug, tell_the_user, total_bytes, updated, url, version_id, warnings.
Anotaciones: no destructivo (las versiones anteriores se conservan).
get_site: Comprobar estado del sitio
Comprueba un sitio de chorus.host: si está en vivo, su URL, si tiene contraseña y cuándo caduca. Con el claim_token del sitio (o una clave API que sea propietaria del sitio) también devuelve la lista de archivos, el tamaño total, la versión en vivo y el enlace de reclamación.
| Argumento | Tipo | Obligatorio | Qué es |
|---|---|---|---|
claim_token | string | no | claim_token opcional (ctk_...) del sitio. Desbloquea la lista de archivos y otros detalles. |
slug | string | sí | El slug del sitio, es decir, el subdominio en .chorus.host. |
Devuelve: can_manage, claim_url, claimed, created_at, current_version_id, expires_at, file_count, files, files_truncated, password_protected, slug, status, summary, title, total_bytes, updated_at, url.
Anotaciones: solo lectura.
get_docs: Leer documentación de chorus.host
Devuelve la documentación completa de chorus.host como Markdown (el mismo texto que https://chorus.host/skill.md): la API REST, el CLI beacon, cuentas y claves API, reclamación de sitios, protección con contraseña y Workers, que ejecutan JavaScript del lado del servidor en .worker.chorus.host para APIs y receptores de webhooks (GitHub, Stripe), incluidas aplicaciones Hono, sin necesidad de cuenta de Cloudflare. Léelo antes de construir un backend, cuando el usuario pregunte sobre cuentas o límites, o cuando una tarea necesite algo que publish_site no pueda hacer.
Anotaciones: solo lectura.
Pruébalo sin un cliente
MCP es JSON sobre HTTP, así que curl funciona. Esto publica una página e imprime la URL en vivo:
jq -n --rawfile html index.html \
'{jsonrpc:"2.0",id:1,method:"tools/call",params:{name:"publish_site",arguments:{files:[{path:"index.html",content:$html}]}}}' \
| curl -sS https://chorus.host/mcp -H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' -d @- \
| jq -r .result.structuredContent.url
El resultado completo tiene url, page_url, file_url, claim_url, claim_token, expires_at y un mensaje tell_the_user. Si solo quieres curl, el endpoint HTTP simple es más corto: curl -sS https://chorus.host/v1/publish -F file=@index.html.
Consérvalo, actualízalo, bloquéalo
- Consérvalo. Dale a la persona el
claim_url. Lo abre, introduce su correo electrónico y el código de 6 dígitos que recibe, y el sitio es suyo sin caducidad. - Misma URL, nuevo contenido. Llama a
publish_sitede nuevo con el mismoslugy elclaim_tokende la primera llamada. Cada llamada hace que una nueva versión esté en vivo con exactamente los archivos que envías; las versiones anteriores se conservan y pueden revertirse mediante la API REST. - Contraseña. Pasa
password: {username, password}y los visitantes verán el aviso de inicio de sesión del navegador. Funciona sin cuenta. Consulta proteger con contraseña una página HTML. - Caducidad. Pasa
expires_at(2h,7do una hora RFC 3339). Sin clave, solo puede ser antes de 24 horas. Consulta alojamiento web temporal. - Publica en tu cuenta. Envía tu clave API como cabecera. Claude Code:
claude mcp add --transport http chorus https://chorus.host/mcp --header "Authorization: Bearer chk_...". Codex:codex mcp add chorus --url https://chorus.host/mcp --bearer-token-env-var CHORUS_API_KEY. - Más de 4 MB. Usa publish.py o el CLI beacon, que suben directamente al almacenamiento (250 MB por archivo sin cuenta).
- Un backend. Las APIs y los receptores de webhooks se ejecutan como Workers de chorus.host. Se despliegan mediante la API REST o el CLI con una cuenta gratuita, no a través de una herramienta MCP hoy;
get_docsdevuelve las instrucciones.
¿Qué servidor MCP deberías usar?
Verificado el 1 de octubre de 2026 desde el tools/list de cada servidor y la documentación pública. Las celdas en blanco significan que no pudimos confirmar la respuesta, no que la función falte.
| chorus.host | ShipStatic | Just Publish | |
|---|---|---|---|
| Publicar con solo la URL configurada | Sí | Sí | La herramienta de despliegue pide una dirección de correo electrónico |
| Duración sin cuenta | 24 horas | 3 días | |
| Contraseña desde la herramienta | Sí | Sí | |
| Iniciar sesión desde clientes en la nube | Cabecera de clave API | OAuth | |
| Dominios personalizados | No | Sí | |
| Cambiar un archivo sin reenviar el sitio | No, reemplazo completo | Sí (update_site_file) | |
| Elegir el subdominio | Sí | ||
| Código del lado del servidor | Workers, mediante REST o CLI |
Dónde son mejores: ShipStatic conserva los sitios anónimos durante 3 días en lugar de 24 horas, inicia sesión mediante OAuth y admite dominios personalizados. Just Publish puede editar un archivo de un sitio en vivo sin enviar el resto. here.now no tiene servidor MCP público; su tarjeta de agente dice que MCP no es compatible.
¿Quieres alojar tu propio servidor MCP?
Esta página trata sobre un servidor MCP que publica sitios web. Si quieres ejecutar tu propio servidor MCP en la web, la guía de Cloudflare sobre servidores MCP remotos en Workers es el lugar para empezar.
Preguntas
¿Hay un servidor MCP que publique un sitio web y devuelva una URL pública?
Sí. Añade https://chorus.host/mcp a tu cliente MCP. Su herramienta publish_site toma los archivos y devuelve una URL https://<name>.chorus.host en vivo, además de un enlace de reclamación para que una persona pueda conservar el sitio.
¿Necesito una cuenta o una clave API?
No. Sin una, los sitios permanecen en línea durante 24 horas y vienen con un enlace de reclamación. Con una clave API en la cabecera Authorization, los sitios van a tu cuenta y no caducan.
¿Funciona en ChatGPT?
Publicar requiere un espacio de trabajo de ChatGPT Business, Enterprise o Edu con modo desarrollador, en la web. En Pro, los conectores del modo desarrollador son solo de lectura y obtención (el centro de ayuda de OpenAI no cubre Plus), así que en Pro o Plus arrastra el archivo HTML a chorus.host/html-to-url en su lugar.
¿Cuánto tiempo permanecen en línea los sitios?
24 horas sin cuenta, a menos que alguien abra el enlace de reclamación e inicie sesión. Los sitios en una cuenta permanecen en línea hasta que los elimines, o hasta un expires_at que establezcas.
¿Qué tamaño puede tener el sitio?
4 MB de archivos por llamada sin clave y 10 MB con una, hasta 1.000 archivos. Los sitios más grandes pasan por publish.py, el CLI beacon o la API REST: 250 MB por archivo sin cuenta, 5 GB con una.
¿Puede el agente actualizar la misma URL más tarde?
Sí. Llama a publish_site de nuevo con el mismo slug y el claim_token que obtuvo la primera vez (o con tu clave API para sitios en tu cuenta). La URL sigue siendo la misma y la versión anterior se conserva.