FlowZap
El MCP de FlowZap genera diagramas de flujo de trabajo, secuencia y arquitectura desde tu aplicación en segundos. Diagramas bonitos.
Documentación
Nuestro Compliance Checker se ha actualizado para incluir una verificación de cumplimiento de la Ley de IA de la UE. Más información.
Documentación del Servidor MCP de FlowZap
🤖 Esta documentación está optimizada para el consumo por LLM y Agentes de IA
Versión 2.1.0 | Última actualización: septiembre de 2026 | Herramienta de reparación determinista flowzap_fix + transporte remoto Streamable HTTP (listado en el registro oficial de MCP), vista de Mind Map + 4 herramientas de mindmap (validate, approve, template, create_playground), verificador de cumplimiento, 13 herramientas en total
Descripción general
El Servidor MCP (Protocolo de Contexto de Modelo) de FlowZap permite a los agentes de IA crear, validar y compartir diagramas profesionales de Workflow, Secuencia y Arquitectura utilizando FlowZap Code, un lenguaje de dominio específico diseñado para la generación de diagramas legibles por máquina.
Consejo: ¡Úsalo con el archivo SKILL md para obtener resultados óptimos!
¿Qué es FlowZap?
| Propósito | Convertir código basado en texto en diagramas de workflow visuales |
|---|---|
| Optimizado para | Generación AI-first, workflows agénticos (n8n, Make.com, Zapier) |
| Característica única | Renderizado de cuatro vistas: el mismo código se renderiza como diagramas de workflow, secuencia, arquitectura Y mind map |
| Compartición | URLs compartibles al instante sin autenticación |
Garantías de seguridad
El Servidor MCP de FlowZap implementa medidas de seguridad de nivel empresarial para proteger a los usuarios:
Seguridad de red
| Protección | Implementación |
|---|---|
| Prevención de SSRF | Solo se conecta a flowzap.xyz y www.flowzap.xyz mediante HTTPS |
| Validación de URL | Todas las URLs devueltas se verifican para que se originen en dominios de FlowZap |
| Tiempo de espera de solicitud | Un tiempo de espera de 30 segundos evita conexiones colgadas |
Validación de entrada
| Límite | Valor | Propósito |
|---|---|---|
| Longitud máxima de código | 50.000 caracteres | Evita el agotamiento de memoria |
| Longitud máxima de entrada | 100.000 caracteres | Protege contra ataques de payload |
| Eliminación de bytes nulos | Automática | Evita ataques de inyección |
| Saneamiento de caracteres de control | Automático | Elimina caracteres no imprimibles |
Limitación de velocidad
| Parámetro | Valor |
|---|---|
| Máximo de solicitudes | 30 por minuto |
| Duración de la ventana | 60 segundos |
| Comportamiento | Devuelve el tiempo de reintento cuando se supera |
Privacidad de datos
- No se requiere autenticación - Solo endpoints públicos
- No se almacenan datos de usuario - Las sesiones de playground son efímeras (TTL de 60 minutos, tokens criptográficos no adivinables)
- Sin seguimiento - Sin cookies ni identificadores persistentes
- Solo registros en stderr - Los eventos de seguridad nunca se exponen a los clientes MCP
Herramientas disponibles
1. flowzap_get_syntax
Propósito: Recuperar la documentación completa de sintaxis de FlowZap Code.
Cuándo usarla: Antes de generar cualquier FlowZap Code, llama a esta herramienta para aprender la sintaxis correcta.
Esquema de entrada:
{
"type": "object",
"properties": {}
}
Salida: Guía de sintaxis completa que incluye restricciones globales, tipos de formas, sintaxis de nodos, sintaxis de bordes, sintaxis de bucles y errores comunes a evitar.
2. flowzap_validate
Propósito: Validar la sintaxis de FlowZap Code antes de crear un diagrama.
Cuándo usarla: Valida siempre el código antes de llamar a flowzap_create_playground. Esto evita errores y proporciona comentarios accionables.
Esquema de entrada:
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "FlowZap Code to validate"
}
},
"required": ["code"]
}
Salida de éxito:
✅ FlowZap Code is valid!
Stats:
- Lanes: 2
- Nodes: 5
- Edges: 4
Salida de error:
❌ Validation failed:
- Line 3: Unknown shape "oval". Valid shapes: circle, rectangle, diamond, taskbox
- Line 5: Edge missing handle syntax. Use: n1.handle(right) -> n2.handle(left)
3. flowzap_create_playground
Propósito: Crear una URL de playground compartible con el diagrama.
Cuándo usarla: Después de que la validación pase, crea un playground para dar a los usuarios un diagrama interactivo que puedan ver y editar.
Esquema de entrada:
{
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "FlowZap Code to load in the playground"
},
"view": {
"type": "string",
"enum": ["workflow", "sequence", "architecture"],
"description": "Initial view mode. Default: workflow"
}
},
"required": ["code"]
}
Salida:
✅ Playground created!
🔗 **View your diagram:** https://flowzap.xyz/playground/abc123?view=architecture
The diagram is ready to view and edit. Share this link with anyone!
Modos de vista:
| Vista | Mejor para |
|---|---|
| workflow | Flujos de proceso paso a paso (predeterminado) |
| sequence | Intercambios de mensajes entre participantes |
| architecture | Vista general a nivel de sistema que muestra los carriles como sistemas |
Notas importantes:
- Valida automáticamente el código antes de crear el playground
- Devuelve errores de validación si el código no es válido
- Las URLs de playground caducan después de 60 minutos
- No se requiere autenticación para verlas
- Usa
view="architecture"para la vista general a nivel de sistema de diagramas de múltiples carriles
4. flowzap_compliance_check
Propósito: Ejecutar un análisis de cumplimiento automatizado de SOC2, GDPR, PIPL y la Ley de IA de la UE en un diagrama de flujo de datos de FlowZap Code.
Cuándo usarla: Cuando el usuario solicite una revisión de privacidad, seguridad o regulatoria de un diagrama de flujo de datos. Respaldada por Deepseek LLM.
Esquema de entrada:
{
"type": "object",
"properties": {
"code": { "type": "string", "maxLength": 50000 },
"lng": { "type": "string", "enum": ["en", "fr", "zh"], "default": "en" }
},
"required": ["code"]
}
Salida: Informe de auditoría en Markdown que cubre los controles de la serie CC de SOC2, artículos del GDPR, capítulos de PIPL y obligaciones de la Ley de IA de la UE (clasificación de riesgo de IA, supervisión humana y documentación técnica) con riesgos, recomendaciones y un enlace al verificador manual en flowzap.xyz/soc2-gdpr-pipl-compliance-checker.
Límites de velocidad (estrictos, protección de costos de Deepseek LLM):
- 10 revisiones de cumplimiento gratuitas por período móvil de 30 días por IP o por mcpIdentity
- 3 llamadas por hora como límite de ráfaga por IP
- Disyuntor global de 5 minutos ante fallos ascendentes repetidos
- Solo las llamadas exitosas cuentan para la cuota mensual
5. flowzap_fix
Propósito: Pasada de reparación determinista para FlowZap Code rechazado por el validador: numeración de nodos no secuencial, manijas de bordes inferidas, sintaxis de etiquetas de nodos/bordes, etiquetas de visualización de carriles faltantes, emojis y caracteres no imprimibles.
Cuándo usarla: Cuando flowzap_validate (o POST /api/validate) rechace el código con uno de estos errores mecánicos. La herramienta devuelve el código corregido más la lista de correcciones aplicadas; los errores que no puede reparar se informan tal cual y el contenido nunca se inventa.
Esquema de entrada:
{
"type": "object",
"properties": {
"code": { "type": "string", "maxLength": 50000 },
"lng": { "type": "string", "enum": ["en", "fr", "zh"], "default": "en" }
},
"required": ["code"]
}
Salida: El FlowZap Code reparado, las correcciones aplicadas con recuentos y cualquier error restante no reparable con sus mensajes de validación. Respaldada por el endpoint público POST /api/fix (30 solicitudes/minuto por IP, sin autenticación).
Referencia de reglas de validación
El validador realiza comprobaciones de validación exhaustivas en múltiples categorías. Comprenderlas ayuda a generar código válido al primer intento.
Códigos de error (creación de diagramas de bloques)
| Código | Descripción | Corrección |
|---|---|---|
| CONTAINS_EMOJI | Se detectaron caracteres emoji | Usa solo texto plano UTF-8 |
| NESTED_LANE | Carril definido dentro de otro carril | Aplana la estructura de carriles |
| UNMATCHED_BRACE | } de cierre sin { de apertura | Comprueba el equilibrio de llaves |
| UNCLOSED_BRACE | Falta } de cierre | Añade la llave de cierre |
| DUPLICATE_NODE_ID | El mismo ID de nodo usado dos veces | Usa IDs únicos: n1, n2, n3... |
| INVALID_SHAPE | Tipo de forma desconocido | Usa: circle, rectangle, diamond, taskbox |
| MISSING_LABEL | Nodo sin etiqueta (excepto taskbox) | Añade label:"Texto" |
| NODE_OUTSIDE_LANE | Nodo definido fuera de cualquier carril | Muévelo dentro de un bloque de carril |
| MISSING_HANDLES | Borde sin sintaxis de manija | Usa n1.handle(right) -> n2.handle(left) |
| INVALID_EDGE_SYNTAX | Definición de borde malformada | Comprueba la sintaxis de flecha -> |
| INVALID_DIRECTION | Dirección de manija desconocida | Usa: left, right, top, bottom |
| EDGE_OUTSIDE_LANE | Borde definido fuera de cualquier carril | Muévelo dentro de un bloque de carril |
| UNDEFINED_LANE_REF | Referencia entre carriles a un carril inexistente | Comprueba la ortografía del nombre del carril |
| INVALID_LOOP_SYNTAX | Definición de bucle malformada | Usa loop [condición] n1 n2 |
| LOOP_OUTSIDE_LANE | Bucle definido fuera de cualquier carril | Muévelo dentro de un bloque de carril |
| MISPLACED_COMMENT | Comentario en ubicación incorrecta | Pon el único comentario permitido en la misma línea que la llave de apertura del carril |
| COMMENT_OUTSIDE_LANE | Comentario fuera de cualquier carril | Elimínalo o mueve la etiqueta de visualización a la línea de apertura del carril |
| UNDEFINED_NODE | El borde referencia un nodo no definido | Define el nodo antes de referenciarlo |
| NON_SEQUENTIAL_NUMBERING | La numeración de nodos no comienza en n1 o tiene un hueco | Usa n1, n2, n3... secuencialmente en todo el diagrama |
| WRONG_LABEL_SYNTAX | La etiqueta de nodo usa = en lugar de : | Usa label:"Texto" para atributos de nodo |
| WRONG_EDGE_LABEL_SYNTAX | La etiqueta de borde usa : en lugar de = | Usa [label="Texto"] para etiquetas de borde |
| ORPHAN_NODE | El nodo no está conectado a ningún borde | Conéctalo como origen o destino de un borde, o elimínalo |
| MISSING_RETURN_EDGE | La solicitud entre carriles no tiene un borde de retorno correspondiente | Añade un borde de respuesta desde el carril de destino de vuelta al carril de origen |
| MULTIPLE_OUTBOUND_REQUESTS | Un carril envía otra solicitud entre carriles antes de que se responda la anterior | Usa un ritmo estricto de solicitud → respuesta → siguiente solicitud |
| CHRONOLOGICAL_PAIRING_VIOLATION | Aparece una solicitud entre carriles diferente antes del borde de retorno anterior | Reordena los bordes para que coincidan con la línea de tiempo real de solicitud/respuesta |
| EMPTY_DIAGRAM | No se definieron nodos | Añade al menos un nodo |
| WRONG_DSL_FORMAT | Se detectó Mermaid/PlantUML | Usa solo sintaxis de FlowZap |
Códigos de advertencia (violaciones de mejores prácticas)
| Código | Descripción | Recomendación |
|---|---|---|
| NON_PRINTABLE_CHARS | Se detectaron caracteres de control | Usa solo texto plano |
| DUPLICATE_LANE | El mismo carril definido dos veces | Fusiona en un solo bloque |
| MISSING_LANE_LABEL | Carril sin # Nombre de visualización | Añade etiqueta de visualización |
| NON_STANDARD_NODE_ID | ID que no está en formato n1, n2, n3 | Usa numeración estándar |
| TASKBOX_MISSING_PROPS | Taskbox sin owner/description | Añade las propiedades requeridas |
| LOOP_TOO_FEW_NODES | Bucle con solo 1 nodo | Incluye al menos 2 nodos |
| UNKNOWN_ATTRIBUTE | Se usó un atributo no estándar | Usa: label, owner, description, system |
| LABEL_TOO_LONG | La etiqueta supera los 50 caracteres | Mantén las etiquetas concisas |
Referencia rápida de sintaxis de FlowZap Code
Restricciones globales
✓ UTF-8 plain text only (no emojis)
✓ Node IDs: n1, n2, n3... (globally unique, sequential, no gaps)
✓ Shapes: circle, rectangle, diamond, taskbox
✓ Attributes: label, owner, description, system
✓ Comments: Only "# Display Label" on the same line as the lane opening brace
✓ Sequence view: alternate cross-lane request and response edges in real chronological order
✗ No Mermaid, PlantUML, or other DSL syntax
Estructura básica
laneName { # Lane Display Name
n1: circle label:"Start"
n2: rectangle label:"Process"
n1.handle(right) -> n2.handle(left)
}
Tipos de formas
| Forma | Propósito | Ejemplo |
|---|---|---|
| circle | Eventos de inicio/fin | n1: circle label:"Inicio" |
| rectangle | Tareas/Actividades | n2: rectangle label:"Procesar pedido" |
| diamond | Puertas de decisión | n3: diamond label:"¿Válido?" |
| taskbox | Tareas asignadas | n4: taskbox owner:"Alice" description:"Desplegar" |
Sintaxis de bordes
# Basic edge
n1.handle(right) -> n2.handle(left)
# Edge with label
n2.handle(bottom) -> n3.handle(top) [label="Yes"]
# Cross-lane edge (prefix with lane name)
n3.handle(right) -> fulfillment.n4.handle(left) [label="Send"]
Direcciones de manija
| Dirección | Posición |
|---|---|
| left | Lado izquierdo del nodo |
| right | Lado derecho del nodo |
| top | Parte superior del nodo |
| bottom | Parte inferior del nodo |
Sintaxis de bucles
loop [retry up to 3 times] n1 n2 n3
- Debe estar dentro de un bloque de carril
- No puede estar anidado
- Debe referenciar al menos 2 nodos
Ejemplo completo
sales { # Sales Team
n1: circle label:"Order Received"
n2: rectangle label:"Validate Order"
n5: rectangle label:"Receive decision"
n1.handle(right) -> n2.handle(left)
n2.handle(bottom) -> fulfillment.n3.handle(top) [label="Submit"]
}
fulfillment { # Fulfillment
n3: rectangle label:"Review Order"
n4: rectangle label:"Return decision"
n3.handle(right) -> n4.handle(left)
n4.handle(top) -> sales.n5.handle(bottom) [label="Approved"]
}
Workflow recomendado para agentes de IA
- Paso 1: Aprender la sintaxis
{"name": "flowzap_get_syntax", "arguments": {}}} - Paso 2: Generar código
Basado en la solicitud del usuario, genera FlowZap Code siguiendo las reglas de sintaxis. - Paso 3: Validar
{"name": "flowzap_validate", "arguments": {"code": "..."}} - Paso 4: Corregir errores (si los hay)
Analiza los mensajes de error y corrige el código. - Paso 5: Crear playground
{"name": "flowzap_create_playground", "arguments": {"code": "..."}} - Paso 6: Presentar al usuario
Comparte la URL del playground con el usuario.
Errores comunes a evitar
| Error | Incorrecto | Correcto |
|---|---|---|
| Comentario de carril en línea separada | laneName { # Etiqueta | laneName { # Etiqueta |
| Formas abreviadas | n1: rect | n1: rectangle |
| Manijas faltantes | n1 -> n2 | n1.handle(right) -> n2.handle(left) |
| Sintaxis incorrecta de atributo de nodo | label="Texto" | label:"Texto" |
| Sintaxis incorrecta de etiqueta de borde | [label:"Texto"] | [label="Texto"] |
| Emojis en etiquetas | label:"Inicio 🚀" | label:"Inicio" |
| Atributos desconocidos | priority:"high" | (eliminar - no soportado) |
| IDs no secuenciales | n1, n3, n5 | n1, n2, n3 |
| Referencias a carriles no definidos | undefined.n5 | Usa el nombre real del carril |
| Segunda solicitud antes de la respuesta | A -> B, luego A -> C, luego B -> A | A -> B, luego B -> A, luego la siguiente solicitud |
Endpoints de API (acceso directo)
Para agentes que prefieren llamadas HTTP directas en lugar de MCP:
POST /api/validate
URL: https://flowzap.xyz/api/validate
Límite de velocidad: 30 solicitudes/minuto por IP
Solicitud:
{
"code": "process { # P n1: circle label:\"Start\" }"
}
Respuesta:
{
"valid": true,
"errors": [],
"warnings": [],
"stats": {
"lanes": 1,
"nodes": 1,
"edges": 0,
"loops": 0
}
}
POST /api/playground/create
URL: https://flowzap.xyz/api/playground/create
Límite de velocidad: 5 solicitudes/minuto, 50/día por IP
Solicitud:
{
"code": "process { # P n1: circle label:\"Start\" }"
}
Respuesta:
{
"url": "https://flowzap.xyz/playground?session=abc123"
}
Instalación
El servidor MCP de FlowZap funciona con cualquier herramienta que admita el Protocolo de Contexto de Modelos (MCP). Aquí está la lista completa de herramientas compatibles:
Todas las Herramientas de Codificación Compatibles
| Herramienta | Cómo Configurar |
|---|---|
| Claude Desktop | Añadir a claude_desktop_config.json: macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json |
| Claude Code | Ejecutar: claude mcp add --transport stdio flowzap -- npx -y flowzap-mcp O añadir a .mcp.json en la raíz de tu proyecto. |
| Cursor | Abrir Configuración → Funciones → Servidores MCP → Añadir Servidor. Usa la misma configuración JSON. |
| Windsurf IDE | Añadir a ~/.codeium/windsurf/mcp_config.json |
| OpenAI Codex | Añadir a ~/.codex/config.toml: [mcp_servers.flowzap] command = "npx" args = ["-y", "flowzap-mcp"] O ejecutar: codex mcp add flowzap -- npx -y flowzap-mcp |
| Warp Terminal | Configuración → Servidores MCP → Clic en "+ Añadir" → Pegar la configuración JSON. |
| Zed Editor | Añadir a settings.json: {"context_servers": {"flowzap": {"command": "npx", "args": ["-y", "flowzap-mcp"]}}} |
| Cline (VS Code) | Abrir la barra lateral de Cline → Icono de Servidores MCP → Editar cline_mcp_settings.json |
| Roo Code (VS Code) | Añadir a .roo/mcp.json en la configuración del proyecto o global. |
| Continue.dev | Crear .continue/mcpServers/flowzap.yaml con: name: FlowZap mcpServers: - name: flowzap command: npx args: ["-y", "flowzap-mcp"] |
| Sourcegraph Cody | Añadir a settings.json de VS Code mediante la configuración de openctx.providers. |
Usuarios de Windows: Si las herramientas no aparecen, usa la ruta absoluta: "command": "C:\\Program Files\\nodejs\\npx.cmd". Encuentra tu ruta de npx con: where.exe npx
Configuración JSON
Todas las herramientas usan el mismo formato de configuración JSON:
{
"mcpServers": {
"flowzap": {
"command": "npx",
"args": ["-y", "flowzap-mcp"]
}
}
}
Usuarios de Windows: Si las herramientas no aparecen, usa la ruta absoluta: "command": "C:\\Program Files\\nodejs\\npx.cmd". Encuentra tu ruta de npx con: where.exe npx
Soporte y Recursos
- • Documentación de Sintaxis: https://flowzap.xyz/flowzap-code
- • Playground Interactivo: https://flowzap.xyz/playground
- • Biblioteca de Plantillas: https://flowzap.xyz/templates
- • Estadísticas de Uso Público de MCP: https://flowzap.xyz/.well-known/flowzap-stats.json
- • Paquete npm: https://www.npmjs.com/package/flowzap-mcp
- • Repositorio de GitHub: https://github.com/flowzap-xyz/flowzap-mcp
- • Registro Oficial de MCP: https://registry.modelcontextprotocol.io/?q=flowzap
- • Servidor Smithery: https://smithery.ai/server/@flowzap/flowzap
- • Habilidad Smithery: https://smithery.ai/skills/Flowzap/diagram-skill
- • PulseMCP: https://www.pulsemcp.com/servers/flowzap
- • Glama: https://glama.ai/mcp/servers/flowzap-xyz/flowzap-mcp
- • MCPServers.org: https://mcpservers.org/servers/flowzap-xyz-docs-mcp
- • AIBase: https://mcp.aibase.com/server/1639702939289526535
- • Habilidad de Agente (skills.sh): https://skills.sh/flowzap-xyz/flowzap-mcp/flowzap-diagrams
- • Fuente de la Habilidad: https://github.com/flowzap-xyz/flowzap-mcp/tree/main/skills/flowzap-diagrams
- • Conjunto de Datos de Hugging Face: https://huggingface.co/datasets/Jules-OC/flowzap-sequence-workflows/tree/main
Instalar como Habilidad de Agente (más de 40 agentes)
npx skills add flowzap-xyz/flowzap-mcp
Compatible con: Claude Code, Cursor, Windsurf, Codex, Gemini CLI, GitHub Copilot, Cline, Roo Code, Augment, OpenCode y más.
Historial de Versiones
| Versión | Fecha | Cambios |
|---|---|---|
| 1.4.3 | Mayo 2026 | Descripciones de herramientas reforzadas para que todos los clientes MCP (no solo Claude Code vía SKILL.md) invoquen automáticamente flowzap_compliance_check junto con flowzap_create_playground en solicitudes de cumplimiento; la página de resultados ahora coincide con el diseño del verificador manual |
| 1.4.2 | Mayo 2026 | URLs de resultados de cumplimiento efímeras compartibles (TTL de 60 minutos, noindex) con página de auditoría renderizada; SKILL.md requería formato de respuesta de dos líneas |
| 1.4.1 | Mayo 2026 | La verificación de cumplimiento devuelve resultUrl además del informe Markdown en línea |
| 2.1.0 | Sep 2026 | Nueva herramienta flowzap_fix (reparación determinista vía POST /api/fix) + transporte remoto Streamable HTTP listado en el registro oficial de MCP — los agentes alojados (Replit, Lovable.dev, conectores de ChatGPT, Claude web) ya no necesitan npx — 13 herramientas en total |
| 2.0.0 | Ago 2026 | Vista de Mapa Mental (?view=mindmap) + 4 herramientas de mapa mental (validate, approve, template, create_playground) — 12 herramientas en total |
| 1.4.0 | Mayo 2026 | Nueva herramienta flowzap_compliance_check (SOC2/GDPR/PIPL, respaldada por Deepseek) con límites de tasa estrictos de 3 capas; sugerencia de venta cruzada añadida a flowzap_create_playground; 8 herramientas en total |
| 1.3.6 | Abr 2026 | Validación más estricta (huecos de numeración, aplicación de secuencia ping-pong, etiquetas de carril en la misma línea), alineación del endpoint del playground, documentación actualizada |
| 1.3.5 | Feb 2026 | Correcciones de seguridad: vulnerabilidades de MCP SDK ReDoS, hono JWT/XSS, ajv ReDoS, qs DoS |
| 1.3.3 | Feb 2026 | Las 7 herramientas conectadas, modo de vista de Arquitectura |
| 1.3.0 | Feb 2026 | Añadido modo de vista de Arquitectura, renderizado de triple vista |
| 1.2.0 | Ene 2026 | Añadidas nuevas reglas de validación, cobertura de pruebas integral |
| 1.1.0 | Dic 2025 | Endurecimiento de seguridad, limitación de tasa |
| 1.0.0 | Nov 2025 | Lanzamiento inicial |
Esta documentación está optimizada para el consumo de LLM. Para guías legibles por humanos, visita flowzap.xyz/flowzap-code