Skip to main content
Glama

MFlowy Рабочий процесс анализа и моделирования данных

License: MIT Python 3.12 CI MCP

MFlowy — это MCP-native модульный движок ML-рабочих процессов: послойное выполнение на основе DAG, управление через конфигурацию, поддержка отслеживаемых и воспроизводимых рабочих процессов — от обработки данных и обучения моделей до визуального анализа.

Ключевые возможности

  • MCP-native: все возможности предоставляются как MCP-инструменты (pyfunc); один и тот же набор инструментов доступен через три точки входа — MCP server (stdio), JSON runner CLI (cmd), прямой import (встраивание в хост-приложение)

  • Оркестрация DAG-рабочих процессов: поддержка сложных топологий направленных ациклических графов (DAG), гибкое определение зависимостей задач

  • Управление через конфигурацию: рабочие процессы определяются через YAML-конфигурацию, без написания кода

  • Регистрация через декораторы: чистые функции + декоратор @handler для автоматической регистрации; для добавления новой функции достаточно создать файл .py

  • Система промежуточного ПО: цепочка ответственности для обработки сквозных задач (инъекция данных, запись в mlflow, остановка при ошибке, различные журналы)

  • Происхождение данных: тег MLflow (mflowy.input_steps) автоматически записывает зависимости входных данных между шагами

  • Наблюдаемое выполнение: полная трассировка MLflow (параметры/метрики/модели/артефакты) + структурированный WorkflowResult (поузловой run_id/статус/вывод); журналы процесса привязаны к stderr, в терминальном режиме окрашены по уровням

  • Расширяемые стратегии выполнения: контракт JobProvider абстрагирует среду выполнения compute-инструментов, встроенная локальная реализация, удалённое выполнение подключается через пользовательские реализации (см. docs/REMOTE_MODELING.md)

Related MCP server: Procesio MCP Server

Архитектура и способы вызова

MFlowy построен на основе MCP: src/mflowy/mcp/tools.py определяет все compute-инструменты (eda / modeling / explanation / predict / inverse_optimization и др.), доступные через три точки входа:

Точка входа

Команда

Сценарий

MCP server (stdio)

mcpSrv

Подключение MCP-клиентов (Claude Code, Cursor и др.)

JSON runner (CLI)

cmd <tool> '<json args>'

Командная строка, контейнеры K8s Job, subprocess

Прямой import

mflowy.mcp.tools pyfunc

Встраивание в хост-приложение

CLI (cmd) — это командный канал для MCP-инструментов; он использует ту же реализацию инструментов и делегирование через JobProvider, что и MCP server, и не является отдельной архитектурой; прежние отдельные CLI (mflowy run/validate/list-modules и др.) устарели.

Быстрый старт

# 构建 wheel(→ dist/mflowy-<version>-py3-none-any.whl)
make build-whl

# MCP server (stdio) — 完全体(数据分析 + 建模);<whl> 为 wheel 绝对路径(见下方说明)
uvx --index-strategy unsafe-best-match \
    --default-index https://mirrors.aliyun.com/pypi/simple/ \
    --index https://download.pytorch.org/whl/cpu \
    --from "mflowy[modeling] @ file://<whl绝对路径>" \
    mcpSrv

# JSON runner(CLI)— 本地调试
uv run cmd list_modules                                       # 查看支持的步骤及模块列表(base,无数据栈)
uv run cmd list_modules '{"step":"load"}'                     # 查看 load 步骤的模块列表
uv run cmd get_module_info '{"step":"load","module":"csv"}'   # 查看 load 步骤的 csv 模块信息
uv run --extra stats cmd data_profile '{"file_path": "..."}'           # 数据分析工具
uv run --extra modeling cmd modeling '{"modeling_steps_yaml": "...", "name": "...", "desc": "..."}'  # 建模工具

Переменные окружения

Переменная

Назначение

Пример

MLFLOW_TRACKING_URI

URI tracking-сервера (при отсутствии инструменты workflow и запросов используют фиксированную базу ~/.mflowy/mlflow.db)

postgresql://user:pwd@host:5432/mlflow

MFLOWY_JOB_PROVIDER

Разрешение JobProvider: local (по умолчанию) или module:Class

my_pkg.job_provider:MyRemoteProvider

PYTHONPATH

Корень пакета для модуля пользовательского JobProvider

/srv/my-provider

MFLOWY_TELEMETRY

Режим телеметрии: ask (по умолчанию, запрос при первом вызове инструмента) / on / off (явная настройка переопределяет settings.json, см. раздел «Телеметрия» ниже)

on

Пример конфигурации MCP-клиента

{
  "mcpServers": {
    "mflowy": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--index-strategy", "unsafe-best-match",  // torch CPU 索引必需(见下方说明)
        "--default-index", "https://mirrors.aliyun.com/pypi/simple/",  // 可选:包索引镜像(网络可达 PyPI 时省略)
        "--index", "https://download.pytorch.org/whl/cpu",  // [modeling] 需要;仅 [stats] 可省略
        "--from", "mflowy[modeling] @ file:///path/to/mflowy-<version>-py3-none-any.whl",
        "mcpSrv"
      ],
      "env": {
        // "PYTHONPATH": "/path/to/custom_module_parent",
        // "MFLOWY_JOB_PROVIDER": "<custom_module>:<class>",
        // "MLFLOW_TRACKING_URI": "postgresql://user:pwd@host:5432/mlflow"
      }
    }
  }
}

Примечания по запуску

  • Имя точки входа mcpSrv: намеренно отличается от одноимённого CLI mcp от SDK (mcp.cli.app) — при разрешении через uvx команда mcp может попасть в SDK и привести к ошибке запуска

  • extras внутри spec --from: для --from uvx требуется новая версия uv; встроенная запись наиболее совместима

  • <whl> — абсолютный путь: make build-whl создаёт dist/mflowy-<версия>-py3-none-any.whl; при изменении версии необходимо обновить путь

  • Индекс pytorch-cpu (--index pytorch-cpu) для [modeling] необходим: если индекс опущен, по умолчанию используется PyPI, что приводит к загрузке CUDA-версии torch (около 2 ГБ+); при использовании --index также добавьте --extra-index-url https://pypi.org/simple, чтобы избежать сбоев разрешения зависимостей

  • Для разработки wheel не требуется: .mcp.json.example использует путь к исходному коду и всегда актуален

Телеметрия

Сбор диагностики вызовов MCP-инструментов; режим по умолчанию ask (запрос согласия). Если сервер телеметрии недоступен, это полностью прозрачно и не влияет на вызовы инструментов. Контракт конфиденциальности см. в PRIVACY.md.

Участие

Приветствуется любой вклад: функции, исправления, документация, примеры. Пожалуйста, ознакомьтесь с CONTRIBUTING.md (процесс разработки и соглашения), CODE_OF_CONDUCT.md, PRIVACY.md (контракт конфиденциальности телеметрии) и SECURITY.md (раскрытие уязвимостей).

Лицензия

Проект распространяется под лицензией MIT License.

Документация

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.

  • MCP Hub: AI service discovery, per-user OAuth, and multi-service workflow orchestration

  • MCP Server for agents to onboard, pay, and provision services autonomously with InFlow

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ifoodsci-ai/mflowy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server