Conecte un asistente de IA (MCP)

La aplicación ejecuta un servidor MCP, por lo que un asistente de IA puede revisar su configuración, crear y traducir diseños de correo electrónico, gestionar sus solicitudes HTTP y ordenar su biblioteca multimedia directamente, en lugar de que usted tenga que copiar la configuración una y otra vez.

Entre otras cosas útiles que puede hacer: elaborar un diseño de marketing con los textos de su pie de página, traducir un diseño a todos los idiomas en los que comercializa sus productos, comprobar qué diseños de correo electrónico hacen referencia a un dato confidencial que está a punto de cambiar, localizar todas las imágenes subidas que ya no se utilizan, explicar por qué fallaron los envíos de ayer o crear una nueva solicitud HTTP a partir de la documentación de una API de terceros.

Punto final

text
POST https://shopify.workflow-transactional-email.app/api/mcp

El protocolo de transporte es Streamable HTTP. La autenticación se realiza mediante la misma clave de portador que la API REST; consulte Autenticación y claves de API.

Conexión

La pestaña «MCP» de la página «Desarrollador» de la aplicación genera un comando listo para copiar en el que ya figuran su URL y su clave, para Claude, Claude Desktop, Cursor, VS Code y Gemini CLI. Utilícelo en lugar de escribirlo a mano.

En Claude Code, el comando tiene el siguiente aspecto:

bash
claude mcp add --transport http flow-transactional-email \
  https://shopify.workflow-transactional-email.app/api/mcp \
  --header "Authorization: Bearer fak_your_key_here"

En el caso de los editores que utilizan una configuración JSON, el formato es el siguiente:

~/.cursor/mcp.jsonjson
{
  "mcpServers": {
    "flow-transactional-email": {
      "url": "https://shopify.workflow-transactional-email.app/api/mcp",
      "headers": {
        "Authorization": "Bearer fak_your_key_here"
      }
    }
  }
}

Herramientas disponibles

El conjunto de herramientas refleja el nivel de su clave. Una clave de solo lectura no solo es rechazada cuando intenta utilizar una herramienta de escritura, sino que ni siquiera ve dicha herramienta en la lista, por lo que no es posible convencer a un asistente para que lo intente.

Leer (15 herramientas)

Plantillas de correo electrónico: list_email_templates, get_email_template, get_layout_schema, list_template_translations, list_template_versions, get_template_version. list_email_templates admite q, category (transactional o marketing), page y limit.

Remitentes de los correos electrónicos: list_smtp_configs, list_senders

Secretos: list_secret_keys (solo nombres)

Solicitudes HTTP: list_http_requests, get_http_request

Medios: list_files (introduzca usage: true para ver qué elementos siguen haciendo referencia a cada archivo)

Historial: list_history (filtrar por status, incluyendo SKIPPED para los correos electrónicos de marketing cuyos destinatarios se habían dado de baja en su totalidad), get_history_entry, get_stats

Lectura y escritura (suma de 12)

Plantillas de correo electrónico: create_email_template, update_email_template, delete_email_template

Idiomas: set_template_translation, delete_template_translation, promote_template_translation

Versiones: restore_template_version, restore_template_github_version

Solicitudes HTTP: create_http_request, update_http_request, delete_http_request

Medios de comunicación: delete_file

Leer, escribir y ejecutar (se añade 1)

test_http_request - ejecuta una solicitud HTTP configurada dirigida al objetivo real.

Diseño de planos de edificios con la ayuda de un asistente

Pida al asistente que lea primero get_layout_schema: en él se describe el formato de diseño visual con los valores predeterminados de cada bloque, el código Liquid que puede utilizar y las limitaciones, generadas por el propio generador. A continuación, create_email_template toma un name, un subject y un bodyDesign (visual, el predeterminado) o un HTML body (texto). El diseño aparece en la aplicación de inmediato y cada cambio se guarda en su historial de versiones, por lo que nada de lo que haga un asistente es irreversible.

Hay dos campos que determinan cómo se comporta una maquetación en un correo electrónico:

  • category: transactional (por defecto) o marketing. Una plantilla de marketing omite a los destinatarios que se han dado de baja e incluye un enlace para darse de baja y un pie de página; consulte Correos electrónicos de marketing y bajas de la lista de suscriptores.
  • marketingTexts: los textos del pie de página de una plantilla de marketing en lugar de los de la tienda, tal y como se indican en «Configuración», { unsubscribeText, unsubscribeLinkLabel, companyDetails }; todos los campos son opcionales; null significa que se utilizan los textos de «Configuración». La frase para darse de baja debe contener {{ unsubscribe_link }} o {{ unsubscribe_url }}.

set_template_translation crea o sustituye un idioma por el contenido traducido completo. En el caso de una maquetación de texto, también puede incluir attachments (una lista = los archivos propios de este idioma, null = los de la maquetación, «omitido» = sin cambios), y en el caso de una maquetación de marketing, marketingTexts para ese idioma, además de los de la maquetación. promote_template_translation convierte a un idioma en el idioma principal de la maquetación; ambos intercambian sus posiciones, por lo que no se pierde nada.

Una buena primera solicitud:

«Lea el esquema de maquetación y, a continuación, traduzca mi maquetación «Pedido enviado» al alemán y al francés. Mantenga todas las etiquetas Liquid y las URL exactamente como están».

Cada operación de escritura se comprueba igual que al guardar en la aplicación: Liquid debe analizar los datos, los archivos deben ser de su propiedad y la herramienta le indica el campo en el que se ha producido el error.

Poner en orden la biblioteca multimedia

Un buen uso que se le puede dar a un asistente. Pídale que le muestre una lista de sus archivos, incluyendo su uso, y, a continuación, elimine aquellos a los que no hace referencia ningún otro archivo:

«Muestre una lista de los archivos que he subido, indicando su uso, y dígame cuáles no están siendo utilizados por ningún programa. A continuación, elimínelos».

delete_file Se rechaza con un error 409 si alguna plantilla de correo electrónico o cualquier configuración preestablecida de encabezado o pie de página sigue haciendo referencia a dicho archivo, y el mensaje de rechazo indica qué elemento lo está utilizando; por lo tanto, el asistente no puede eliminar un logotipo que un correo electrónico activo aún necesite, aunque se le solicite que lo haga.

Lo que el asistente nunca puede ver

No existe, de forma deliberada**, ninguna herramienta que devuelva un valor secreto, un nombre de usuario o una contraseña de SMTP, ni un token de acceso al buzón**. La función list_secret_keys solo devuelve nombres.

Ese es precisamente el objetivo del diseño: puede pedir a un asistente que redacte una solicitud HTTP que se autentique con su proveedor de pagos, y esta hará referencia correctamente a {{ secrets.stripeApiKey }} sin que la clave en sí entre nunca en el contexto del modelo.

El historial devuelto a través de MCP se enmascara exactamente igual que en REST. Se aplica la misma advertencia: el enmascaramiento se aplica a los nombres de los campos y a los patrones de valores, y los campos de texto libre pueden seguir conteniendo datos personales en la conversación. Téngalo en cuenta antes de indicar a un asistente que consulte un amplio intervalo del historial.