Flowise

Integra con la API de Flowise para crear predicciones y gestionar flujos de chat y asistentes.

Documentación

mcp-flowise

smithery badge

mcp-flowise es un paquete de Python que implementa un servidor del Protocolo de Contexto de Modelo (MCP) que se integra con la API de Flowise. Proporciona una forma estandarizada y flexible de listar chatflows, crear predicciones y registrar dinámicamente herramientas para chatflows o asistentes de Flowise.

Admite dos modos de operación:

  • LowLevel Mode (Predeterminado): Registra dinámicamente herramientas para todos los chatflows obtenidos de la API de Flowise.
  • FastMCP Mode: Proporciona herramientas estáticas para listar chatflows y crear predicciones, adecuado para configuraciones más simples.

Claude Desktop Screenshot


Características

  • Exposición Dinámica de Herramientas: El modo LowLevel crea dinámicamente herramientas para cada chatflow o asistente.
  • Configuración Más Simple: El modo FastMCP expone las herramientas list_chatflows y create_prediction para una configuración mínima.
  • Filtrado Flexible: Ambos modos admiten el filtrado de chatflows mediante listas blancas y negras por IDs o nombres (regex).
  • Integración MCP: Se integra perfectamente en flujos de trabajo MCP.

Instalación

Instalación mediante Smithery

Para instalar mcp-flowise para Claude Desktop automáticamente mediante Smithery:

npx -y @smithery/cli install @andydukes/mcp-flowise --client claude

Requisitos previos

  • Python 3.12 o superior
  • Administrador de paquetes uvx

Instalar y ejecutar mediante uvx

Confirma que puedes ejecutar el servidor directamente desde el repositorio de GitHub usando uvx:

uvx --from git+https://github.com/andydukes/mcp-flowise mcp-flowise

Añadir al Ecosistema MCP (Configuración de mcpServers)

Puedes integrar mcp-flowise en tu ecosistema MCP añadiéndolo a la configuración de mcpServers. Ejemplo:

{
    "mcpServers": {
        "mcp-flowise": {
            "command": "uvx",
            "args": [
                "--from",
                "git+https://github.com/andydukes/mcp-flowise",
                "mcp-flowise"
            ],
            "env": {
                "FLOWISE_API_KEY": "${FLOWISE_API_KEY}",
                "FLOWISE_API_ENDPOINT": "${FLOWISE_API_ENDPOINT}"
            }
        }
    }
}

Modos de Operación

1. Modo FastMCP (Modo Simple)

Habilitado al establecer FLOWISE_SIMPLE_MODE=true. Este modo:

  • Expone dos herramientas: list_chatflows y create_prediction.
  • Permite configuración estática usando FLOWISE_CHATFLOW_ID o FLOWISE_ASSISTANT_ID.
  • Lista todos los chatflows disponibles mediante list_chatflows.

FastMCP Mode

2. Modo LowLevel (FLOWISE_SIMPLE_MODE=False)

Características:

  • Registra dinámicamente todos los chatflows como herramientas separadas.
  • Las herramientas se nombran según los nombres de los chatflows (normalizados).
  • Utiliza descripciones de la variable FLOWISE_CHATFLOW_DESCRIPTIONS, recurriendo a los nombres de los chatflows si no se proporciona una descripción.

Ejemplo:

  • my_tool(question: str) -> str creado dinámicamente para un chatflow.

Ejecución en Windows con uvx

Si estás usando uvx en Windows y encuentras problemas con --from git+https, la solución recomendada es clonar el repositorio localmente y configurar el mcpServers con la ruta completa a uvx.exe y al repositorio clonado. Además, incluye APPDATA, LOGLEVEL y otras variables de entorno según sea necesario.

Ejemplo de Configuración para el Ecosistema MCP (mcpServers en Windows)

{
  "mcpServers": {
    "flowise": {
      "command": "C:\\Users\\matth\\.local\\bin\\uvx.exe",
      "args": [
        "--from",
        "C:\\Users\\matth\\downloads\\mcp-flowise",
        "mcp-flowise"
      ],
      "env": {
        "LOGLEVEL": "ERROR",
        "APPDATA": "C:\\Users\\matth\\AppData\\Roaming",
        "FLOWISE_API_KEY": "your-api-key-goes-here",
        "FLOWISE_API_ENDPOINT": "http://localhost:3010/"
      }
    }
  }
}

Notas

  • Rutas Completas: Usa rutas completas tanto para uvx.exe como para el repositorio clonado.
  • Variables de Entorno: Apunta APPDATA a tu perfil de usuario de Windows (por ejemplo, C:\\Users\\<username>\\AppData\\Roaming) si es necesario.
  • Nivel de Registro: Ajusta LOGLEVEL según sea necesario (ERROR, INFO, DEBUG, etc.).

Variables de Entorno

Generales

  • FLOWISE_API_KEY: Tu token Bearer de la API de Flowise (obligatorio).
  • FLOWISE_API_ENDPOINT: URL base para Flowise (predeterminado: http://localhost:3010).

Modo LowLevel (Predeterminado)

  • FLOWISE_CHATFLOW_DESCRIPTIONS: Lista separada por comas de pares chatflow_id:description. Ejemplo:
    FLOWISE_CHATFLOW_DESCRIPTIONS="abc123:Chatflow One,xyz789:Chatflow Two"
    

Modo FastMCP (FLOWISE_SIMPLE_MODE=true)

  • FLOWISE_CHATFLOW_ID: ID de Chatflow único (opcional).
  • FLOWISE_ASSISTANT_ID: ID de Asistente único (opcional).
  • FLOWISE_CHATFLOW_DESCRIPTION: Descripción opcional para la herramienta única expuesta.

Filtrado de Chatflows

Los filtros se pueden aplicar en ambos modos usando las siguientes variables de entorno:

  • Lista blanca por ID:
    FLOWISE_WHITELIST_ID="id1,id2,id3"
  • Lista negra por ID:
    FLOWISE_BLACKLIST_ID="id4,id5"
  • Lista blanca por Nombre (Regex):
    FLOWISE_WHITELIST_NAME_REGEX=".*important.*"
  • Lista negra por Nombre (Regex):
    FLOWISE_BLACKLIST_NAME_REGEX=".*deprecated.*"

Nota: Las listas blancas tienen prioridad sobre las listas negras. Si ambas están configuradas, se aplica la regla más restrictiva.

Seguridad

  • Protege tu Clave de API: Asegúrate de que el FLOWISE_API_KEY se mantenga seguro y no se exponga en registros o repositorios.
  • Configuración de Entorno: Usa archivos .env o variables de entorno para configuraciones sensibles.

Añade .env a tu .gitignore:

# .gitignore
.env

Solución de Problemas

  • Clave de API Faltante: Asegúrate de que FLOWISE_API_KEY esté configurada correctamente.
  • Configuración Inválida: Si tanto FLOWISE_CHATFLOW_ID como FLOWISE_ASSISTANT_ID están configurados, el servidor se negará a iniciar.
  • Errores de Conexión: Verifica que FLOWISE_API_ENDPOINT sea accesible.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

TODO

  • Modo Fastmcp
  • Modo Lowlevel
  • Filtrado
  • Integración con Claude Desktop
  • Asistentes