MFlowy
MFlowy flujo de trabajo de modelado y análisis de datos
MFlowy es un motor de flujos de trabajo de ML modular nativo de MCP: basado en ejecución por capas con DAG, impulsado por configuración, admite flujos de trabajo rastreables y trazables desde el procesamiento de datos, el entrenamiento de modelos hasta el análisis visual.
Características principales
Nativo de MCP: todas las capacidades se exponen como herramientas MCP (pyfunc); el mismo conjunto de herramientas se invoca a través de tres entradas: servidor MCP (stdio), CLI de JSON runner (
cmd) e import directo (incrustado en el host)Orquestación de flujos de trabajo DAG: admite estructuras topológicas complejas de grafos acíclicos dirigidos (DAG), definiendo de forma flexible las dependencias de las tareas
Impulsado por configuración: define flujos de trabajo mediante archivos de configuración YAML, sin necesidad de escribir código
Registro mediante decoradores: funciones puras + decorador
@handlerpara registro automático; añadir funcionalidad solo requiere crear un archivo.pySistema de middleware: patrón de cadena de responsabilidad para preocupaciones transversales (inyección de datos, registro en mlflow, detención ante errores, varios tipos de registro)
Linaje de datos: la etiqueta de MLflow (
mflowy.input_steps) registra automáticamente las dependencias de entrada entre pasosEjecución observable: seguimiento completo de MLflow (parámetros/métricas/modelos/artefactos) +
WorkflowResultestructurado (run_id/estado/salida por nodo); los registros de proceso se vinculan a stderr y se colorean por nivel en modo terminalEstrategia de ejecución extensible: el contrato JobProvider abstrae el entorno de ejecución de las herramientas compute; incluye una implementación local integrada, y la ejecución remota se conecta mediante implementaciones personalizadas (ver docs/REMOTE_MODELING.md)
Related MCP server: Patronus MCP Server
Arquitectura y formas de invocación
MFlowy utiliza MCP como cuerpo principal de la arquitectura: src/mflowy/mcp/tools.py define todas las herramientas compute (eda / modeling / explanation / predict / inverse_optimization, etc.), invocadas a través de tres entradas:
Entrada | Comando | Escenario |
MCP server (stdio) |
| Conexión de clientes MCP (Claude Code, Cursor, etc.) |
JSON runner (CLI) |
| Línea de comandos, contenedores de Jobs K8s, subprocess |
Import directo |
| Invocación incrustada en el programa anfitrión |
La CLI (
cmd) es el canal de línea de comandos de la capa de herramientas MCP; comparte la misma implementación de herramientas y la delegación de JobProvider con el servidor MCP, no es una arquitectura independiente; la CLI independiente histórica (mflowy run/validate/list-modules, etc.) está obsoleta.
Inicio rápido
# 构建 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": "..."}' # 建模工具Variables de entorno
Variable | Uso | Ejemplo |
| URI del servidor de tracking (si no se establece, el workflow y las herramientas de consulta se guardan en la base fija |
|
| Resolución de JobProvider: |
|
| Raíz del paquete del módulo JobProvider personalizado |
|
| Modo de telemetría: |
|
Ejemplo de configuración de cliente 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"
}
}
}
}Notas de inicio
Nombre de entrada
mcpSrv: evita deliberadamente la CLImcphomónima incluida en el SDK de mcp (mcp.cli:app); al resolver el comandomcpcon uvx, podría alcanzar el lado del SDK y provocar un fallo de inicioextras integrados en la especificación
--from:--extrade uvx requiere una versión nueva de uv; la escritura en línea ofrece la mejor compatibilidad<whl>es una ruta absoluta:make build-whlproducedist/mflowy-<version>-py3-none-any.whl; los cambios de versión deben sincronizarseÍndice de CPU de torch (
--indexpytorch-cpu +--index-strategy unsafe-best-match) es necesario para [modeling]: uvx no lee[tool.uv.sources]de pyproject; por defecto, torch se resuelve como el paquete completo de CUDA (2–3GB);unsafe-best-matchdebe usarse junto con el índice de pytorch; de lo contrario, la estrategia first-index falla al resolver debido a la versión antigua de requests en ese índiceEn desarrollo se puede omitir la wheel:
.mcp.json.exampleen la raíz del repositorio usa rutas de código fuente y siempre está actualizado
Telemetría (Telemetry)
Recopilación de diagnósticos de invocaciones de herramientas MCP, basada en consentimiento, con ask como valor predeterminado; si el endpoint no está disponible, es totalmente transparente y no afecta a la invocación de herramientas; solo cubre la entrada MCP. El contrato de privacidad se encuentra en PRIVACY.md, y los detalles de integración y configuración en docs/TELEMETRY.md.
Contribuciones
Se agradece cualquier tipo de contribución (funcionalidades, correcciones, documentación, casos). Lea CONTRIBUTING.md (proceso de desarrollo y convenciones), CODE_OF_CONDUCT.md, PRIVACY.md (contrato de privacidad de telemetría) y SECURITY.md (divulgación de vulnerabilidades).
Licencia
Este proyecto es de código abierto bajo la MIT License.
Documentación
This server cannot be deployed
Maintenance
Related MCP Connectors
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
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-Native LLM Orchestration Agent
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with the Procesio automation platform to list, view, and manage workflows. It allows users to launch process instances and monitor their status through MCP-compatible clients.12Apache 2.0

Patronus MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceEnables running LLM evaluations, experiments, and custom evaluators through a standardized MCP interface.16Apache 2.0- FlicenseBqualityBmaintenanceConnects MCP-compatible clients like Claude to Treeflow, enabling natural-language administration, design, training, and diagnostics of intelligent chatbots. It provides tools for managing bots, conversation flows, NLU entities and intents, message templates, integrations, voice config, training history, simulations, audits, backups, and workspace credentials.45-
- AlicenseNot gradedqualityCmaintenanceEnables users to execute notebook cells, manage environments, and validate workbooks via MCP, facilitating reproducible machine-learning answers.MIT