API e MCP
Conecte um agente de IA (Cursor, Claude, ChatGPT) à sua conta GuiaFlow para criar tours a partir de capturas de tela, ajustar textos e publicar o link permanente. Exclusivo do plano Pro.
Conectar
O endereço do servidor MCP é https://app.guiaflow.pro/mcp (Streamable HTTP). Pelo login no navegador (OAuth) não há chave para copiar: o app abre a página do GuiaFlow, você entra e escolhe as permissões.
Instalação em um clique e passo a passo por app: Integrações.
Cursor
Cole em ~/.cursor/mcp.json (ou Settings → MCP → Add new MCP server). Na primeira chamada o Cursor pede o login.
{
"mcpServers": {
"guiaflow": { "url": "https://app.guiaflow.pro/mcp" }
}
}
Com chave de API (sem login no 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
Depois rode /mcp dentro do Claude Code e escolha guiaflow para entrar.
Com chave de API (sem login no navegador):
claude mcp add --transport http guiaflow https://app.guiaflow.pro/mcp \
--header "Authorization: Bearer gf_live_xxxxxxxx"
Claude.ai, Claude Desktop e ChatGPT
No Claude: Configurações → Conectores → Adicionar conector personalizado, cole https://app.guiaflow.pro/mcp e clique em Conectar. No ChatGPT: Configurações → Apps e conectores → Modo desenvolvedor → Criar, com a mesma URL e autenticação OAuth.
VS Code
Cole em .vscode/mcp.json.
{
"servers": {
"guiaflow": { "type": "http", "url": "https://app.guiaflow.pro/mcp" }
}
}
Chaves de API
No editor, abra o menu da conta → Chaves de API. Dê um nome, escolha as permissões e a validade (30, 90 ou 365 dias). A chave começa com gf_live_ e aparece uma vez só. No mesmo lugar você revoga chaves, desconecta apps e vê os últimos usos.
Permissões
tours:read lê tours · tours:write cria e edita · publish publica e tira do ar o link permanente · ai escreve textos e gera narração com a IA do GuiaFlow (usa a sua cota mensal: 100 textos e 30 min de áudio) · analytics:read lê as estatísticas dos links (só contagens, sem dados pessoais).
Ferramentas do MCP
| Ferramenta | Permissão | O que faz |
|---|---|---|
list_tours | tours:read | Lista os tours da conta. |
get_tour | tours:read | Passos, tema, captura de lead, CTA final e link publicado. |
create_tour | tours:write | Cria um tour vazio (aparece no editor com a etiqueta “criado por agente”). |
upload_media | tours:write | Grava uma captura (url https ou base64) ou devolve uma URL de upload de 15 min. |
add_step / update_step | tours:write | Captura, destaque e clique (0..1), título, texto, roteiro de narração. |
reorder_steps / delete_step | tours:write | Reordena ou remove passos. |
set_theme | tours:write | Tema pronto ou cores #RRGGBB. |
set_lead_capture | tours:write | Passo inicial com nome/e-mail/telefone e consentimento (LGPD). |
set_end_cta | tours:write | Cartão final com WhatsApp (E.164) e/ou link https. |
publish | publish | Publica no link permanente /p e devolve URL, embed e a capa do link (og:image, gerada no servidor). dryRun:true valida e devolve preview.url, um link de prévia que vale 7 dias. |
unpublish | publish | Tira o link do ar (exige confirm:true). |
generate_step_text | ai + tours:write | A IA olha a captura do passo e escreve título e texto (e, se pedir, o roteiro da narração); grava no passo. 1 texto da cota. |
generate_narration | ai + tours:write | Gera a narração (MP3 mono 64 kbps) e grava como áudio do passo; o passo passa a durar a narração. Conta na cota de áudio. |
get_analytics | analytics:read | Visualizações, conclusões, cliques no CTA, leads (contagem), série por dia e funil por passo; sem tourId, um resumo por link. |
Coordenadas
Destaque e clique usam fração da imagem: x, y, width, height entre 0 e 1, a partir do canto superior esquerdo. Só com click, o destaque é criado em volta. Valores fora do intervalo são ajustados e o retorno avisa.
API REST
Base https://app.guiaflow.pro/v1, autenticação Authorization: Bearer. Contrato completo em openapi.json. Envie Idempotency-Key nos POST para repetir com segurança.
# 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) IA escreve o texto e a narração do passo
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. estatísticas do link (últimos 30 dias)
curl -s https://app.guiaflow.pro/v1/tours/$TOUR/analytics -H "Authorization: Bearer $GUIAFLOW_KEY"
Limites
60 chamadas por minuto por chave/app, 600 alterações e 30 publicações por hora por conta. Imagens até 15 MB (PNG, JPEG, WebP, GIF); o tour publicado até 12 MB. Respostas: 401 credencial inválida ou revogada, 402 sem plano Pro, 403 sem a permissão, 429 limite (veja Retry-After).
Segurança e privacidade
Guardamos só o hash das chaves e tokens. O registro de uso (app, ação, horário, IP em hash) fica 90 dias e aparece para você em Chaves de API. URLs de imagem são baixadas só via https público. Detalhes em Privacidade.
Para agentes: Resumo em texto puro: /llms.txt.
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
| Herramienta | Permiso | Qué hace |
|---|---|---|
list_tours | tours:read | Lista los tours de la cuenta. |
get_tour | tours:read | Pasos, tema, captura de leads, CTA final y enlace publicado. |
create_tour | tours:write | Crea un tour vacío (aparece en el editor con la etiqueta “creado por agente”). |
upload_media | tours:write | Guarda una captura (url https o base64) o devuelve una URL de subida de 15 min. |
add_step / update_step | tours:write | Captura, resaltado y clic (0..1), título, texto, guion de narración. |
reorder_steps / delete_step | tours:write | Reordena o elimina pasos. |
set_theme | tours:write | Tema predefinido o colores #RRGGBB. |
set_lead_capture | tours:write | Paso inicial con nombre/e-mail/teléfono y consentimiento. |
set_end_cta | tours:write | Tarjeta final con WhatsApp (E.164) y/o enlace https. |
publish | publish | Publica 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. |
unpublish | publish | Retira el enlace (requiere confirm:true). |
generate_step_text | ai + tours:write | La 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_narration | ai + tours:write | Genera 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_analytics | analytics:read | Vistas, 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.
API and MCP
Connect an AI agent (Cursor, Claude, ChatGPT) to your GuiaFlow account to build tours from screenshots, tweak the copy and publish the permanent link. Pro plan only.
Connect
The MCP server URL is https://app.guiaflow.pro/mcp (Streamable HTTP). With browser sign-in (OAuth) there is no key to copy: the app opens a GuiaFlow page, you sign in and pick the permissions.
One-click install and step-by-step per app: Integrations.
Cursor
Paste into ~/.cursor/mcp.json (or Settings → MCP → Add new MCP server). Cursor asks you to sign in on first use.
{
"mcpServers": {
"guiaflow": { "url": "https://app.guiaflow.pro/mcp" }
}
}
With an API key (no browser sign-in):
{
"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
Then run /mcp inside Claude Code and pick guiaflow to sign in.
With an API key (no browser sign-in):
claude mcp add --transport http guiaflow https://app.guiaflow.pro/mcp \
--header "Authorization: Bearer gf_live_xxxxxxxx"
Claude.ai, Claude Desktop and ChatGPT
In Claude: Settings → Connectors → Add custom connector, paste https://app.guiaflow.pro/mcp and click Connect. In ChatGPT: Settings → Apps & connectors → Developer mode → Create, same URL with OAuth authentication.
VS Code
Paste into .vscode/mcp.json.
{
"servers": {
"guiaflow": { "type": "http", "url": "https://app.guiaflow.pro/mcp" }
}
}
API keys
In the editor, open the account menu → API keys. Name the key, pick permissions and an expiry (30, 90 or 365 days). Keys start with gf_live_ and are shown only once. The same place lets you revoke keys, disconnect apps and see recent activity.
Permissions
tours:read reads tours · tours:write creates and edits · publish publishes and takes down the permanent link · ai writes copy and generates narration with GuiaFlow AI (uses your monthly quota: 100 texts and 30 min of audio) · analytics:read reads link analytics (counts only, no personal data).
MCP tools
| Tool | Permission | What it does |
|---|---|---|
list_tours | tours:read | Lists the account's tours. |
get_tour | tours:read | Steps, theme, lead capture, end CTA and published link. |
create_tour | tours:write | Creates an empty tour (shows in the editor tagged “created by agent”). |
upload_media | tours:write | Stores a screenshot (https url or base64) or returns a 15-minute upload URL. |
add_step / update_step | tours:write | Screenshot, highlight and click (0..1), title, text, narration script. |
reorder_steps / delete_step | tours:write | Reorders or removes steps. |
set_theme | tours:write | Preset theme or #RRGGBB colors. |
set_lead_capture | tours:write | Opening step asking name/email/phone with consent. |
set_end_cta | tours:write | End card with WhatsApp (E.164) and/or an https link. |
publish | publish | Publishes to the permanent /p link and returns the URL, embed code and the link cover (og:image, rendered on the server). dryRun:true validates and returns preview.url, a preview link valid for 7 days. |
unpublish | publish | Takes the link down (requires confirm:true). |
generate_step_text | ai + tours:write | The AI looks at the step screenshot and writes the title and text (and, if asked, the narration script); saves it to the step. 1 text from the quota. |
generate_narration | ai + tours:write | Generates the narration (mono 64 kbps MP3) and saves it as the step audio; the step lasts at least as long as the narration. Counts toward the audio quota. |
get_analytics | analytics:read | Views, completions, CTA clicks, leads (count), daily series and per-step funnel; without tourId, one summary per link. |
Coordinates
Highlight and click use fractions of the image: x, y, width, height between 0 and 1, from the top-left corner. With only click, a highlight is drawn around it. Out-of-range values are clamped and the response says so.
REST API
Base https://app.guiaflow.pro/v1, Authorization: Bearer auth. Full contract in openapi.json. Send Idempotency-Key on POSTs to retry safely.
# 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. (optional) the AI writes the step copy and narration
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. link analytics (last 30 days)
curl -s https://app.guiaflow.pro/v1/tours/$TOUR/analytics -H "Authorization: Bearer $GUIAFLOW_KEY"
Limits
60 calls per minute per key/app, 600 changes and 30 publishes per hour per account. Images up to 15 MB (PNG, JPEG, WebP, GIF); the published tour up to 12 MB. Responses: 401 invalid or revoked credential, 402 no Pro plan, 403 missing permission, 429 rate limit (see Retry-After).
Security and privacy
We only store hashes of keys and tokens. The usage log (app, action, time, hashed IP) is kept 90 days and shown to you under API keys. Image URLs are fetched only over public https. Details in Privacy.
For agents: Plain-text summary: /llms.txt.