flytohub

Flyto Core

Community flytohub
Updated

The open-source execution engine for AI agents. 300+ atomic modules, MCP-native, secure by default.

Flyto Core

PyPI versionLicense: Source AvailablePython 3.9+

The open-source execution engine for AI agents. 300+ atomic modules, MCP-native, secure by default.

What is Flyto Core?

Flyto Core is an open-source workflow automation engine designed with three principles:

  • Atomic-first — 300+ fine-grained modules that compose like LEGO bricks
  • Local-first & Git-native — YAML workflows that version, diff, and test like code
  • Designed for AI automation — Rich module metadata lets AI understand and compose workflows

Quick Start

pip install flyto-core

Or from source:

git clone https://github.com/flytohub/flyto-core.git
cd flyto-core
pip install -r requirements.txt
python run.py workflows/_test/test_text_reverse.yaml

30-Second Example

workflow.yaml

name: Hello World
steps:
  - id: reverse
    module: string.reverse
    params:
      text: "Hello Flyto"

  - id: shout
    module: string.uppercase
    params:
      text: "${reverse.result}"

Run it:

python run.py workflow.yaml
# Output: "OTYLF OLLEH"

Or use Python directly:

import asyncio
from src.core.modules.registry import ModuleRegistry

async def main():
    result = await ModuleRegistry.execute(
        "string.reverse",
        params={"text": "Hello"},
        context={}
    )
    print(result)  # {"ok": True, "data": {"result": "olleH", ...}}

asyncio.run(main())

Use Cases

Local AI Agent Lab

Build AI agents that run entirely on your machine with Ollama integration.

steps:
  - id: ask_ai
    module: ai.ollama.chat
    params:
      model: llama3
      prompt: "Summarize this: ${input.text}"

Web Automation & Scraping

Automate browsers with the browser.* module family.

steps:
  - id: browser
    module: browser.launch
    params: { headless: true }

  - id: navigate
    module: browser.goto
    params: { url: "https://example.com" }

  - id: extract
    module: browser.extract
    params: { selector: "h1" }

API Orchestration

Chain API calls with built-in retry and error handling.

steps:
  - id: fetch
    module: http.request
    params:
      url: "https://api.example.com/data"
    retry:
      max_attempts: 3
      delay_ms: 1000

Internal Tooling

Companies can build custom crm.*, billing.*, internal.* modules versioned in Git.

Module Categories

Category Modules Examples
string.* 11 reverse, uppercase, split, replace, trim
array.* 15 filter, sort, map, reduce, unique, chunk
object.* 10 keys, values, merge, pick, omit
file.* 8 read, write, copy, move, delete, diff
browser.* 38 launch, goto, click, extract, scroll, screenshot
flow.* 21 switch, loop, foreach, branch, parallel
http.* 3 request, response_assert
ai.* 5 model, memory, memory_vector
document.* 8 pdf_parse, excel_read, word_parse
data.* 7 json_parse, csv_read, text_template

Total: 300+ atomic modules across 40+ categories, plus 28 third-party integrations.

Connect Any AI via MCP

Every module is automatically available as an MCP tool. Any MCP-compatible AI can discover, inspect, and execute all 300+ modules — zero glue code.

Claude ──┐
GPT    ──┤                    ┌─ browser.launch
Cursor ──┼── MCP Protocol ──→ ├─ string.reverse
Any AI ──┘                    ├─ file.read
                              └─ ... 300+ modules

Setup (30 seconds):

Add to your MCP client config (e.g. ~/.claude/mcp_servers.json):

{
  "flyto-core": {
    "command": "python",
    "args": ["-m", "core.mcp_server"],
    "cwd": "/path/to/flyto-core/src"
  }
}

Then your AI can:

  1. list_modules — discover all available capabilities
  2. get_module_info("browser.extract") — see params schema and examples
  3. execute_module("browser.extract", {"selector": "h1"}) — run it

Why this matters: n8n, Airflow, and Zapier can't be called by AI agents directly. Flyto Core can. Every @register_module is instantly an MCP tool — add a module, and every connected AI sees it immediately.

Why Flyto Core?

vs. n8n / Zapier

  • Finer granularity — Atomic modules vs. monolithic nodes
  • Git-native — Version control your workflows
  • No cloud dependency — Runs entirely local

vs. Python Scripts

  • Declarative YAML — Non-programmers can read and modify
  • Built-in resilience — Retry, timeout, error handling included
  • Module reuse — Don't rewrite the same HTTP/browser code

vs. Airflow / Prefect

  • Lightweight — No scheduler, database, or infrastructure needed
  • Developer-friendly — Just YAML + Python, no DAG ceremony
  • AI-ready — Module metadata designed for LLM consumption

For Module Authors

Modules use the @register_module decorator with rich metadata:

from core.modules.registry import register_module
from core.modules.schema import compose, presets

@register_module(
    module_id='string.reverse',
    version='1.0.0',
    category='string',
    label='Reverse String',
    description='Reverse the characters in a string',
    params_schema=compose(
        presets.INPUT_TEXT(required=True),
    ),
    output_schema={
        'result': {'type': 'string', 'description': 'Reversed string'}
    },
)
async def string_reverse(context):
    params = context['params']
    text = str(params['text'])
    return {
        'ok': True,
        'data': {'result': text[::-1], 'original': params['text']}
    }

See Module Specification for the complete guide.

Installation

Basic

pip install -r requirements.txt

With Browser Automation

pip install playwright
playwright install chromium

With AI Integrations

pip install -r requirements-integrations.txt

Project Structure

flyto-core/
├── src/core/
│   ├── modules/
│   │   ├── atomic/        # 300+ atomic modules
│   │   ├── composite/     # High-level composite modules
│   │   ├── patterns/      # Advanced resilience patterns
│   │   └── third_party/   # External integrations
│   └── engine/            # Workflow execution engine
├── workflows/             # Example workflows
├── docs/                  # Documentation
└── i18n/                  # Internationalization (en, zh, ja)

Documentation

  • Module Specification — Complete module API reference
  • Writing Modules — Guide to creating custom modules
  • CLI Reference — Command-line options
  • DSL Reference — YAML workflow syntax

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

# Fork and clone
git clone https://github.com/YOUR_USERNAME/flyto-core.git

# Create feature branch
git checkout -b feature/my-module

# Make changes, then submit PR

Security

Report security vulnerabilities via [email protected].See SECURITY.md for our security policy.

License

Source Available License — Free for non-commercial use.

Use Case License Required
Personal projects Free
Education & research Free
Internal business tools Free
Commercial products/services Commercial License

See LICENSE for complete terms.

For commercial licensing inquiries: [email protected]

Source-available core engine of the Flyto automation platform. Built for developers. Designed for AI.

Copyright (c) 2025 Flyto. All Rights Reserved.

MCP Server · Populars

MCP Server · New

    omega-memory

    OMEGA

    Persistent memory for AI coding agents

    Community omega-memory
    btouchard

    Herald

    The self-hosted MCP bridge between Claude Chat and Claude Code.

    Community btouchard
    snyk

    mcp-scan

    Security scanner for AI agents, MCP servers and agent skills.

    Community snyk
    resend

    Email sending MCP 💌

    The official MCP server to send emails and interact with Resend

    Community resend
    flytohub

    Flyto Core

    The open-source execution engine for AI agents. 300+ atomic modules, MCP-native, secure by default.

    Community flytohub