# FLUJO

> Multi-Agent + Automation: Workflows, Automation, Self-Improving Agents

- **Type:** MCP server
- **Install:** `agentstack add mcp-mario-andreschak-flujo`
- **Verified:** Pending review
- **Seller:** [mario-andreschak](https://agentstack.voostack.com/s/mario-andreschak)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [mario-andreschak](https://github.com/mario-andreschak)
- **Source:** https://github.com/mario-andreschak/FLUJO
- **Website:** https://flujo.com.co

## Install

```sh
agentstack add mcp-mario-andreschak-flujo
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# FLUJO

### Build private AI agents visually. Run them your way.

**Connect your AIs and apps, build an agent, then talk to it, automate it, or call it from other software.**

FLUJO is open-source and local-first. Start with the guided setup, build agents as simple step-by-step recipes or expert visual flows, inspect every run, and expose the same agents through OpenAI-compatible and MCP endpoints — while your keys and data stay under your control.

**Simple + visual builders** · **MCP-native** · **Multi-model** · **Built-in debugger** · **Automation**

[**Visit flujo.com.co →**](https://flujo.com.co/) · [**Watch the 2:28 product film →**](https://flujo.com.co/short/) · [**Install FLUJO ↓**](#-quick-install-recommended) · [**Explore features ↓**](#-key-features) · [**Try FLUJO online →**](https://try.flujo.com.co/)

[](LICENSE)
[](package.json)

[](https://flujo.com.co/short/)
Click the preview to see FLUJO in motion.

## ⚡ Quick Install (recommended)

The installer sets up everything FLUJO needs (Git, Node.js, Python, uv, ripgrep), clones FLUJO, builds it, and creates a global `flujo` command. This is the recommended way to run FLUJO — MCP servers get all their runtimes too.

**Windows installer (recommended)** — click below to download the latest `flujo-setup.exe`:

[](https://github.com/mario-andreschak/FLUJO/releases/latest/download/flujo-setup.exe)

**Windows PowerShell** — alternatively, press Start, type powershell, press Enter, copy & paste the command below and press Enter again:

```powershell
irm https://raw.githubusercontent.com/mario-andreschak/FLUJO/main/scripts/install.ps1 | iex
```

**Linux / macOS** — paste into a terminal:

```bash
curl -fsSL https://raw.githubusercontent.com/mario-andreschak/FLUJO/main/scripts/install.sh | bash
```

**Already have Node.js?** You can also skip installation entirely and run a prebuilt FLUJO straight from npm — fastest start, but MCP servers may still need `git` / `python` / `uv` on your PATH (see [Run via npx](#run-via-npx-npm-package)):

```bash
npx flujo-ai
```

Prefer to set it up manually? See [Getting Started](#-getting-started). To remove FLUJO later, see [Uninstalling](#uninstalling-windows).

> [!TIP]
> Stuck on MCP installation, the app, or anything else? [Open a GitHub issue](https://github.com/mario-andreschak/FLUJO/issues) or [join the Discord](https://discord.gg/KPyrjTSSat). I read every message and will do my best to get back to you within a day.

The FLUJO home screen: connect once, then use your private AI workspace.

FLUJO is powered by the [PocketFlow Framework](https://the-pocket-world.github.io/Pocket-Flow-Framework/) and built with Cline, Claude Code, and a lot of love.

## 🌟 Key Features

### 🔐 Local-first Security & Workspace Controls

- **Local-first by default**: keep FLUJO on localhost, allow devices on your private network, or configure it for a public deployment
- **Encrypted at rest**: API keys and other secrets are encrypted in local storage, with an optional custom encryption password for extra protection
- **Never sent to the browser**: secrets stay server-side — the frontend only ever sees a masked placeholder, even in your own DevTools
- **Reusable global variables**: define a key once and bind it into any AI or connected-app configuration instead of pasting it repeatedly
- **Backup & restore** your encrypted workspace from Settings

### 🤖 AI Setup

- **Multiple providers**: OpenAI, Azure OpenAI, Anthropic (native or OpenAI-compatible), Google Gemini, X.ai (Grok), OpenRouter, Codex, and local models via Ollama
- **Guided or expert setup**: choose a gentle walkthrough, a faster guided path, or the complete configuration form
- **Claude Subscription**: use your Claude Pro/Max plan directly (via the Claude Agent SDK) instead of a metered API key
- **Reusable connections**: organize configured AIs into folders, mark favorites, and reuse them across agents and conversations

### 🔌 Connected Apps (MCP)

- **Guided connection**: let FLUJO research an app, choose from curated options, or enter a remote URL, GitHub repository, or local command yourself
- **Install from anywhere**: search the official [MCP Registry](https://registry.modelcontextprotocol.io), use curated servers verified with FLUJO, or install manually from a GitHub repo / local folder
- **Full MCP capability support**: tools, resources, prompts, roots (workspace folders), and sampling (let a server borrow one of your models under a trust policy you control)
- **Tool inspection & testing**: browse and call a server's tools, resources, and prompts straight from its detail view
- **FLUJO as an MCP proxy**: re-expose any server you've configured in FLUJO to other MCP clients (Claude Desktop, Cursor, Cline, …) over Streamable HTTP — configure a server once, use it everywhere

Configuring a server is a guided, three-step form (define it → install & build → define how to run it) with a one-click connection test before you save:

Every connected server gets a detail view to browse and test its tools, resources, and prompts directly:

### 🧩 Agent Builder

- **Simple mode**: build an agent like a recipe, one plain-language step at a time, without touching a diagram
- **Expert visual mode**: connect Start, AI, connected-app, subflow, and Finish nodes in a drag-and-drop graph
- **Branching & handoff**: let a model hand off to another node/agent based on the conversation, build loops, or fan out into multiple specialists
- **Subflows**: call another flow as a single step, with its own isolated state — reuse a flow like a function
- **Per-node tool & prompt scoping**: decide exactly which tools, resources, and system-prompt fragments each node can see

#### Branching & handoff

Connect one node to several successors, then tell the model when to use each handoff tool from the "Agent Tools" tab of its Process Node:

#### Loops

Connect a node back to a previous one the same way to build a loop:

#### Orchestration & Subflows

Combine multiple handoffs and loops to build an orchestrator, or drop in a **Subflow** node to run another flow as a single, reusable step with its own isolated state:

### 💬 Talk

- **One place to talk to every agent**: select an agent and start a conversation from the Talk page
- **Live execution view**: watch a run progress step-by-step in real time, with token usage and a context-window meter per conversation
- **Visual debugger**: set breakpoints, step through a run node-by-node, and inspect state before/after each step
- **Human-in-the-loop tool approval**: optionally require approval before any tool call executes, for any provider (including Claude Subscription's agentic tool use)
- **File & audio attachments**, message editing, and conversation branching

Step through a run node-by-node with the visual debugger, inspecting prep/exec state at every stop:

### ⏱️ Automations — Triggers

Run your flows automatically — on a schedule or when something happens — without opening the chat. FLUJO just needs to be running for triggers to fire.

- **Schedule**: cron-style recurring runs (with second-level precision and catch-up for missed runs)
- **Webhook**: trigger a flow via an authenticated HTTP call
- **File watch**: fire when files change under a folder
- **MCP tool polling**: periodically call a tool and fire on change, on new items, or let a model/checker-flow decide
- **URL watch**: fire when a fetched page's content changes

Run history is kept per trigger, with the full output of every run one click away:

As an example, a "watch a tool" trigger polling a WhatsApp MCP server can turn FLUJO into an autonomous auto-responder:

### Meetings
- Put multiple Agents into a shared conversation, so they can work on a task together

### 🔄 External Tool Integration

- **OpenAI-compatible endpoint**: point Cline, Roo Code, Cursor, or any OpenAI-SDK client at `http://localhost:4200/v1`, use any API key value, and pick a model named `flow-`
- **FLUJO as an MCP server (proxy)**: point an external MCP client at `http://localhost:4200/mcp-proxy/` to reuse a server you configured once in FLUJO (localhost-only in the current version)

> **Note:** FLUJO does not expose an Ollama-compatible *server* endpoint — use the OpenAI-compatible provider above to consume flows from other apps. (Connecting FLUJO *to* a local Ollama instance as a model provider is a separate, supported feature.)

### 📖 Built-in API Documentation

A searchable `/docs` page inside the app documents every REST endpoint FLUJO exposes (chat, conversations, models, flows, MCP, planned executions, env/encryption, backups) — useful when integrating FLUJO into your own tooling.

## 🚀 Getting Started

### Manual installation:
### Prerequisites

- Node.js (v18 or higher)
- claude code (optional, if you want to use Anthropic Subscription) 
- python (optional, if you want to use python-based MCP servers)
- pip (optional, if you want to use python-based MCP servers that build with pip)
- uv and/or yarn (optional, if you prefer these over npm or pip)
- ripgrep (optional filesystem-search acceleration; the installer adds it automatically)

### Installation

1. Clone the repository:
   ```bash
   git clone https://github.com/mario-andreschak/FLUJO.git
   cd FLUJO
   ```

2. Install dependencies:
   ```bash
   npm install
   # or
   yarn install
   ```

3. Start the development server:
   ```bash
   npm run dev
   # or
   yarn dev
   ```

4. Open your browser and navigate to:
   ```
   http://localhost:4200
   ```
   
5. FLUJO feels and works best if you run it compiled:
   ```bash
   npm run build
   npm start
   ```

### Run with Docker

On any machine with Docker, start FLUJO with one command:

```bash
docker compose up --build
```

Then open http://localhost:4200.

> Use `--build` (not a bare `docker compose up`). The default compose file
> **builds the image locally** from this repo. A plain `docker compose up`
> only builds when no image exists yet — after you update the code it silently
> reuses the previously built image and runs the *old* version. `--build`
> rebuilds when the source changed and is a fast no-op when it hasn't.

- **Your data persists** in `flujo-workspaces` (the workspace namespace and all
  non-default workspace data), plus the existing `flujo-db` and
  `flujo-mcp-servers` volumes mounted inside `default-workspace`. Reusing those
  two established volume names makes an upgrade retain existing flows, models,
  encrypted keys, chats, MCP configs, and installed server clones while every
  newly created workspace also survives `docker compose down` / `up`.
- **Updating**: use `git pull && docker compose up --build` instead of the
  in-app updater. FLUJO detects it is running in a container and shows this in
  the update settings. (`docker compose pull` only helps if you switched the
  service to a published `image:` — the default builds locally.)
- **Private/corporate CA** for HTTPS MCP servers: mount your CA file and set
  `FLUJO_EXTRA_CA_CERTS` to its path (see the commented `environment:` block in
  `docker-compose.yml`).
- **Claude Subscription** in-container: generate a token on your host with
  `claude setup-token` and pass it as `CLAUDE_CODE_OAUTH_TOKEN`.
- **fileWatch triggers**: bind-mount the host folder you want to watch into the
  container (see the commented volume example in `docker-compose.yml`).
- **MCP Apps**: Compose also publishes the shared sandbox listener on port
  `4201`, loopback-only. Each App is loaded through its own
  `http://.localhost:4201` browser origin. Keep both port mappings
  when using interactive MCP Apps.

> ⚠️ **Security:** FLUJO has no authentication layer and its git API runs
> commands on the server, so the port is bound to **localhost only** by default.
> Do **not** expose it on `0.0.0.0` / publish it publicly unless it sits behind
> your own authenticating reverse proxy on a trusted network.

### Network exposure

Use **Settings → Network access** to choose one deployment posture:

- **Localhost** (default) — only this computer; both listeners bind loopback.
- **Local Network** — listen on all interfaces and accept private LAN addresses
  and this machine's hostnames.
- **Public** — accept any hostname. FLUJO has no built-in authentication, so use
  this only behind an authenticating HTTPS reverse proxy.

The one setting controls the UI, API, OpenAI/MCP endpoints, Host/Origin guard,
and MCP Apps sandbox binding together. Restart FLUJO after changing it.

MCP Apps require no additional configuration on localhost or a plain-HTTP Local
Network install. FLUJO discovers the browser-visible host automatically and uses
port `4201` for the sandbox. Hosted HTTPS deployments can optionally configure
`FLUJO_MCP_APP_SANDBOX_PUBLIC_URL` with `{app}` as one complete hostname label,
for example `https://{app}.sandbox.example.com/sandbox.html`, and proxy those
wildcard hostnames to FLUJO's plain HTTP port `4201`. Without wildcard
DNS/TLS, set the same variable to a single shared sandbox origin instead
(for example `https://sandbox.example.com`); the App key then travels in the
authenticated sandbox URL. Preserve the browser's
`Host` and `Referer` headers through the proxy. Docker Compose publishes both
listener ports to host loopback by default; change those mappings when other LAN
devices or a reverse proxy need to reach them.

See [MCP Apps host support](docs/features/mcp/apps.md) for protocol behavior,
security guarantees, display modes, compatibility limits, and the versioned
compliance matrix.

### Run via npx (npm package)

```bash
npx flujo-ai
```

This runs a prebuilt FLUJO with no git clone or local build. Your data lives in
`~/.flujo` by default (override with `FLUJO_DATA_DIR`); the port defaults to 4200
(`--port` / `FLUJO_PORT`), and the browser opens automatically unless you pass
`--no-open`. MCP servers may still need `git`, `python`/`uv`, or Node on your
`PATH`. To update, just rerun with `npx flujo-ai@latest`. (The npm package is
`flujo-ai` — the name `flujo` is blocked by npm's similarity rules — but the
installed command is still `flujo`.)

### One-line install (Windows)

On a fresh Windows machine you can install everything (Git, Node.js, Python, uv, ripgrep),
clone FLUJO, build it, and optionally start it with a single PowerShell command:

```powershell
irm https://raw.githubusercontent.com/mario-andreschak/FLUJO/main/scripts/install.ps1 | iex
```

By default FLUJO is installed into `%LOCALAPPDATA%\FLUJO`. To customise the install
without the interactive prompt, set environment variables first, e.g.:

```powershell
$env:FLUJO_DIR = "D:\Apps\FLUJO"; $env:FLUJO_START = "1"; irm https://raw.githubusercontent.com/mario-andreschak/FLUJO/main/scripts/install.ps1 | iex
```

See [`scripts/install.ps1`](scripts/install.ps1) for all options.

Prefer a graphical installer? Download `flujo-setup.exe` from the
[latest release](https://github.com/mario-andreschak/FLUJO/releases/latest) — it's a
wizard around the same `install.ps1` script above (see
[`installer/flujo-setup.iss`](installer/flujo-setup.iss)).

The Windows installer is a networked bootstrapper, not an offline file-copy
package. It requires Windows App Installer (`winget`) and access to GitHub, the
winget catalog, npm, and Python package sources. Missing Git, Node.js, Python,
uv, and ripgrep are installed through winget; Ollama is optional. The installer also
installs the Claude Code CLI used by the optional Claude Subscription provider.
Running the installer again against an existing FLUJO Git checkout updates and
rebuilds that checkout. For safety, an existing target that is not a Git checkout
is rejected before registration or cloning.

### One-line install (Linux / macOS)

The same for Linux and macOS — installs the prerequisites (Git, Node.js, Python,
uv, ripgrep) via your package manager (or Homebrew on macOS), clones FLUJO, builds it, and
registers the `flujo` command:

```bash
curl -fsSL https://raw.githubusercontent.com/mario-andreschak/FLUJO/main/scripts/install.sh |

…

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [mario-andreschak](https://github.com/mario-andreschak)
- **Source:** [mario-andreschak/FLUJO](https://github.com/mario-andreschak/FLUJO)
- **License:** MIT
- **Homepage:** https://flujo.com.co

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: flagged — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-mario-andreschak-flujo
- Seller: https://agentstack.voostack.com/s/mario-andreschak
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
