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
- Herramientas
- Ejemplos de indicaciones
- Configuración
- Instalación (Desarrollo)
- Estructura del proyecto
- Licencia
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
| Herramienta | Descripción |
|---|---|
get_experiment | Obtener detalles del experimento por ID |
get_experiment_by_name | Obtener detalles del experimento por nombre |
search_experiments | Listar y filtrar experimentos con coincidencia de nombre opcional y paginación |
Gestión de Ejecuciones
| Herramienta | Descripción |
|---|---|
get_run | Obtener detalles completos de la ejecución, incluyendo métricas, parámetros, etiquetas y tipo de ejecución (padre/hijo/independiente) |
get_experiment_runs | Listar ejecuciones de un experimento con paginación |
Registro de Modelos
| Herramienta | Descripción |
|---|---|
get_registered_models | Buscar y listar modelos registrados |
get_model_versions | Explorar versiones de modelos con filtrado |
create_registered_model | Crear un nuevo modelo registrado con descripción y etiquetas opcionales |
create_model_version | Crear una nueva versión de modelo a partir de los artefactos de una ejecución |
rename_registered_model | Renombrar un modelo registrado existente |
set_registered_model_alias | Asignar un alias (por ejemplo, champion, challenger) a una versión de modelo |
delete_registered_model | Eliminar un modelo registrado y todas sus versiones |
delete_model_version | Eliminar 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 entorno | Valor por defecto | Descripción |
|---|---|---|
MLFLOW_TRACKING_URI | http://localhost:5000 | URL 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
- Crea una función en el archivo apropiado bajo
tools/. - 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