Labsco
andydukes logo

Flowise

from andydukes

Integrate with the Flowise API to create predictions and manage chatflows and assistants.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredAdvanced setup

mcp-flowise

smithery badge

mcp-flowise is a Python package implementing a Model Context Protocol (MCP) server that integrates with the Flowise API. It provides a standardized and flexible way to list chatflows, create predictions, and dynamically register tools for Flowise chatflows or assistants.

It supports two operation modes:

  • LowLevel Mode (Default): Dynamically registers tools for all chatflows retrieved from the Flowise API.
  • FastMCP Mode: Provides static tools for listing chatflows and creating predictions, suitable for simpler configurations.

Claude Desktop Screenshot


Features

  • Dynamic Tool Exposure: LowLevel mode dynamically creates tools for each chatflow or assistant.
  • Simpler Configuration: FastMCP mode exposes list_chatflows and create_prediction tools for minimal setup.
  • Flexible Filtering: Both modes support filtering chatflows via whitelists and blacklists by IDs or names (regex).
  • MCP Integration: Integrates seamlessly into MCP workflows.

Modes of Operation

1. FastMCP Mode (Simple Mode)

Enabled by setting FLOWISE_SIMPLE_MODE=true. This mode:

  • Exposes two tools: list_chatflows and create_prediction.
  • Allows static configuration using FLOWISE_CHATFLOW_ID or FLOWISE_ASSISTANT_ID.
  • Lists all available chatflows via list_chatflows.

FastMCP Mode

2. LowLevel Mode (FLOWISE_SIMPLE_MODE=False)

Features:

  • Dynamically registers all chatflows as separate tools.
  • Tools are named after chatflow names (normalized).
  • Uses descriptions from the FLOWISE_CHATFLOW_DESCRIPTIONS variable, falling back to chatflow names if no description is provided.

Example:

  • my_tool(question: str) -> str dynamically created for a chatflow.

Environment Variables

General

  • FLOWISE_API_KEY: Your Flowise API Bearer token (required).
  • FLOWISE_API_ENDPOINT: Base URL for Flowise (default: http://localhost:3010).

LowLevel Mode (Default)

  • FLOWISE_CHATFLOW_DESCRIPTIONS: Comma-separated list of chatflow_id:description pairs. Example:
    FLOWISE_CHATFLOW_DESCRIPTIONS="abc123:Chatflow One,xyz789:Chatflow Two"

FastMCP Mode (FLOWISE_SIMPLE_MODE=true)

  • FLOWISE_CHATFLOW_ID: Single Chatflow ID (optional).
  • FLOWISE_ASSISTANT_ID: Single Assistant ID (optional).
  • FLOWISE_CHATFLOW_DESCRIPTION: Optional description for the single tool exposed.

Filtering Chatflows

Filters can be applied in both modes using the following environment variables:

  • Whitelist by ID:
    FLOWISE_WHITELIST_ID="id1,id2,id3"
  • Blacklist by ID:
    FLOWISE_BLACKLIST_ID="id4,id5"
  • Whitelist by Name (Regex):
    FLOWISE_WHITELIST_NAME_REGEX=".*important.*"
  • Blacklist by Name (Regex):
    FLOWISE_BLACKLIST_NAME_REGEX=".*deprecated.*"

Note: Whitelists take precedence over blacklists. If both are set, the most restrictive rule is applied.

Security

  • Protect Your API Key: Ensure the FLOWISE_API_KEY is kept secure and not exposed in logs or repositories.
  • Environment Configuration: Use .env files or environment variables for sensitive configurations.

Add .env to your .gitignore:

# .gitignore
.env

TODO

  • Fastmcp mode
  • Lowlevel mode
  • Filtering
  • Claude desktop integration
  • Assistants