Flowise

Integre com a API do Flowise para criar previsões e gerenciar chatflows e assist

Documentação

mcp-flowise

smithery badge

mcp-flowise é um pacote Python que implementa um servidor Model Context Protocol (MCP) que se integra à API do Flowise. Ele fornece uma maneira padronizada e flexível de listar chatflows, criar previsões e registrar dinamicamente ferramentas para chatflows ou assistentes do Flowise.

Ele suporta dois modos de operação:

  • Modo LowLevel (Padrão): Registra dinamicamente ferramentas para todos os chatflows recuperados da API do Flowise.
  • Modo FastMCP: Fornece ferramentas estáticas para listar chatflows e criar previsões, adequado para configurações mais simples.

Claude Desktop Screenshot


Recursos

  • Exposição Dinâmica de Ferramentas: O modo LowLevel cria dinamicamente ferramentas para cada chatflow ou assistente.
  • Configuração Mais Simples: O modo FastMCP expõe as ferramentas list_chatflows e create_prediction para configuração mínima.
  • Filtragem Flexível: Ambos os modos suportam filtragem de chatflows via listas de permissão e bloqueio por IDs ou nomes (regex).
  • Integração MCP: Integra-se perfeitamente aos fluxos de trabalho MCP.

Instalação

Instalando via Smithery

Para instalar o mcp-flowise para Claude Desktop automaticamente via Smithery:

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

Pré-requisitos

  • Python 3.12 ou superior
  • Gerenciador de pacotes uvx

Instalar e Executar via uvx

Confirme que você pode executar o servidor diretamente do repositório GitHub usando uvx:

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

Adicionando ao Ecossistema MCP (Configuração mcpServers)

Você pode integrar mcp-flowise ao seu ecossistema MCP adicionando-o à configuração mcpServers. Exemplo:

{
    "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 Operação

1. Modo FastMCP (Modo Simples)

Habilitado definindo FLOWISE_SIMPLE_MODE=true. Este modo:

  • Expõe duas ferramentas: list_chatflows e create_prediction.
  • Permite configuração estática usando FLOWISE_CHATFLOW_ID ou FLOWISE_ASSISTANT_ID.
  • Lista todos os chatflows disponíveis via list_chatflows.

FastMCP Mode

2. Modo LowLevel (FLOWISE_SIMPLE_MODE=False)

Recursos:

  • Registra dinamicamente todos os chatflows como ferramentas separadas.
  • As ferramentas são nomeadas após os nomes dos chatflows (normalizados).
  • Usa descrições da variável FLOWISE_CHATFLOW_DESCRIPTIONS, recorrendo aos nomes dos chatflows se nenhuma descrição for fornecida.

Exemplo:

  • my_tool(question: str) -> str criado dinamicamente para um chatflow.

Executando no Windows com uvx

Se você estiver usando uvx no Windows e encontrar problemas com --from git+https, a solução recomendada é clonar o repositório localmente e configurar o mcpServers com o caminho completo para uvx.exe e o repositório clonado. Além disso, inclua APPDATA, LOGLEVEL e outras variáveis de ambiente conforme necessário.

Exemplo de Configuração para o Ecossistema MCP (mcpServers no 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

  • Caminhos Completos: Use caminhos completos tanto para uvx.exe quanto para o repositório clonado.
  • Variáveis de Ambiente: Aponte APPDATA para o seu perfil de usuário do Windows (por exemplo, C:\\Users\\<username>\\AppData\\Roaming) se necessário.
  • Nível de Log: Ajuste LOGLEVEL conforme necessário (ERROR, INFO, DEBUG, etc.).

Variáveis de Ambiente

Gerais

  • FLOWISE_API_KEY: Seu token Bearer da API do Flowise (obrigatório).
  • FLOWISE_API_ENDPOINT: URL base para o Flowise (padrão: http://localhost:3010).

Modo LowLevel (Padrão)

  • FLOWISE_CHATFLOW_DESCRIPTIONS: Lista separada por vírgulas de pares chatflow_id:description. Exemplo:
    FLOWISE_CHATFLOW_DESCRIPTIONS="abc123:Chatflow One,xyz789:Chatflow Two"
    

Modo FastMCP (FLOWISE_SIMPLE_MODE=true)

  • FLOWISE_CHATFLOW_ID: ID de um único Chatflow (opcional).
  • FLOWISE_ASSISTANT_ID: ID de um único Assistente (opcional).
  • FLOWISE_CHATFLOW_DESCRIPTION: Descrição opcional para a ferramenta única exposta.

Filtrando Chatflows

Filtros podem ser aplicados em ambos os modos usando as seguintes variáveis de ambiente:

  • Lista de Permissão por ID:
    FLOWISE_WHITELIST_ID="id1,id2,id3"
  • Lista de Bloqueio por ID:
    FLOWISE_BLACKLIST_ID="id4,id5"
  • Lista de Permissão por Nome (Regex):
    FLOWISE_WHITELIST_NAME_REGEX=".*important.*"
  • Lista de Bloqueio por Nome (Regex):
    FLOWISE_BLACKLIST_NAME_REGEX=".*deprecated.*"

Nota: Listas de permissão têm precedência sobre listas de bloqueio. Se ambas forem definidas, a regra mais restritiva é aplicada.

Segurança

  • Proteja Sua Chave de API: Garanta que o FLOWISE_API_KEY seja mantido seguro e não exposto em logs ou repositórios.
  • Configuração de Ambiente: Use arquivos .env ou variáveis de ambiente para configurações sensíveis.

Adicione .env ao seu .gitignore:

# .gitignore
.env

Solução de Problemas

  • Chave de API Ausente: Garanta que FLOWISE_API_KEY esteja definido corretamente.
  • Configuração Inválida: Se ambos FLOWISE_CHATFLOW_ID e FLOWISE_ASSISTANT_ID estiverem definidos, o servidor se recusará a iniciar.
  • Erros de Conexão: Verifique se FLOWISE_API_ENDPOINT está acessível.

Licença

Este projeto é licenciado sob a Licença MIT. Consulte o arquivo LICENSE para detalhes.

TODO

  • Modo Fastmcp
  • Modo Lowlevel
  • Filtragem
  • Integração com Claude desktop
  • Assistentes