Skip to main content
Glama
MCP-Flowise
by andydukes

mcp-flowise

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.


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.


Related MCP server: MCP Python Server

Installation

Installing via Smithery

To install mcp-flowise for Claude Desktop automatically via Smithery:

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

Prerequisites

  • Python 3.12 or higher

  • uvx package manager

Install and Run via uvx

Confirm you can run the server directly from the GitHub repository using uvx:

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

Adding to MCP Ecosystem (mcpServers Configuration)

You can integrate mcp-flowise into your MCP ecosystem by adding it to the mcpServers configuration. Example:

{
    "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}"
            }
        }
    }
}

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.

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.


Running on Windows with uvx

If you're using uvx on Windows and encounter issues with --from git+https, the recommended solution is to clone the repository locally and configure the mcpServers with the full path to uvx.exe and the cloned repository. Additionally, include APPDATA, LOGLEVEL, and other environment variables as required.

Example Configuration for MCP Ecosystem (mcpServers on 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/"
      }
    }
  }
}

Notes

  • Full Paths: Use full paths for both uvx.exe and the cloned repository.

  • Environment Variables: Point APPDATA to your Windows user profile (e.g., C:\\Users\\<username>\\AppData\\Roaming) if needed.

  • Log Level: Adjust LOGLEVEL as needed (ERROR, INFO, DEBUG, etc.).

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

Troubleshooting

  • Missing API Key: Ensure FLOWISE_API_KEY is set correctly.

  • Invalid Configuration: If both FLOWISE_CHATFLOW_ID and FLOWISE_ASSISTANT_ID are set, the server will refuse to start.

  • Connection Errors: Verify FLOWISE_API_ENDPOINT is reachable.


License

This project is licensed under the MIT License. See the LICENSE file for details.

TODO

  • Fastmcp mode

  • Lowlevel mode

  • Filtering

  • Claude desktop integration

  • Assistants

Available Tools

2 tools
create_predictionA
Create a prediction by sending a question to a specific chatflow or assistant.

Args:
    chatflow_id (str, optional): The ID of the chatflow to use. Defaults to FLOWISE_CHATFLOW_ID.
    question (str): The question or prompt to send to the chatflow.

Returns:
    str: The raw JSON response from Flowise API or an error message if something goes wrong.

Inputs: question (required), chatflow_id.

list_chatflowsA
List all available chatflows from the Flowise API.

This function respects optional whitelisting or blacklisting if configured
via FLOWISE_CHATFLOW_WHITELIST or FLOWISE_CHATFLOW_BLACKLIST.

Returns:
    str: A JSON-encoded string of filtered chatflows.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have completely distinct purposes: one lists available chatflows, and the other creates predictions using a specific chatflow. There is no overlap in functionality, and an agent can easily differentiate between them based on their clear descriptions.

    Naming Consistency5/5

    Both tools follow a consistent verb_noun naming pattern: list_chatflows and create_prediction. The naming is predictable and readable, with no deviations in style or convention across the tool set.

    Tool Count2/5

    With only 2 tools, the server feels thin for its apparent domain of interacting with Flowise chatflows. While the tools cover listing and creating predictions, the lack of operations like updating, deleting, or managing chatflows suggests an incomplete surface that may limit agent workflows.

    Completeness2/5

    The tool set is severely incomplete for a chatflow management domain. It only provides list and create operations, missing essential CRUD functionality such as updating or deleting chatflows, retrieving specific chatflow details, or handling prediction updates. This will likely cause agent failures in more complex scenarios.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A FastAPI-based implementation of the Model Context Protocol that enables standardized interaction between AI models and development environments, making it easier for developers to integrate and manage AI tasks.
      10
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      A Python-based implementation of the Model Context Protocol that enables communication between a model context management server and client through a request-response architecture.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Python implementation of the Model Context Protocol that allows applications to provide standardized context for LLMs, enabling creation of servers that expose data and functionality to LLM applications through resources, tools, and prompts.
      MIT
    • F
      license
      A
      quality
      Not graded
      maintenance
      A Model Context Protocol server that allows LLMs to interact with Python environments, enabling code execution, file operations, package management, and development workflows.
      9
      -