chorus.host
Publique HTML, sites estáticos e arquivos em uma URL ao vivo a partir de qualquer agente, sem necessidade de conta
Servidor MCP hospedado
npx add-mcp 'https://chorus.host/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Servidor MCP para publicar um site e obter uma URL pública
https://chorus.host/mcp é um servidor MCP remoto. Adicione-o ao Claude Code, Codex, Cursor ou claude.ai e seu agente poderá publicar HTML, um arquivo ou um site estático inteiro com uma única chamada de publish_site. Ele retorna um link https://<name>.chorus.host ativo e um link de reivindicação. Sem conta, sem instalação, sem chave de API.
Resumo
| Endpoint | https://chorus.host/mcp |
| Transporte | HTTP Streamable, sem estado |
| Autenticação | Nenhuma. Authorization: Bearer chk_... opcional publica na sua conta |
| Ferramentas | publish_site, get_site, get_docs |
| Por chamada | 4 MB de arquivos sem chave, 10 MB com chave; até 1.000 arquivos |
| Sites sem conta | Ativos por 24 horas; um link de reivindicação os mantém |
| Publicações por hora | 5 por endereço IP sem chave, 60 por conta com chave |
| Nome no Registro Oficial MCP | host.chorus/mcp |
| Preço | Gratuito |
Adicione ao seu cliente
Verificado em 1º de outubro de 2026. Os comandos do Claude Code e do Codex foram executados contra este servidor nesse dia; as entradas do Cursor e do VS Code seguem o formato de configuração documentado de cada cliente e não foram executadas por nós.
Claude Code
claude mcp add --transport http chorus https://chorus.host/mcp
claude mcp list deve mostrar chorus: https://chorus.host/mcp (HTTP) - ✔ Connected.
Codex CLI
codex mcp add chorus --url https://chorus.host/mcp
Isso grava uma entrada [mcp_servers.chorus] com a URL em ~/.codex/config.toml. O sandbox workspace-write padrão do Codex não tem rede, então aprove a solicitação de rede quando o Codex pedir, ou consulte a seção Codex do guia Claude Code e Codex.
opencode
Em opencode.json:
{ "mcp": { "chorus": { "type": "remote", "url": "https://chorus.host/mcp" } } }
Cursor
Em ~/.cursor/mcp.json (todos os projetos) ou .cursor/mcp.json (um projeto):
{ "mcpServers": { "chorus": { "url": "https://chorus.host/mcp" } } }
VS Code
Em .vscode/mcp.json:
{ "servers": { "chorus": { "type": "http", "url": "https://chorus.host/mcp" } } }
claude.ai e Claude Desktop
Personalize, depois Conectores, depois + e Adicionar conector personalizado. Nomeie-o como chorus.host e cole https://chorus.host/mcp como a URL. Não há etapa de OAuth. O plano gratuito permite um conector personalizado.
ChatGPT
O ChatGPT só pode usar ferramentas MCP que gravam (publicar é uma gravação) em espaços de trabalho Business, Enterprise ou Edu, na web, por meio do modo de desenvolvedor (Configurações, Aplicativos, Configurações avançadas). No Pro, os conectores do modo de desenvolvedor podem ler e buscar, mas não gravar, de acordo com a central de ajuda da OpenAI em 1º de outubro de 2026. O artigo não menciona o Plus, então espere o mesmo lá, a menos que você teste de outra forma. No Pro ou Plus, baixe o HTML que o ChatGPT criou e solte-o em chorus.host/html-to-url.
Uma observação sobre endereços compartilhados: claude.ai e ChatGPT chamam servidores MCP a partir de seus próprios servidores, então suas solicitações compartilham um pequeno número de endereços IP. Publicar sem chave é limitado a 5 por hora por endereço IP, e esse orçamento pode se esgotar em um endereço compartilhado. Se você vir um erro de limite de taxa lá, adicione sua chave de API como um cabeçalho Authorization: Bearer chk_... (60 por hora por conta).
O que seu agente obtém
Esta referência é gerada a partir das definições de ferramentas que o servidor registra, então corresponde ao que tools/list retorna.
publish_site: Publicar site
Publique um site ou qualquer arquivo (PDF, imagem, HTML, CSS/JS) em uma URL HTTPS pública ativa em .chorus.host em uma única chamada. Os arquivos mantêm seu tipo de conteúdo, então PDFs e imagens abrem no navegador.
| Argumento | Tipo | Obrigatório | O que é |
|---|---|---|---|
claim_token | string | não | O claim_token (ctk_...) retornado quando o site foi publicado pela primeira vez. Necessário para atualizar um site anônimo. |
expires_at | string | não | Opcional. Quando o site deve ser excluído: RFC 3339 (2026-10-08T00:00:00Z) ou uma duração a partir de agora (90m, 2h, 7d). |
files | array de objeto | sim | Todos os arquivos do site. Cada chamada cria uma nova versão com exatamente esses arquivos; versões anteriores são mantidas. |
password | objeto | não | Opcional. Coloque o site atrás de um prompt de login do navegador (HTTP Basic Auth). |
slug | string | não | Opcional. Subdomínio para publicar (3-63 letras minúsculas, dígitos e hífens). |
title | string | não | Título legível opcional salvo com o site. |
Retorna: 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.
Anotações: não destrutivo (versões anteriores são mantidas).
get_site: Verificar status do site
Verifique um site chorus.host: se está ativo, sua URL, se tem senha e quando expira. Com o claim_token do site (ou uma chave de API que possua o site), também retorna a lista de arquivos, tamanho total, versão ativa e link de reivindicação.
| Argumento | Tipo | Obrigatório | O que é |
|---|---|---|---|
claim_token | string | não | claim_token opcional (ctk_...) do site. Desbloqueia a lista de arquivos e outros detalhes. |
slug | string | sim | O slug do site, ou seja, o subdomínio em .chorus.host. |
Retorna: 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.
Anotações: somente leitura.
get_docs: Ler documentação do chorus.host
Retorna a documentação completa do chorus.host como Markdown (o mesmo texto de https://chorus.host/skill.md): a API REST, o CLI beacon, contas e chaves de API, reivindicação de sites, proteção por senha e Workers, que executam JavaScript no lado do servidor em .worker.chorus.host para APIs e receptores de webhook (GitHub, Stripe), incluindo aplicativos Hono, sem necessidade de conta Cloudflare. Leia antes de construir um backend, quando o usuário perguntar sobre contas ou limites, ou quando uma tarefa precisar de algo que o publish_site não pode fazer.
Anotações: somente leitura.
Experimente sem um cliente
MCP é JSON sobre HTTP, então curl funciona. Isso publica uma página e imprime a URL ativa:
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
O resultado completo tem url, page_url, file_url, claim_url, claim_token, expires_at e uma mensagem tell_the_user. Se você quiser apenas curl, o endpoint HTTP simples é mais curto: curl -sS https://chorus.host/v1/publish -F file=@index.html.
Mantenha, atualize, proteja
- Mantenha. Dê à pessoa o
claim_url. Ela abre, insere seu e-mail e o código de 6 dígitos que recebe, e o site é dela sem expiração. - Mesma URL, novo conteúdo. Chame
publish_sitenovamente com o mesmosluge oclaim_tokenda primeira chamada. Cada chamada torna uma nova versão ativa com exatamente os arquivos que você envia; versões anteriores são mantidas e podem ser revertidas pela API REST. - Senha. Passe
password: {username, password}e os visitantes verão o prompt de login do navegador. Funciona sem conta. Veja proteger uma página HTML com senha. - Expiração. Passe
expires_at(2h,7dou um horário RFC 3339). Sem chave, só pode ser antes de 24 horas. Veja hospedagem temporária de sites. - Publique na sua conta. Envie sua chave de API como cabeçalho. 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. - Mais de 4 MB. Use publish.py ou o CLI beacon, que enviam diretamente para o armazenamento (250 MB por arquivo sem conta).
- Um backend. APIs e receptores de webhook rodam como chorus.host Workers. Eles são implantados pela API REST ou pelo CLI com uma conta gratuita, não por uma ferramenta MCP hoje;
get_docsretorna as instruções.
Qual servidor MCP você deve usar?
Verificado em 1º de outubro de 2026 a partir do tools/list de cada servidor e documentação pública. Células em branco significam que não conseguimos confirmar a resposta, não que o recurso esteja ausente.
| chorus.host | ShipStatic | Just Publish | |
|---|---|---|---|
| Publicar com apenas a URL configurada | Sim | Sim | A ferramenta de implantação pede um endereço de e-mail |
| Vida útil sem conta | 24 horas | 3 dias | |
| Senha pela ferramenta | Sim | Sim | |
| Entrar em clientes na nuvem | Cabeçalho de chave de API | OAuth | |
| Domínios personalizados | Não | Sim | |
| Alterar um arquivo sem reenviar o site | Não, substituição completa | Sim (update_site_file) | |
| Escolher o subdomínio | Sim | ||
| Código no lado do servidor | Workers, via REST ou CLI |
Onde eles são melhores: ShipStatic mantém sites anônimos por 3 dias em vez de 24 horas, faz login via OAuth e suporta domínios personalizados. Just Publish pode editar um arquivo de um site ativo sem enviar o resto. here.now não tem servidor MCP público; seu cartão de agente diz que MCP não é suportado.
Quer hospedar seu próprio servidor MCP?
Esta página é sobre um servidor MCP que publica sites. Se você quiser executar seu próprio servidor MCP na web, o guia da Cloudflare para servidores MCP remotos em Workers é o lugar para começar.
Perguntas
Existe um servidor MCP que publica um site e retorna uma URL pública?
Sim. Adicione https://chorus.host/mcp ao seu cliente MCP. Sua ferramenta publish_site recebe os arquivos e retorna uma URL https://<name>.chorus.host ativa, além de um link de reivindicação para que uma pessoa possa manter o site.
Preciso de uma conta ou chave de API?
Não. Sem uma, os sites ficam ativos por 24 horas e vêm com um link de reivindicação. Com uma chave de API no cabeçalho Authorization, os sites entram na sua conta e não expiram.
Funciona no ChatGPT?
Publicar requer um espaço de trabalho Business, Enterprise ou Edu do ChatGPT com modo de desenvolvedor, na web. No Pro, os conectores do modo de desenvolvedor são somente leitura e busca (a central de ajuda da OpenAI não cobre o Plus), então no Pro ou Plus arraste o arquivo HTML para chorus.host/html-to-url.
Por quanto tempo os sites ficam ativos?
24 horas sem conta, a menos que alguém abra o link de reivindicação e faça login. Sites em uma conta ficam ativos até você excluí-los, ou até um expires_at que você definir.
Qual pode ser o tamanho do site?
4 MB de arquivos por chamada sem chave e 10 MB com chave, até 1.000 arquivos. Sites maiores passam por publish.py, o CLI beacon ou a API REST: 250 MB por arquivo sem conta, 5 GB com conta.
O agente pode atualizar a mesma URL depois?
Sim. Chame publish_site novamente com o mesmo slug e o claim_token que obteve na primeira vez (ou com sua chave de API para sites na sua conta). A URL permanece a mesma e a versão antiga é mantida.