Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

Langflow

Visual builder for AI agents and RAG flows, served as a REST API or per-project MCP server

Visit website Save

Langflow is an MIT-licensed platform for composing AI agents and retrieval workflows from Python components on a visual canvas. Flows run in the Playground, through a REST API or as MCP tools, from Desktop, Docker or a pip install.

Pricing
Open source
Deployment
Self-hosted
Platforms
Web, Windows, macOS, Linux
156,397stars10,349forks
1views
Updated

What is Langflow?

Langflow is an open-source platform for building AI agents and retrieval workflows on a visual canvas, then serving them through a REST API or as MCP tools. A flow is a graph of components: chat inputs and outputs, language models, prompt templates, file loaders, vector stores, agents and tools. Every component is a Python class whose code can be opened and changed, and the Playground runs a whole flow or a single component while it is being built. Flows are not tied to one model provider or vector database.

The project is developed in the langflow-ai GitHub organization; the repository was created in February 2023. Langflow came to IBM through its acquisition of DataStax, and IBM's acquisition announcement commits to continued support of the open-source Langflow community. The security policy routes vulnerability reports to IBM's HackerOne program. The code is MIT licensed.

There are three main ways to run it. The langflow Python package installs with uv on Python 3.10 to 3.14 and includes curated provider extensions, while langflow-base installs the UI and API without them. The langflowai/langflow Docker image serves the same application on port 7860. Langflow Desktop bundles its dependencies for Windows and for macOS 13 or later, without the Shareable Playground and Voice Mode. To execute exported flow files without the full server, the lighter LFX executor provides lfx run and lfx serve.

The latest release is Langflow 1.13.1, published November 4, 2026. It is a security and dependency release: file loaders are confined to their repository or directory, MCP HTTP calls follow a destination policy, credentials are redacted from logged query strings and untrusted imports in generated code require isolation. Version 1.13.0 (October 22, 2026) added schedule, webhook, Slack, Google and Microsoft triggers, persistent OAuth connections, an append-only audit log, concurrent-editing protection, a guided migration page and a langflow admin CLI. It also disabled automatic login in official packages and images and moved local knowledge and memory storage from Chroma to SQLite. Patch releases continue on the 1.12 line, most recently 1.12.10 on November 5, 2026.

The backend is Python, built on FastAPI and Uvicorn with LangChain 1.3 among its dependencies; the editor is a React and TypeScript application on React Flow. SQLite is the default database and PostgreSQL is recommended for production. Langflow does not host models itself: it calls the provider APIs or local runtimes you configure. The website mentions a free cloud account but publishes no plans or prices, and professional services and premier support are offered through the contact page.

Inside the application

Langflow screenshots

Explore the interface. Open a screenshot to view it at full size.

Langflow editor with the Simple Agent starter flow: URL and Calculator tools wired into an Agent component between Chat Input and Chat Output
Langflow screenshot 1

Simple Agent starter project in the visual editor, with two components in Tool Mode feeding the Agent, from the Langflow quickstart docs.

Langflow Basic Prompting flow connecting Chat Input and a Prompt Template to a Language Model and Chat Output
Basic Prompting flow

Basic Prompting starter flow with the component sidebar categories on the left, from the official documentation.

Langflow project MCP Server tab listing two flows as tools and a JSON client configuration that runs uvx mcp-proxy
Project as MCP server

Project MCP Server tab with exposed tools and client JSON, from the MCP server docs. This older capture shows an SSE URL; current releases default to streamable HTTP.

Langflow API access dialog with a Python requests snippet calling the run endpoint, plus JavaScript and cURL tabs
API access snippets

API access pane generating code to call a flow through /api/v1/run, from the official documentation.

Diagram of an application calling a Kubernetes cluster with ingress, load balancer, several Langflow replica pods and a storage pod
Kubernetes reference architecture

Langflow reference architecture for Kubernetes deployments, from the production best-practices docs.

Source: official Langflow project page.

Key capabilities

  • Python package for Windows, macOS and Linux Install with uv pip install langflow -U on Python 3.10 to 3.14, then start it with uv run langflow run; the editor opens at http://127.0.0.1:7860 and the first start can take a few minutes. The documented minimum is a dual-core CPU and 2 GB of RAM, with a multi-core CPU and at least 4 GB recommended. langflow-base is the smaller distribution without bundled provider extensions. See the installation guide.
  • Docker image langflowai/langflow:latest maps port 7860 and requires LANGFLOW_SUPERUSER_PASSWORD, because official images disable automatic login. Sign in as langflow or the name set in LANGFLOW_SUPERUSER. Existing auto-login installations need the documented upgrade steps before switching. The Docker guide covers volumes and configuration.
  • Langflow Desktop for Windows and macOS Desktop bundles Python and dependencies, so no environment has to be managed by hand. The 1.13.0 release assets include a Windows x64 MSI and macOS DMGs for Apple Silicon and universal builds; macOS 13 or later is required, and the website asks for a name, email and country before download. On Windows a missing C++ Build Tools error requires Microsoft C++ Build Tools or Visual Studio. The Shareable Playground and Voice Mode are not available in Desktop.
  • Visual flow editor Components are grouped into Input and Output, Data Sources, Models and Agents, LLM Operations, Files, Processing, Flow Control and Utilities, with more available as bundles. Starter projects such as Basic Prompting and Simple Agent show working graphs. Version 1.13.0 added protection for flows opened by several users at once and a Korean interface locale.
  • Editable Python components Each component exposes its Python source, and new ones are written as custom component classes. This is how teams wrap internal APIs or business logic as nodes. Code-execution components run Python inside the server process unless the opt-in exec-sandbox microVM backend added in 1.12 is configured, so treat flow editing rights as code execution rights. See custom components.
  • Playground and run logs The Playground sends chat input to a flow, shows each tool call with its JSON input, output and duration, and can run individual components in isolation. Chat history is grouped by session_id. Logs and message history help trace which component produced an answer.
  • Agent component and tool mode The Agent component takes a language model, instructions, input and a Tools port. Any component switched to Tool Mode exposes a Toolset port, and agents can be attached as tools to other agents for multi-agent setups. Chat memory is on by default, and the Message History component connects external memory such as Mem0. Using both the Response and Structured Response outputs triggers two separate model calls.
  • Model providers and governance API keys are added once under Settings, Model Providers, and enabled models then appear in agent and model components; any language model component can also be wired in directly. Release 1.12 added a provider policy store and a deployment-wide deny list for blocked models. Local runtimes such as Ollama are available as components.
  • Knowledge bases and vector stores Since 1.13 local Knowledge and Memory use SQLite instead of a local Chroma database, and the Chroma DB and Local DB components are legacy. Remote vector stores are supported through components, and the production profile expects pgVector. Version 1.13 can write precomputed vectors to a knowledge base without re-embedding and move vectors between backends with relocate-kb.
  • REST API Flows run through POST /api/v1/run/{flow_id_or_name} with an x-api-key header, with streaming controlled by a query parameter. Webhook, file, build and monitor endpoints exist, and POST /api/v1/responses accepts an OpenAI-compatible request format. Each instance publishes its OpenAPI specification at /docs. The API reference lists the v1 and v2 endpoints.
  • Projects served as MCP servers Each project has its own MCP server at /api/v1/mcp/project/PROJECT_ID/streamable, with SSE as a fallback that can be turned off. Authentication per project is an API key, OAuth 2.0 through an MCP Composer proxy, or none. A flow needs a Chat Output component to become a tool, and tools should be given clear names and descriptions. Defaults are a 180 second tool timeout, a 60 second server timeout and 10 sessions per server. See Langflow as an MCP server.
  • MCP client The MCP Tools component lets an agent call tools from external MCP servers over stdio or HTTP. Superusers can set LANGFLOW_MCP_SERVERS_LOCKED=true to stop other users from changing server connections. Release 1.13 lets a deployment declare and provision the MCP servers a flow needs.
  • Triggers and background jobs Version 1.13.0 introduced triggers that start flows from a schedule, an inbound webhook, Slack messages and reactions, or Google and Microsoft source events. A separate listeners process holds connections, while a leased dispatcher handles retries and dead-lettering. Retention for finished jobs is opt-in. These features are new in this release line, so pilot them before relying on them.
  • Persistent connections Google Workspace, Microsoft 365 and Slack accounts can be stored as persistent connections with delegated OAuth, then selected in components through a connection picker. Connections are resolved per executing user. Treat them as stored credentials and review which users and flows can use each one.
  • Users, roles and audit Official builds start with authentication enabled. Superusers manage users, teams and roles through the administration API or the langflow admin CLI, building on role-based access control added in 1.12. Setting LANGFLOW_AUDIT_ENABLED=true records an append-only history of flow and project operations, queried at /api/v1/flows/audits and /api/v1/projects/audits. Version 1.13 also added GDPR data subject erase requests.
  • Instance migration and database tools A guided Settings, Migration page moves users, projects, flows, settings, files and local knowledge bases to a new instance with backup, pause and secret-key verification steps. CLI commands convert a SQLite database to PostgreSQL, run migration-preflight and check-integrity, and copy uploaded files to S3, each with JSON output.
  • Observability Tracing integrations include LangSmith and Langfuse, and 1.12 added export of application telemetry to any OTLP backend with spans for flow runs, MCP tool calls and database access. Prometheus metrics are enabled with LANGFLOW_PROMETHEUS_ENABLED=True on port 9090 by default.
  • LFX executor LFX runs exported flow JSON files statelessly, without the database or UI. lfx run executes a flow once and lfx serve exposes flows as HTTP endpoints at /flows/{flow_id}/run. Anything stateful, such as stored messages, does not persist between runs.
Advertisements

Where Langflow fits

Prototyping a document question-answering flow

Start from a retrieval starter project, load a few representative files, split them, embed them into a knowledge base and connect retrieval to a language model and Chat Output. Test answers in the Playground and inspect which chunks were retrieved before tuning prompts. Check that the embedding model used for ingestion is also used for queries, and remember that local knowledge now lives in SQLite: plan pgVector or a remote vector store before moving to shared deployments.

Building a tool-using agent

Add an Agent component, choose an enabled model and switch the components it should call, such as URL, Calculator or an internal API wrapper, into Tool Mode. Write precise tool descriptions, then watch each tool call, its arguments and timing in the Playground. Limit the toolset to what the task needs; the agents and tools guide covers agents used as tools for multi-agent designs.

Exposing flows to MCP clients

Open the MCP Server tab of a project, select the flows to expose with Edit Tools and rename each tool from its default flow ID to a descriptive name. Copy the JSON configuration, which runs uvx mcp-proxy against the project endpoint, or use auto install for a local Cursor, Claude or Windsurf client. Keep API key or OAuth authentication on, and confirm the tool list with MCP Inspector before handing it to an agent.

Embedding a flow in an application

Use the API access pane to copy a Python, JavaScript or cURL snippet for /api/v1/run, create a dedicated API key and pass a session_id when conversation history matters. Tweaks override component settings per request. For services that do not need the editor, consider a backend-only runtime deployment or LFX with exported flow JSON, and pin the Langflow version that produced the flow.

Running Langflow for a team

Follow the production best practices: separate IDE deployments (editor plus API) from runtime deployments (headless API, minimum 2Gi RAM and 1000m CPU per instance, three replicas). Use PostgreSQL through LANGFLOW_DATABASE_URL, shared storage or S3, a stable LANGFLOW_SECRET_KEY and Kubernetes secrets. Setting LANGFLOW_DEPLOYMENT_PROFILE=prod makes startup fail when those prerequisites are missing. Helm charts are maintained in a separate repository.

Starting flows from events

On 1.13, add a schedule or webhook trigger to a flow, or connect a Slack, Google or Microsoft account and choose a source event. Run the listeners process alongside the server, then check retries, dead-lettered events and job retention in a test workspace. Withdrawn background consent stops listeners as of 1.13.1, so verify that revoking a connection really stops the flow.

Install

uv pip install langflow -U

Reviews of Langflow

No reviews yet

Be the first to share your experience with Langflow.

Loading review form…

Alternatives to Langflow

Compare Langflow with these tools →