oflow-mcp

oflow-mcp

An agent-native workflow MCP server that enables AI agents to execute text-defined, versionable workflows with checkpointing and state management.

Category
Visit Server

README

oflow-mcp

Agent-native workflow kernel. 工作流不必只能是 Dify、n8n 或扣子。

oflow-mcp is a workflow-only MCP server. It treats workflow as an open execution protocol for AI Agents: text-defined, versionable, checkpointed, recoverable, and callable through MCP tools.

Product positioning

Traditional workflow platforms often center on visual canvases, proprietary node graphs, and hosted platform state. oflow-mcp starts from a different premise:

  • Agent native: prompts, outputs, checkpoints, and step state are first-class workflow concepts.
  • Text is the source of truth: workflows are flow.yaml + prompts/*.md, so they can be reviewed, diffed, versioned, and reused.
  • Verifiable execution: each step can require outputs, natural confirmations, deterministic checks, and persisted state.
  • Local-first kernel: the first version runs on MCP + filesystem; UI, connectors, triggers, remote execution, and enterprise governance can layer on top later.
  • Replacement path, not a plugin: the long-term goal is to replace the core capabilities of general workflow tools such as Dify, n8n, and Coze/扣子, starting with the execution kernel.

Non-goals for the first release

This first release intentionally excludes:

  • TAPD, Confluence, GitLab, CI, or IM integrations
  • memory, inbox, init, or instructions tools from flow-mcp
  • visual canvas UI
  • database storage
  • multi-tenant permissions

Install

npm install
npm run build

Start

npm start

MCP configuration example:

{
  "mcpServers": {
    "oflow-mcp": {
      "command": "node",
      "args": ["/path/to/oflow-mcp/dist/index.js"],
      "env": {
        "OFLOW_MCP_FLOWS_DIR": "/path/to/oflow-mcp/flows",
        "OFLOW_MCP_DATA_DIR": "/tmp/oflow-mcp-instances"
      }
    }
  }
}

Environment variables

Variable Default Description
OFLOW_MCP_HOME ~/.oflow-mcp Base data directory
OFLOW_MCP_FLOWS_DIR $OFLOW_MCP_HOME/flows Workflow template directory
OFLOW_MCP_DATA_DIR $OFLOW_MCP_HOME/instances Workflow instance directory

Tools

oflow-mcp exposes only workflow tools:

Tool Description
workflow_list_templates List available templates
workflow_get_template Get template details
workflow_start Start a workflow instance
workflow_current Get current step and rendered prompt
workflow_advance Complete current step and advance
workflow_status Show full instance status
workflow_list_instances List instances
workflow_bind Bind alias to an instance
workflow_override_prompt Override one step prompt for one instance
workflow_create_template Create a template from YAML-like data and prompts

No flow_memory_*, flow_inbox_*, flow_init, TAPD, or Confluence tools are exposed.

Template structure

flows/
  basic-dev/
    flow.yaml
    prompts/
      analyze.md
      design.md
      verify.md

Minimal flow.yaml:

name: basic-dev
description: Minimal Agent-native development workflow
params:
  change_name:
    type: string
    required: true
steps:
  - id: analyze
    name: Analyze
    checkpoint:
      required_outputs:
        analysis_summary:
          type: string
          min_length: 20
      conditions:
        - natural: analysis_summary has been produced
          check: outputs.analysis_summary != null AND len(outputs.analysis_summary) > 20
    next: design
  - id: design
    name: Design
    next: null

Prompt variables:

  • {{change_name}} reads workflow params.
  • {{steps.analyze.outputs.analysis_summary}} reads prior step outputs.
  • Unresolved variables are left unchanged for debugging.

DSL support matrix

Feature Status
params object and string-array compatibility Supported
steps with id, name, checkpoint, next Supported
next as string/null/object branch map Supported
prompts/<step_id>.md Supported
required_outputs array or object Supported
natural conditions Supported
deterministic check expressions Supported subset
token_budget.total and token_consumed Supported
loops Not supported in first release
optimization hints Not supported
worklog hooks Not supported
inbox/memory/external bindings Not supported

Supported check expressions:

  • outputs.foo != null
  • outputs.foo == null
  • outputs.foo == 'value'
  • len(outputs.foo) > N
  • AND, OR, parentheses

Unsupported expressions fail closed and do not mutate workflow state.

Example lifecycle

  1. workflow_list_templates
  2. workflow_start:
{
  "template": "basic-dev",
  "params": { "change_name": "demo" },
  "alias": "demo-run"
}
  1. workflow_current with demo-run
  2. workflow_advance with required outputs and confirmed conditions
  3. workflow_status
  4. Continue workflow_advance until completed

Development

npm install
npm run build
npm test

Common errors

  • Template not found: set OFLOW_MCP_FLOWS_DIR or copy templates to ~/.oflow-mcp/flows.
  • Prompt not found: every step requires prompts/<step_id>.md.
  • Checkpoint validation failed: provide required outputs and confirmed conditions.
  • No branch matched: pass a condition_result matching the branch keys in next.
  • Alias already bound: choose another alias or use the existing instance ID.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured