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: Procesio 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 installed
Maintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables management of multiple N8N workflow automation instances through MCP. Supports listing, creating, updating, deleting, executing workflows and monitoring their executions across different N8N environments.63MIT
- 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- AlicenseNot gradedqualityDmaintenanceMCP Server for interacting with the Langflow API via a natural language interface. It exposes Langflow functionalities as tools for LLMs.MIT
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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