AgentStack
MCP verified MIT Self-run

Airflow Unfactor

mcp-gabcoyne-airflow-unfactor · by gabcoyne

MCP server for LLM-assisted conversion of Apache Airflow DAGs to Prefect flows

No reviews yet
0 installs
16 views
0.0% view→install

Install

$ agentstack add mcp-gabcoyne-airflow-unfactor

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-gabcoyne-airflow-unfactor)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Airflow Unfactor? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

airflow-unfactor

[](https://github.com/gabcoyne/airflow-unfactor/actions/workflows/test.yml) [](https://pypi.org/project/airflow-unfactor/) [](LICENSE)

An MCP server that converts Apache Airflow DAGs into Prefect flows. Point it at a DAG, and the LLM generates idiomatic Prefect code. Not a template with TODOs — working code. Built with FastMCP.

Install

[](https://cursor.com/install-mcp?name=airflow-unfactor&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJhaXJmbG93LXVuZmFjdG9yIl19) [](https://insiders.vscode.dev/redirect/mcp/install?name=airflow-unfactor&config=%7B%22name%22%3A%22airflow-unfactor%22%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22airflow-unfactor%22%5D%7D)

Claude Code — one line:

claude mcp add airflow-unfactor -- uvx airflow-unfactor

Claude Desktop and other clients — see [manual config](#manual-config) below.

Then ask your LLM: "Convert the DAG in dags/my_etl.py to a Prefect flow."

How It Works

The server exposes seven tools over MCP. The LLM reads raw DAG source code, looks up translation knowledge, and generates the Prefect flow.

| Tool | What It Does | |------|-------------| | read_dag | Returns raw DAG source code with metadata (path, size, line count) | | lookup_concept | Airflow→Prefect translation knowledge — operators, patterns, connections | | validate | Syntax-checks generated code and returns both sources for comparison | | search_prefect_docs | Searches live Prefect docs for anything not in the pre-compiled knowledge | | scaffold | Creates a Prefect project directory structure (not code) | | generate_deployment | Writes prefect.yaml deployment configuration from DAG metadata | | generate_migration_report | Writes MIGRATION.md with conversion decisions and a before-production checklist |

No AST parsing. No template engine. The LLM reads the code directly, just like a developer would.

Manual config

The buttons above and the claude mcp add command both register the server with uvx, which downloads it on first run — no separate pip install needed. To install the package directly anyway: pip install airflow-unfactor or uv pip install airflow-unfactor.

Claude Desktop — ~/Library/Application Support/Claude/claudedesktopconfig.json

{
  "mcpServers": {
    "airflow-unfactor": {
      "command": "uvx",
      "args": ["airflow-unfactor"]
    }
  }
}

Claude Code — .mcp.json in your project

{
  "mcpServers": {
    "airflow-unfactor": {
      "command": "uvx",
      "args": ["airflow-unfactor"]
    }
  }
}

Cursor — MCP settings

{
  "mcpServers": {
    "airflow-unfactor": {
      "command": "uvx",
      "args": ["airflow-unfactor"]
    }
  }
}

Example

Airflow DAG:

from airflow import DAG
from airflow.operators.python import PythonOperator

def extract():
    return {"users": [1, 2, 3]}

def transform(ti):
    data = ti.xcom_pull(task_ids="extract")
    return [u * 2 for u in data["users"]]

with DAG("my_etl", ...) as dag:
    t1 = PythonOperator(task_id="extract", python_callable=extract)
    t2 = PythonOperator(task_id="transform", python_callable=transform)
    t1 >> t2

Generated Prefect flow:

from prefect import flow, task

@task
def extract():
    return {"users": [1, 2, 3]}

@task
def transform(data):
    return [u * 2 for u in data["users"]]

@flow(name="my_etl")
def my_etl():
    data = extract()
    result = transform(data)
    return result

The >> dependency chain becomes explicit data passing through return values. XCom is gone. It's just Python.

Translation Knowledge

The server ships with 78 pre-compiled Airflow→Prefect translation entries covering operators, patterns, connections, and core concepts. These are compiled by Colin from live Airflow source and Prefect documentation.

When the pre-compiled knowledge doesn't cover something, search_prefect_docs queries the Prefect documentation MCP server at docs.prefect.io in real time.

Documentation

Full docs: gabcoyne.github.io/airflow-unfactor

Development

git clone https://github.com/gabcoyne/airflow-unfactor.git
cd airflow-unfactor
uv sync

# Run tests
uv run pytest

# Lint
uv run ruff check --fix

# Compile translation knowledge
cd colin && colin run

License

MIT — see [LICENSE](LICENSE).

Source & license

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

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

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.