MCP server for managing MLflow experiments, runs, models, traces, assessments, webhooks, and prompt-optimization workflows.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Mlflow MCP Server.
The widest-coverage MLflow MCP β including MLflow 3 traces, prompt-optimization, webhooks, and Databricks trace attachments that no other MCP exposes.
82 tools across experiments, runs, registry, logged models, traces, assessments, webhooks, prompt-optimization. Aggregation tools (
summarize-experiment,summarize-run) fold 3β5 round-trips into one structured response with already-fetched metric stats.
list-trace-attachments, get-trace-attachment β Databricks MLflow only; OSS returns 404).summarize-experiment returns experiment + topN runs + metric stats (min/max/mean) in one call from already-fetched data, zero extra round-trips. summarize-run dedups metricHistory.history.*.key (~100KB savings on 4k-point series).debug-failed-traces, promote-best-run, compare-top-runs, annotate-trace-quality. Workflow templates the model invokes directly.mlflow://run/{runId}, mlflow://experiment/{expId}, mlflow://run/{runId}/artifacts, mlflow://experiment/{expId}/runs, mlflow://registered-model/{name}/versions, mlflow://trace/{traceId}.extractFields projection on get-run / search-runs / search-traces / get-trace / fat reads, MLFLOW_TOOLS / MLFLOW_DISABLE 8 categories, search-tools meta-tool.compare-runs renders as a side-by-side card on ChatGPT clients (run summary + metric/param tables with diff highlight) via _meta["openai/outputTemplate"]. Claude clients receive the same JSON content.MCP_TRANSPORT=http for ChatGPT Apps SDK or remote clients (Bearer auth via MCP_HTTP_TOKEN).Connect the server to Claude Desktop or Claude Code, then paste any of these:
customer-churn-v3 experiment, find the run with the highest val_accuracy. Show its hyperparameters and metric history."status=ERROR from the last 24h in experiment 12. Group the failures by exception type and surface the 3 most common."validation_loss. Show differing hyperparameters in a table."recommendation_v2 registered model with the champion alias. Show its training metrics + lineage to the source run."tr-abc123. Highlight slow spans and any failed feedback annotations." (Add list-trace-attachments on Databricks workspaces.)Official mlflow[mcp] | kkruglik/mlflow-mcp | @us-all/mlflow-mcp (this) | |
|---|---|---|---|
| Tool count | ~9 (trace-only) | ~25 | 78 |
| MLflow 3 LoggedModel | β | β | β |
| Trace attachments | β | β | β Databricks only |
| Prompt-optimization-jobs | β | β | β |
| Webhooks | β | β | β |
| Aggregation tools | β | β | β
summarize-experiment, summarize-run |
| MCP Prompts | β | β | β |
| MCP Resources | β | β | β 6 URIs |
| Auth | Databricks SDK | Bearer / basic | Bearer / basic |
| Transport | stdio | stdio | stdio |
The official mlflow[mcp] is bundled inside MLflow itself and intentionally trace-narrow. Use it for quick managed-MLflow trace inspection. Use this server for end-to-end coverage, especially MLflow 3 entities, prompt-optimization workflows, and aggregation-driven AI debugging.
| Variable | Required | Default | Description |
|---|---|---|---|
MLFLOW_TRACKING_URI | β | β | MLflow tracking URL (http://localhost:5000, Databricks workspace URL, etc.) |
MLFLOW_TRACKING_TOKEN | β | β | Bearer token. Use for Databricks PAT (dapiβ¦) |
MLFLOW_TRACKING_USERNAME | β | β | Basic-auth username (alternative to token) |
MLFLOW_TRACKING_PASSWORD | β | β | Basic-auth password |
MLFLOW_EXPERIMENT_ID | β | β | Default experiment ID for tools that accept it implicitly |
MLFLOW_ALLOW_WRITE | β | false | Set true to enable mutations (create/update/delete) |
MLFLOW_TOOLS | β | β | Comma-sep allowlist of categories. Biggest token saver. |
MLFLOW_DISABLE | β | β | Comma-sep denylist. Ignored when MLFLOW_TOOLS is set. |
MCP_TRANSPORT | β | stdio | http to enable Streamable HTTP transport |
MCP_HTTP_TOKEN | conditional | β | Bearer token. Required when MCP_TRANSPORT=http |
MCP_HTTP_PORT | β | 3000 | HTTP listen port |
MCP_HTTP_HOST | β | 127.0.0.1 | HTTP bind host (DNS rebinding protection auto-enabled for localhost) |
MCP_HTTP_SKIP_AUTH | β | false | Skip Bearer auth β e.g. behind a reverse proxy that handles it |
Categories (8): experiments, runs, registry, logged-models, traces, assessments, webhooks, prompts.
When MCP_TRANSPORT=http: POST /mcp (Bearer-auth JSON-RPC) + GET /health (public liveness).
For Databricks-hosted MLflow:
The MLflow REST API path (/api/2.0/mlflow/...) is identical between OSS and Databricks. Bearer auth handles both PAT and service-principal flows.
| Scenario | Tools | Schema tokens | vs default |
|---|---|---|---|
| default (all categories) | 78 | 9,200 | β |
typical (MLFLOW_TOOLS=experiments,runs,registry,traces) | 54 | 5,900 | β36% |
narrow (MLFLOW_TOOLS=experiments,runs) | 27 | 3,200 | β66% |
Plus extractFields on get-run / search-runs / search-traces / get-trace / summarize-experiment β caller can scope response fields per call.
By default, all writes are blocked. The following require MLFLOW_ALLOW_WRITE=true:
create-experiment, update-experiment, delete-experiment, restore-experiment, set-experiment-tag, delete-experiment-tag, create-run, update-run, delete-run, restore-run, log-metric, log-param, log-batch, log-inputs, set-run-tag, delete-run-tag, create-registered-model, rename-registered-model, update-registered-model, delete-registered-model, plus all model-version, logged-model, trace, assessment, webhook, and prompt-optimization writes.
search-traces.maxResults is clamped to 500. MLflow 3.12+ rejects per-page max_results > 500 with INVALID_PARAMETER_VALUE. For larger result sets, loop on nextPageToken β total trace count is unbounded.list-trace-attachments / get-trace-attachment call routes that OSS MLflow (verified through 3.12.0) returns 404 for. Tool descriptions surface this; calls against OSS return a structured MlflowError.search-traces.maxResults cap applies per page, not per call β pagination still gets you the full set.Workflow templates available via MCP prompts/list:
debug-failed-traces β find failed traces, group failure modespromote-best-run β find best run, register, set champion aliascompare-top-runs β top-N comparison by metricannotate-trace-quality β guided feedback annotation loopURI-based read-only access:
mlflow://run/{runId}, mlflow://experiment/{expId}, mlflow://experiment-by-name/{name}, mlflow://registered-model/{name}, mlflow://model-version/{name}/{version}, mlflow://trace/{traceId}, mlflow://run/{runId}/artifacts, mlflow://experiment/{expId}/runs, mlflow://registered-model/{name}/versions.
8 categories. Use search-tools to discover at runtime; full list collapsed below.
get-run, search-runs, search-traces, get-trace, and summarize-experiment accept extractFields for response slicing.
create-experiment, search-experiments, get-experiment, get-experiment-by-name, update-experiment, delete-experiment, restore-experiment, set-experiment-tag, delete-experiment-tag
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/us-all-mlflow-mcp-server)<a href="https://allmcps.com/mcp/us-all-mlflow-mcp-server"><img src="https://allmcps.com/api/badge/us-all-mlflow-mcp-server?style=directory" alt="Mlflow MCP Server on AllMCPs" /></a>