MLflow MCP Server

Se integra con MLflow, permitiendo que los asistentes de IA interactúen con experimentos, ejecuciones y modelos registrados.

Documentación

MLflow MCP Server

Un servidor Model Context Protocol (MCP) que expone operaciones de seguimiento de experimentos y registro de modelos de MLflow como herramientas para asistentes de IA.

Tabla de Contenidos

Inicio rápido

La forma más rápida de comenzar es agregar el servidor a la configuración de tu cliente MCP. No se requiere clonación local.

Claude Desktop

Agregar a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "mlflow": {
      "command": "uvx",
      "args": ["mlflow-mcp-server"],
      "env": {
        "MLFLOW_TRACKING_URI": "http://localhost:5000"
      }
    }
  }
}

Cursor

Agregar a ~/.cursor/mcp.json:

{
  "mcpServers": {
    "mlflow": {
      "command": "uvx",
      "args": ["mlflow-mcp-server"],
      "env": {
        "MLFLOW_TRACKING_URI": "http://localhost:5000"
      }
    }
  }
}

OpenCode

Agregar a tu opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mlflow": {
      "type": "local",
      "command": ["uvx", "mlflow-mcp-server"],
      "environment": {
        "MLFLOW_TRACKING_URI": "http://localhost:5000"
      }
    }
  }
}

Reemplaza http://localhost:5000 con la URL de tu servidor de seguimiento de MLflow.

Herramientas

Gestión de Experimentos

HerramientaDescripción
get_experimentObtener detalles del experimento por ID
get_experiment_by_nameObtener detalles del experimento por nombre
search_experimentsListar y filtrar experimentos con coincidencia de nombre opcional y paginación

Gestión de Ejecuciones

HerramientaDescripción
get_runObtener detalles completos de la ejecución, incluyendo métricas, parámetros, etiquetas y tipo de ejecución (padre/hijo/independiente)
get_experiment_runsListar ejecuciones de un experimento con paginación

Registro de Modelos

HerramientaDescripción
get_registered_modelsBuscar y listar modelos registrados
get_model_versionsExplorar versiones de modelos con filtrado
create_registered_modelCrear un nuevo modelo registrado con descripción y etiquetas opcionales
create_model_versionCrear una nueva versión de modelo a partir de los artefactos de una ejecución
rename_registered_modelRenombrar un modelo registrado existente
set_registered_model_aliasAsignar un alias (por ejemplo, champion, challenger) a una versión de modelo
delete_registered_modelEliminar un modelo registrado y todas sus versiones
delete_model_versionEliminar una versión de modelo específica

Ejemplos de Indicaciones

Una vez configurado, puedes preguntar a tu asistente de IA cosas como:

Explorando experimentos y ejecuciones:

  • "Listar todos los experimentos relacionados con modelos de recomendación"
  • "Muéstrame las ejecuciones del experimento 12 y compara sus métricas"
  • "Obtén los parámetros y métricas de la ejecución abc123"
  • "¿Qué ejecuciones del experimento de detección de fraude tienen la mayor precisión?"

Gestión del registro de modelos:

  • "Muéstrame todos los modelos registrados"
  • "Registra un nuevo modelo llamado churn-classifier con la descripción 'Clasificador binario para la pérdida de clientes'"
  • "Crea una nueva versión de churn-classifier desde la ejecución abc123"
  • "Establece el alias champion en la versión 3 de churn-classifier"
  • "Renombra el modelo old-name a new-name"
  • "Elimina la versión 1 de churn-classifier"

Análisis y comparación:

  • "Compara las últimas 5 ejecuciones del experimento de clasificación de búsqueda por NDCG y latencia"
  • "¿Qué hiperparámetros se usaron en la ejecución de mejor rendimiento del experimento 7?"
  • "Lista todas las versiones de modelo para recommendation-model y sus alias"

Configuración

Variable de entornoValor por defectoDescripción
MLFLOW_TRACKING_URIhttp://localhost:5000URL del servidor de seguimiento de MLflow

Instalación (Desarrollo)

Requisitos previos

  • Python 3.11+
  • uv
  • Un servidor de seguimiento de MLflow

Configuración

git clone https://github.com/yesid-lopez/mlflow-mcp-server.git
cd mlflow-mcp-server
uv sync

Ejecución Local

export MLFLOW_TRACKING_URI="http://localhost:5000"
uv run -m mlflow_mcp_server

El servidor se comunica a través de stdio, que es el transporte MCP estándar para servidores de herramientas locales.

Estructura del Proyecto

mlflow_mcp_server/
├── __main__.py              # Entry point
├── server.py                # MCP server setup and tool registration
├── tools/
│   ├── experiment_tools.py  # Experiment search and retrieval
│   ├── run_tools.py         # Run details and listing
│   └── registered_models.py # Model registry CRUD operations
└── utils/
    └── mlflow_client.py     # MLflow client singleton

Agregar Nuevas Herramientas

  1. Crea una función en el archivo apropiado bajo tools/.
  2. Regístrala en server.py:
from mlflow_mcp_server.tools.your_module import your_function
mcp.add_tool(your_function)

Linting

uv run ruff check .
uv run ruff format --check .

Licencia

MIT