Skip to main content
Glama

PipelineFlow MCP (Lite Edition)

License: MIT Protocol: MCP Python: >=3.10

PipelineFlow MCP is a lightweight, declarative workflow DAG and data pipeline orchestrator designed for AI agents (Claude Desktop, Cursor, OpenAI Codex, LangGraph).

It enables agents to define multi-step data pipelines, validate dependency acyclicity via topological sorting (Kahn's algorithm), execute transformations predictably, and export visual Mermaid diagramsβ€”without heavy cloud orchestrators like Airflow or Prefect.


🎯 The Problem

When autonomous AI agents execute multi-step workflows:

  1. Unstructured Command Chains: Agents run disconnected shell commands or Python scripts with no dependency graph or cycle detection.

  2. Lack of Visual Representation: Neither humans nor agents can visualize the pipeline topology or inspect intermediate step outputs.

  3. Heavy Orchestrator Bloat: Enterprise orchestrators (Airflow, Dagster) require databases, workers, and gigabytes of dependencies, making them unsuitable for local agent runtimes.

PipelineFlow provides a pure-Python, zero-dependency DAG engine that runs directly inside the MCP protocol.


Related MCP server: AllBrain MCP

✨ Features (Lite Edition)

  • πŸ”„ Declarative Pipeline DAG: Add nodes (inputs, filters, transforms, aggregates, outputs) and connect directed edges.

  • πŸ›‘οΈ Cycle Detection & Topological Sort: Guarantees deterministic execution order and prevents circular deadlocks using Kahn's algorithm.

  • πŸ“Š Instant Mermaid Diagrams: Generates clean Mermaid graph diagrams of any pipeline with one tool call.

  • ⚑ Zero-Dependency Engine: Pure standard library execution with zero cloud setup.


πŸš€ Quickstart

1. Installation

git clone https://github.com/johannschiffer/pipelineflow-mcp.git
cd pipelineflow-mcp
pip install -e .

2. Configure in Claude Desktop or Cursor

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "pipelineflow": {
      "command": "pipelineflow",
      "args": ["run"]
    }
  }
}

3. Run Demo via CLI

pipelineflow demo

πŸ› οΈ MCP Tools Reference

Tool

Parameters

Description

create_pipeline

pipeline_id, name

Creates a new pipeline DAG

add_node

pipeline_id, node_id, node_type, params

Adds a node (input, filter, transform, aggregate, custom, output)

connect_nodes

pipeline_id, from_node, to_node

Connects source node to target node (validates acyclicity)

run_pipeline

pipeline_id, initial_data

Executes pipeline in topological dependency order

get_node_output

pipeline_id, node_id

Retrieves execution output for any node

export_pipeline_mermaid

pipeline_id

Returns Mermaid diagram string of the pipeline graph

list_pipelines

(none)

Lists all registered pipelines and node counts


πŸš€ Upgrade to PipelineFlow Pro

Need enterprise pipeline caching, parallel branch execution, and interactive HTML dashboards?

The PipelineFlow Pro Edition adds:

  • ⚑ Content-Addressable Cache (SQLite WAL): Caches node execution outputs by SHA-256 hash of inputs, skipping redundant executions.

  • πŸ”€ Concurrent Branch Runner: Runs independent DAG branches in parallel using a managed thread pool.

  • πŸ›‘οΈ Per-Node Retry & Circuit-Breaker Policies: Configurable exponential backoff and error recovery.

  • 🎨 Interactive HTML Visualizer: Generates standalone interactive SVG/HTML pipeline dashboards.

  • 🐳 Production Docker & Docker Compose manifests.

  • πŸ§ͺ 100% Passing Pytest Suite.

πŸ‘‰ Get PipelineFlow Pro on Gumroad ($14.99 USD)


πŸ“„ License

MIT Β© 2026 Johann Schiffer

Available Tools

7 tools
add_nodeC

Add processing step (input, filter, transform, aggregate, custom) to pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoNode parameters, mappings, or filters.
node_idYesUnique node identifier.
node_typeNoType of processing node.
pipeline_idYesTarget pipeline ID.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but delivers little: it does not state side effects, permissions, whether adding a node modifies the pipeline irreversibly, or idempotency. 'Add' implies a mutation, but no operational context is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; every word contributes to conveying the tool's action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and a nested 'params' object, the description is too thin. It does not cover side effects, prerequisites, or how nested parameters relate to node types, leaving the agent under-informed despite good schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all four parameters and the node_type enum. The description lists some types but adds no syntax, constraints, or required-parameter guidance beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'Add' and resource 'processing step ... to pipeline', making it distinguishable from siblings like create_pipeline or run_pipeline. However, it does not explicitly differentiate when to choose this over connect_nodes or create_pipeline, and its enumerated types omit 'output' which is present in the schema enum.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use guidance, prerequisites, or alternatives are provided. The description only implies usage from the action, leaving the agent to infer whether this is the right tool versus connect_nodes or create_pipeline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

connect_nodesC

Establish directed dependency edge from source node to target node.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_nodeYesTarget downstream node.
from_nodeYesSource upstream node.
pipeline_idYesTarget pipeline ID.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a mutation by saying 'establish,' but does not state permissions, reversibility, duplicate-edge handling, cycle constraints, or impact on pipeline execution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It communicates the core operation efficiently and is appropriately sized for a simple edge-creation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is incomplete. It states the basic operation but omits prerequisites, safety traits, and error conditions, leaving the agent without important behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description mentions source and target nodes but adds no format, constraint, or syntax details beyond what the schema provides, making the baseline score of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: establish a directed dependency edge from source node to target node. This clearly distinguishes the tool from sibling pipeline and node management tools, though it does not explicitly name or contrast any sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit when-to-use guidance, prerequisites, or alternatives. It implies the tool is for creating dependency edges, but does not say when to call it, whether nodes must already exist, or how it relates to sibling tools like add_node.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_pipelineC

Create a new workflow pipeline DAG with custom identifier and name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoHuman-readable pipeline name.
pipeline_idYesUnique pipeline ID.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and says nothing about behavior beyond the create verb: no permission requirements, no duplicate/uniqueness handling for pipeline_id, no idempotency, and no mention of what is returned or whether the created pipeline is empty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with no filler, and the verb and resource are front-loaded. Nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with no annotations and no output schema, the description omits key context: uniqueness/duplicate-ID behavior, whether a response object is returned, and how the new pipeline relates to the add_node/connect_nodes/run_pipeline siblings. Two-parameter simplicity makes this survivable but clearly incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters, making 3 the baseline. The phrase 'custom identifier' mildly adds that pipeline_id is caller-supplied rather than auto-generated, but no format or constraint details go beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource: 'Create a new workflow pipeline DAG' tells the agent exactly what is produced. It is implicitly distinguishable from siblings like add_node, run_pipeline, and list_pipelines by the create verb, but it never explicitly names or contrasts those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, no statement of prerequisites, and no reference to the sibling tools. An agent must infer that this is the entry point before add_node/connect_nodes/run_pipeline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_pipeline_mermaidB

Export pipeline DAG structure as standard Mermaid diagram string.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_idYesTarget pipeline ID.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the key behavioral trait: the return is a Mermaid diagram string rather than raw JSON. However, it omits whether the operation is read-only, error behavior when the pipeline_id is invalid, and any size/pagination constraints on the output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that conveys verb, resource, and output format with zero wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with no output schema, the description communicates the return type, which is its main obligation. It remains thin on error conditions and the read-only nature of the operation, so it is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% – the single pipeline_id parameter is documented in the schema as "Target pipeline ID." The description adds no further meaning (no ID format, no required existence), so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Export"), a concrete resource ("pipeline DAG structure"), and the output format ("standard Mermaid diagram string"). It is clearly distinguishable from the mutation/query siblings like create_pipeline and run_pipeline, though it never explicitly names or contrasts against them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no indication of when to use this tool versus alternatives, no prerequisites (e.g., pipeline must exist), and no note on how the returned diagram is intended to be consumed. The verb "Export" implies a visualization use case but nothing is stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_node_outputB

Fetch cached execution output for a specific node in the pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
node_idYesTarget node ID.
pipeline_idYesTarget pipeline ID.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It does disclose the important trait that output is cached (implying staleness and possible unavailability if the node has not run), but it omits error behavior, whether output is truncated, and permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the resource and scope are stated immediately and nothing can be trimmed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should ideally describe the returned output format and the failure case when no cached result exists. It covers purpose and the caching trait but leaves the return contract entirely unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both required parameters (pipeline_id, node_id), so the schema already carries their meaning. The description adds nothing beyond what the schema states, making the baseline 3 correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (fetch) and a specific resource (cached execution output for a node), which is unambiguous. It does not explicitly differentiate itself from siblings like run_pipeline, though the 'cached' qualifier implicitly separates it from execution triggers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this tool, no prerequisites (e.g. that the pipeline must have been run first to populate the cache), and no alternatives named among the six siblings. The 'cached' wording hints at a precondition but leaves it to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pipelinesA

List all active pipelines with their node and edge metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It does disclose one behavioral trait beyond the name: only *active* pipelines are returned, and node/edge metrics are included. However, it says nothing about ordering, pagination, permissions, or how inactive pipelines are treated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, front-loaded with the action and resource, with the scope qualifier and return content packed in efficiently. No filler whatsoever.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a trivial parameterless read tool with no annotations and no output schema, the description usefully names the returned fields (node and edge metrics), which compensates for the absent output schema. Minor gaps around ordering/pagination remain but are not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics for the description to add or omit; the schema is trivially complete. Baseline for a 0-parameter tool applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('List all active pipelines') plus the returned payload ('node and edge metrics'), which distinguishes it from the write/execute siblings like create_pipeline and run_pipeline. It never explicitly names a sibling or contrasts with them, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this versus alternatives (e.g., export_pipeline_mermaid for visualization or get_node_output for single-node inspection). The tool's read-only list nature implies its usage, but no condition, prerequisite, or exclusion is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_pipelineB

Execute pipeline DAG in topological dependency order and collect node outputs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_idYesTarget pipeline ID.
initial_dataNoInitial data payload injected into root nodes.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose real behavior: execution follows topological dependency order and node outputs are collected. It stops short of failure handling, blocking vs async behavior, and whether the pipeline definition is mutated, which matter for an executor tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with zero filler, and the core action ('Execute pipeline DAG') is front-loaded ahead of the qualifying details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an executor with no output schema, the description should say more about what is returned (per-node outputs? aggregate?) and what happens on node failure. It conveys the ordering guarantee but leaves the return contract and error semantics implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so pipeline_id and initial_data are already documented, including that initial_data is injected into root nodes. The description adds no parameter-level detail beyond what the schema states, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb ('Execute') and resource ('pipeline DAG') and adds execution semantics ('topological dependency order', 'collect node outputs') that no sibling provides. It clearly occupies the execution slot among create/connect/add/get/export/list siblings, though it does not name them to sharpen the contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to run this versus inspecting a pipeline first, no prerequisites, and no mention of alternatives such as list_pipelines or get_node_output. The agent must infer that this is the terminal, run-the-graph action.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 7 tool updatesv1.0.0
    • First observedadd_node
    • First observedconnect_nodes
    • First observedcreate_pipeline
    • First observedexport_pipeline_mermaid
    • First observedget_node_output
    • First observedlist_pipelines
    • First observedrun_pipeline

TDQS

A3.5/5.0

Scored across 7 tools

Disambiguation4/5

Each tool targets a distinct pipeline-building action: create_pipeline, add_node, connect_nodes, run_pipeline, get_node_output, export, and list are largely separable. The only mild overlap is between run_pipeline (executes and collects outputs) and get_node_output (fetches cached output), but the descriptions clarify execution vs. retrieval.

Naming Consistency5/5

All seven tools use a consistent snake_case verb_noun pattern (create_pipeline, add_node, connect_nodes, run_pipeline, get_node_output, list_pipelines). export_pipeline_mermaid is slightly longer but still follows the same verb_noun convention.

Tool Count5/5

Seven tools is well-scoped for a pipeline DAG builder/runner, covering construction, execution, inspection, and export without redundancy. Every tool earns its place.

Completeness3/5

The surface covers creation, node/edge building, execution, output retrieval, listing, and export, but has notable gaps: no delete_pipeline, no update/rename, and no remove_node or disconnect_nodes, so agents cannot clean up or modify an existing DAG. These missing lifecycle operations will force workarounds.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers