API · MCP

API y MCP

Conecta un agente de IA (Cursor, Claude, ChatGPT) a tu cuenta de GuiaFlow para crear tours a partir de capturas de pantalla, ajustar textos y publicar el enlace permanente. Exclusivo del plan Pro.

Conectar

La dirección del servidor MCP es https://app.guiaflow.pro/mcp (Streamable HTTP). Con el login en el navegador (OAuth) no hay clave que copiar: la app abre la página de GuiaFlow, entras y eliges los permisos.

Instalación en un clic y paso a paso por app: Integraciones.

Cursor

Pega en ~/.cursor/mcp.json (o Settings → MCP → Add new MCP server). En la primera llamada Cursor pide el login.

{
  "mcpServers": {
    "guiaflow": { "url": "https://app.guiaflow.pro/mcp" }
  }
}

Con clave de API (sin login en el navegador):

{
  "mcpServers": {
    "guiaflow": {
      "url": "https://app.guiaflow.pro/mcp",
      "headers": { "Authorization": "Bearer gf_live_xxxxxxxx" }
    }
  }
}

Claude Code

claude mcp add --transport http guiaflow https://app.guiaflow.pro/mcp

Luego ejecuta /mcp dentro de Claude Code y elige guiaflow para entrar.

Con clave de API (sin login en el navegador):

claude mcp add --transport http guiaflow https://app.guiaflow.pro/mcp \
  --header "Authorization: Bearer gf_live_xxxxxxxx"

Claude.ai, Claude Desktop y ChatGPT

En Claude: Configuración → Conectores → Añadir conector personalizado, pega https://app.guiaflow.pro/mcp y pulsa Conectar. En ChatGPT: Configuración → Apps y conectores → Modo desarrollador → Crear, con la misma URL y autenticación OAuth.

VS Code

Pega en .vscode/mcp.json.

{
  "servers": {
    "guiaflow": { "type": "http", "url": "https://app.guiaflow.pro/mcp" }
  }
}

Claves de API

En el editor, abre el menú de la cuenta → Claves de API. Ponle un nombre, elige permisos y validez (30, 90 o 365 días). La clave empieza con gf_live_ y se muestra una sola vez. Ahí mismo revocas claves, desconectas apps y ves los últimos usos.

Permisos

tours:read lee tours · tours:write crea y edita · publish publica y retira el enlace permanente · ai escribe textos y genera narración con la IA de GuiaFlow (usa tu cuota mensual: 100 textos y 30 min de audio) · analytics:read lee las estadísticas de los enlaces (solo conteos, sin datos personales).

Herramientas del MCP

HerramientaPermisoQué hace
list_tourstours:readLista los tours de la cuenta.
get_tourtours:readPasos, tema, captura de leads, CTA final y enlace publicado.
create_tourtours:writeCrea un tour vacío (aparece en el editor con la etiqueta “creado por agente”).
upload_mediatours:writeGuarda una captura (url https o base64) o devuelve una URL de subida de 15 min.
add_step / update_steptours:writeCaptura, resaltado y clic (0..1), título, texto, guion de narración.
reorder_steps / delete_steptours:writeReordena o elimina pasos.
set_themetours:writeTema predefinido o colores #RRGGBB.
set_lead_capturetours:writePaso inicial con nombre/e-mail/teléfono y consentimiento.
set_end_ctatours:writeTarjeta final con WhatsApp (E.164) y/o enlace https.
publishpublishPublica en el enlace permanente /p y devuelve URL, embed y la portada del enlace (og:image, generada en el servidor). dryRun:true valida y devuelve preview.url, un enlace de vista previa válido por 7 días.
unpublishpublishRetira el enlace (requiere confirm:true).
generate_step_textai + tours:writeLa IA mira la captura del paso y escribe título y texto (y, si lo pides, el guion de narración); lo guarda en el paso. 1 texto de la cuota.
generate_narrationai + tours:writeGenera la narración (MP3 mono 64 kbps) y la guarda como audio del paso; el paso dura al menos la narración. Cuenta en la cuota de audio.
get_analyticsanalytics:readVistas, finalizaciones, clics en el CTA, leads (conteo), serie diaria y embudo por paso; sin tourId, un resumen por enlace.

Coordenadas

Resaltado y clic usan fracciones de la imagen: x, y, width, height entre 0 y 1, desde la esquina superior izquierda. Solo con click, el resaltado se crea alrededor. Los valores fuera de rango se ajustan y la respuesta lo avisa.

API REST

Base https://app.guiaflow.pro/v1, autenticación Authorization: Bearer. Contrato completo en openapi.json. Envía Idempotency-Key en los POST para reintentar con seguridad.

# 1. criar o tour
curl -s https://app.guiaflow.pro/v1/tours \
  -H "Authorization: Bearer $GUIAFLOW_KEY" -H "Content-Type: application/json" \
  -H "Idempotency-Key: demo-checkout-1" \
  -d '{"name":"Demo do checkout"}'

# 2. um passo por captura (coordenadas em fração 0..1 da imagem)
curl -s https://app.guiaflow.pro/v1/tours/$TOUR/steps \
  -H "Authorization: Bearer $GUIAFLOW_KEY" -H "Content-Type: application/json" \
  -d '{"image":{"url":"https://exemplo.com/tela1.png"},
       "title":"Abra o carrinho","text":"Tudo o que o cliente escolheu fica aqui.",
       "highlight":{"x":0.72,"y":0.05,"width":0.2,"height":0.08},
       "click":{"x":0.82,"y":0.09}}'

# 3. publicar (atualiza o mesmo link nas próximas vezes)
curl -s -X POST https://app.guiaflow.pro/v1/tours/$TOUR/publish \
  -H "Authorization: Bearer $GUIAFLOW_KEY"

# 4. (opcional) la IA escribe el texto y la narración del paso
curl -s -X POST https://app.guiaflow.pro/v1/tours/$TOUR/steps/$STEP/generate-text \
  -H "Authorization: Bearer $GUIAFLOW_KEY" -H "Content-Type: application/json" -d '{"narrationScript":true}'
curl -s -X POST https://app.guiaflow.pro/v1/tours/$TOUR/steps/$STEP/narration \
  -H "Authorization: Bearer $GUIAFLOW_KEY"

# 5. estadísticas del enlace (últimos 30 días)
curl -s https://app.guiaflow.pro/v1/tours/$TOUR/analytics -H "Authorization: Bearer $GUIAFLOW_KEY"

Límites

60 llamadas por minuto por clave/app, 600 cambios y 30 publicaciones por hora por cuenta. Imágenes hasta 15 MB (PNG, JPEG, WebP, GIF); el tour publicado hasta 12 MB. Respuestas: 401 credencial inválida o revocada, 402 sin plan Pro, 403 sin el permiso, 429 límite (mira Retry-After).

Seguridad y privacidad

Solo guardamos el hash de claves y tokens. El registro de uso (app, acción, hora, IP con hash) se guarda 90 días y lo ves en Claves de API. Las URLs de imagen solo se descargan por https público. Detalles en Privacidad.

Para agentes: Resumen en texto plano: /llms.txt.