HaveTML

Publica HTML generado por IA como páginas alojadas y compartibles. Conecta Claude, ChatGPT o Cursor para subir artefactos, organizar carpetas y proyectos, y recopilar comentarios en enlaces compartidos.

Servidor MCP alojado

npx add-mcp 'https://havetml.com/mcp/mcpservers'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Publica artefactos HTML, Markdown, YAML y JSON como enlaces de compartición permanentes y comentables. Conecta HaveTML a través de MCP y tu asistente podrá publicar lo que haya creado, entregarte el enlace de compartición y leer los comentarios que lleguen.

El servidor MCP es gratuito para todos. 60 herramientas — 21 de ellas de solo lectura — a través de Streamable HTTP en https://havetml.com/api/mcp.

01

Lo que tu asistente puede hacer

  • Publicar el HTML, Markdown, YAML o JSON que tu asistente acaba de escribir, y obtener un enlace que puedes enviar a cualquiera.
  • Volver a publicar el mismo artefacto y se convierte en una nueva versión detrás del mismo enlace, con las anteriores aún legibles.
  • Leer los comentarios que la gente ha anclado en la página renderizada, y el estado JSON que han cambiado al usarla.
  • Agrupar el trabajo en proyectos, organizarlo en un lienzo y registrar las decisiones tomadas al respecto.

02

Instálalo en tu herramienta

Cada configuración a continuación está completa excepto el token. Crea una cuenta y el asistente de conexión te entrega el mismo bloque con un token activo ya incluido — o pega un token desde Panel → Acceso API a través de havetml_your_token_here.

Conector de Claude

Name: HaveTML
Remote MCP server URL: https://havetml.com/api/mcp
OAuth Client ID: (leave blank)
OAuth Client Secret: (leave blank)

Claude → Personalizar → Conectores → Añadir conector personalizado. Pega la URL, deja OAuth Client ID/Secret en blanco y luego aprueba el acceso en HaveTML.

Claude Code

claude mcp add --transport http havetml https://havetml.com/api/mcp \
  --header "Authorization: Bearer havetml_your_token_here"

Ejecuta en cualquier terminal y luego escribe /mcp en Claude Code para confirmar que se conectó.

Codex

# ~/.codex/config.toml
[mcp_servers.havetml]
url = "https://havetml.com/api/mcp"
bearer_token_env_var = "HAVETML_TOKEN"

# then, in your shell profile:
export HAVETML_TOKEN="havetml_your_token_here"

Añade a ~/.codex/config.toml. El escritorio de ChatGPT, Codex CLI y la extensión de Codex para IDE comparten esta configuración.

Cursor

{
  "mcpServers": {
    "havetml": {
      "url": "https://havetml.com/api/mcp",
      "headers": {
        "Authorization": "Bearer havetml_your_token_here"
      }
    }
  }
}

Global: ~/.cursor/mcp.json — o .cursor/mcp.json dentro de un proyecto.

Windsurf

{
  "mcpServers": {
    "havetml": {
      "serverUrl": "https://havetml.com/api/mcp",
      "headers": {
        "Authorization": "Bearer havetml_your_token_here"
      }
    }
  }
}

Añade a ~/.codeium/windsurf/mcp_config.json, o pégalo en Configuración → Cascade → Gestionar MCPs → Ver configuración sin procesar. Los servidores remotos necesitan serverUrl, no url; pulsa Refresh después.

Claude Desktop

{
  "mcpServers": {
    "havetml": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://havetml.com/api/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer havetml_your_token_here"
      }
    }
  }
}

Usa la aplicación de escritorio → Desarrollador → Editar configuración, no Personalizar → Conectores. Esto usa mcp-remote como puente local; reinicia Claude Desktop después de guardar.

Otros clientes MCP

{
  "mcpServers": {
    "havetml": {
      "url": "https://havetml.com/api/mcp",
      "headers": {
        "Authorization": "Bearer havetml_your_token_here"
      }
    }
  }
}

Usa esto para herramientas que admitan servidores remotos Streamable HTTP. Para clientes solo stdio, usa el patrón de puente de Claude Desktop.

03

Cómo inicia sesión

Conectores de Claude

Inicia sesión, sin token

Pega la URL del servidor en el formulario Añadir conector personalizado de Claude y deja ambos campos de OAuth vacíos. Claude descubre el servidor de autorización de HaveTML por sí mismo y te envía aquí para aprobar el acceso. Si lo deniegas, Claude simplemente no recibe herramientas.

Todo lo demás

Un token portador

Claude Code, Cursor, Codex, Windsurf y Claude Desktop leen un archivo de configuración. Envían Authorization: Bearer havetml_… con cada llamada. Los tokens son por cuenta, tienen nombre y se pueden revocar desde el panel.

04

Las 60 herramientas

21 de lectura, 27 de escritura, 12 que eliminan o reemplazan algo. Cada una está anotada, para que un cliente pueda distinguirlas antes de llamar a una.

upload_artifact escritura

Sube HTML, Markdown, YAML o JSON y obtén un enlace de compartición permanente; volver a subirlo crea versiones.

list_artifacts lectura

Lista tus artefactos, opcionalmente limitados a un proyecto.

set_artifact_visibility escritura

Mueve un artefacto existente entre privado, círculo, no listado y público.

create_encrypted_artifact escritura

Almacena un sobre cifrado en tu propia máquina, para que HaveTML solo tenga el texto cifrado.

create_project escritura

Crea un proyecto — una carpeta compartible de artefactos con su propia página.

list_projects lectura

Lista tus proyectos con sus slugs, nombres y recuentos de artefactos.

set_project_default_visibility escritura

Elige qué heredan los nuevos artefactos que se archivan en un proyecto; no mueve nada que ya esté en él.

add_comment escritura

Añade un comentario a un artefacto, opcionalmente anclado a un lugar o en hilo.

list_comments lectura

Lista todos los comentarios de un artefacto, incluidas las respuestas en hilo.

invite_collaborator escritura

Invita a alguien por correo electrónico a ver o editar un artefacto.

list_collaborators lectura

Lista las personas con acceso a un artefacto.

revoke_collaborator destructiva

Revoca el acceso de un colaborador a un artefacto.

invite_project_member escritura

Invita a alguien por correo electrónico a un proyecto; los editores heredan acceso de edición a sus artefactos.

list_project_members lectura

Lista las personas con acceso a un proyecto.

revoke_project_member destructiva

Revoca el acceso de un miembro a un proyecto.

create_canvas escritura

Crea un lienzo: un tablero de tarjetas, notas adhesivas y las conexiones entre ellas.

get_canvas lectura

Lee un tablero de lienzo: sus nodos, aristas, notas e hilos de comentarios.

update_canvas destructiva

Renombra un tablero, reescribe sus notas o reemplaza los nodos y aristas que contiene.

add_canvas_node escritura

Añade un nodo a un lienzo sin tocar lo que ya está en él.

add_canvas_edge escritura

Dibuja una arista entre dos nodos que ya están en un lienzo.

list_events lectura

Consulta actualizaciones de estado JSON y nuevos comentarios en tus artefactos.

register_webhook escritura

Registra un endpoint HTTPS para recibir eventos firmados de artefactos, comentarios y decisiones.

list_webhooks lectura

Lista tus webhooks con su alcance, eventos y estado de la última entrega.

delete_webhook destructiva

Deja de entregar a un webhook y elimina sus entregas pendientes.

create_decision escritura

Abre una decisión sobre un artefacto: una pregunta que necesita resolverse.

list_decisions lectura

Lista las decisiones de un artefacto, con sus asignados.

get_decision lectura

Lee una decisión por id, con todos sus detalles y asignados.

assign_decision escritura

Registra quién debe decidir una decisión abierta, por id de usuario o correo electrónico.

revoke_assignment destructiva

Elimina un asignado de una decisión; la decisión permanece abierta.

decide_decision escritura

Establece el resultado y la justificación de una decisión, bloqueando el registro permanentemente.

supersede_decision destructiva

Reemplaza una decisión decidida por una nueva; la original permanece legible y bloqueada.

update_decision escritura

Cambia el título o el contexto de una decisión abierta.

delete_decision destructiva

Elimina una decisión que aún no se ha decidido.

list_templates lectura

Explora plantillas listas para copiar: artefactos funcionales con su estado y prompt inicial.

get_template lectura

Lee el prompt inicial, el estado de demostración y el enlace de demostración de una plantilla antes de construir a partir de ella.

use_template escritura

Copia la demostración de una plantilla en tu cuenta como un artefacto privado que puedes editar.

set_artifact_custom_slug escritura

Da a un artefacto público una ruta /f/ legible, o libérala, sin renombrarlo.

add_relation escritura

Dibuja un enlace tipado entre dos artefactos, como supera a o depende de.

list_relations lectura

Lista los enlaces tipados entre tus artefactos, para un artefacto o un proyecto.

remove_relation destructiva

Elimina una relación de artefacto por id; ninguno de los artefactos se toca.

get_artifact_content lectura

Lee el código fuente de un artefacto para la versión actual o una anterior.

update_artifact_json destructiva

Cambia el estado JSON en vivo de un artefacto sin una nueva versión; el modo de reemplazo elimina claves.

list_media lectura

Lista las imágenes, fuentes y hojas de estilo almacenadas con un artefacto, y la cuota de medios utilizada.

remove_media destructiva

Elimina un archivo de medios almacenado de un artefacto y libera su cuota.

list_notes lectura

Lee las notas escritas junto a un artefacto.

add_note escritura

Añade una nota a las notas de un artefacto, conservando lo que ya está allí.

update_notes destructiva

Reemplaza las notas de un artefacto con nuevo markdown, descartando lo que había.

propose_canvas_layout lectura

Calcula un diseño más ordenado para un tablero y devuélvelo sin mover nada.

create_folder escritura

Crea una carpeta dentro de un proyecto para agrupar artefactos; la visibilidad no cambia.

list_folders lectura

Lista cada carpeta de un proyecto con su ruta y recuento de artefactos.

move_artifact escritura

Mueve un artefacto a una carpeta o de vuelta a la raíz del proyecto.

rename_folder escritura

Renombra una carpeta; las URL de los artefactos no se ven afectadas.

move_folder escritura

Mueve una carpeta, con su contenido, bajo otra carpeta o al nivel superior.

delete_folder destructiva

Elimina una carpeta; sus artefactos y subcarpetas suben un nivel.

get_project lectura

Lee el nombre, la descripción, los recuentos y el sistema de diseño fijado de un proyecto.

set_project_design_system escritura

Fija un artefacto como sistema de diseño de un proyecto, o desfijalo.

propose_folder_organise lectura

Calcula una estructura de carpetas para un proyecto y devuélvela para aprobación; no escribe nada.

apply_folder_organise escritura

Aplica una propuesta de carpetas aprobada; se niega si el proyecto cambió desde entonces.

undo_folder_organise escritura

Revierte una organización de carpetas aplicada usando el plan de deshacer de su respuesta.

Los parámetros y descripciones completas están en el README de MCP, y en server-card.json si prefieres leerlo como JSON.

05

Límites, y qué permanece privado

  • Privado por defecto. Un nuevo artefacto se abre para ti y las personas que invites, y para nadie más — el enlace solo no hace nada. Tu asistente debe ser solicitado antes de hacer que un enlace sea legible.
  • 50 MB por artefacto en HaveTML, pero este endpoint MCP se ejecuta en Vercel, que rechaza cuerpos de solicitud de más de 4.5 MB. Cualquier cosa más grande se sube desde el panel.
  • Los archivos cifrados permanecen cifrados. Una herramienta remota no puede hacer cifrado de conocimiento cero, por lo que la ruta cifrada cifra en tu máquina y envía a HaveTML solo texto cifrado. No tiene ninguna clave.
  • Gratis para todos. MCP no es una función de pago y nada aquí consulta la facturación.

06

Lee el detalle

  • README completo de MCP — Cada herramienta, su etiqueta de lectura o escritura, y la configuración de conexión para cada cliente.
  • server-card.json — La tarjeta legible por máquina: endpoint, transporte, autenticación y lista de herramientas.
  • Documentación de HaveTML — La API REST, los tokens y la extensión de Chrome junto a MCP.

Obtén tu token

Crea una cuenta y volverás aquí, a un asistente que genera el token, completa la configuración para la herramienta que elegiste y prueba la conexión.