MLflow

Enables LLMs to query experiments, runs, metrics, artifacts, and the model registry from an MLflow tracking server.
  • python

0

GitHub Stars

python

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

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

You run an MCP server that lets large language models interact with an MLflow tracking server through natural language. With this server, you can explore experiments, analyze runs, compare metrics, access artifacts, and browse the model registry in a conversational workflow.

How to use

Connect your MCP client to the MLflow MCP server using the provided command. Once connected, you can ask for lists of experiments, inspect run details, filter runs by metrics or tags, view metric histories, compare runs side by side, and navigate the model registry. Use natural language prompts such as requesting the top runs by a specific metric, retrieving parameter values across runs, or listing production models in the registry.

How to install

Prerequisites you need before installing include Python 3.10 or newer and access to an MLflow tracking server that you want to connect to. You also need a way to run MCP server processes, such as uvx or a Python environment where the MCP client can be executed.

Option 1: Install the MCP server package globally and run with uvx (recommended). Run these commands in sequence:

# Run directly without installation
uvx mlflow-mcp

# Or install globally
pip install mlflow-mcp

Configuration and startup

The MCP server is configured to connect to your MLflow tracking server via an environment variable that you pass to the server process. The following configuration snippet shows how to declare an MCP server named mlflow that runs under uvx and forwards the MLflow tracking URI.

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

Additional installation flow from source

If you prefer building from source, you can clone the project, synchronize dependencies, and run the MCP server locally. Use these steps to set up the development flow.

git clone https://github.com/kkruglik/mlflow-mcp.git
cd mlflow-mcp
uv sync
uv run mlflow-mcp

Environment variables

Set the MLflow tracking server URL via the environment variable MLFLOW_TRACKING_URI. This is required to point the MCP server to your MLflow instance.

Security and health

Ensure access to the MLflow tracking server is properly secured if it contains sensitive data. You can periodically check the MCP server health to verify connectivity to the tracking server using the health command exposed by the MCP tooling.

Notes and best practices

Start by pointing the MLFLOW_TRACKING_URI to a reachable MLflow tracking server. Once connected, you can perform end-to-end queries and analyses through natural language prompts, such as listing experiments, filtering runs by tags, or identifying the best-performing model by a specific metric.

Tools and endpoints available

The MCP server exposes a rich set of capabilities to interact with MLflow data, including listing experiments, retrieving metrics and parameters, querying runs, accessing artifacts, and exploring the model registry. Use natural language prompts to navigate experiments, runs, metrics, artifacts, and registered models.

Available tools

get_experiments

List all experiments in the MLflow tracking server.

get_experiment_by_name

Retrieve a specific experiment by its name.

get_experiment_metrics

Discover all unique metrics for an experiment.

get_experiment_params

Discover all unique parameters for an experiment.

get_runs

Fetch runs for an experiment with details and support for pagination and sorting.

get_run

Get detailed information for a specific run.

query_runs

Filter and sort runs using expressions like metric thresholds.

search_runs_by_tags

Find runs by tags with pagination support.

get_run_metrics

Get all metrics for a specific run and their histories.

get_run_metric

Get full metric history for a run and a given metric.

get_run_artifacts

List artifacts for a run and browse directories.

get_run_artifact

Download a specific artifact for a run.

get_artifact_content

Read artifact content (text or JSON) for inspection.

get_best_run

Identify the best run by a chosen metric, with optional ascending order.

compare_runs

Provide a side-by-side comparison for multiple runs.

get_registered_models

List all models registered in the model registry.

get_model_versions

List all versions for a given registered model.

get_model_version

Retrieve version details including metrics for a model version.

health

Check server connectivity and readiness.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational