mlflow-mcp-server
The MLflow MCP Server provides 82 tools across the full MLflow lifecycle — experiment tracking, model registry, tracing, assessments, webhooks, and prompt optimization — accessible via the Model Context Protocol.
Experiment Management: Create, search, get, update, delete, restore experiments; set/delete tags; look up by name or ID.
Run Tracking: Create, get, search, update, delete, restore runs; log metrics, params, and tags individually or in batch; log dataset inputs; retrieve metric history; list artifacts; find best run by metric; compare runs side-by-side; search runs by tag.
Model Registry: Create, get, search, rename, update, delete registered models; manage model versions (create, get, search, update, delete, transition stages, get download URI); set/delete tags and aliases (e.g. champion).
MLflow 3 Logged Models: Create, search, get, finalize, delete LoggedModel entities; set/delete tags; log parameters.
Trace Management: Search/filter traces, retrieve full details or metadata-only, delete traces, set/delete tags; list and get trace attachments (Databricks only).
Assessments: Log feedback (scores, labels, judgments) and ground-truth expectations on traces; get, update, delete assessments.
Webhooks: Create, list, get, update, delete, and test webhooks for model registry events (version creation, stage transitions, alias/tag changes).
Prompt Optimization: Create, get, search, cancel, delete prompt optimization jobs to automatically improve registered prompts.
Aggregation Tools: summarize-experiment (overview + top-N runs + metric stats in one call) and summarize-run (run info + metric history + artifacts in one call).
MCP Prompts: Four workflow templates — debug-failed-traces, promote-best-run, compare-top-runs, and annotate-trace-quality.
MCP Resources: URI-based access to entities (e.g. mlflow://run/{runId}, mlflow://registered-model/{name}).
Efficiency & Control:
search-toolsfor natural-language tool discoveryextractFieldsprojection to reduce response token sizeCategory-based tool filtering via
MLFLOW_TOOLS/MLFLOW_DISABLEenv varsRead-only by default; writes require
MLFLOW_ALLOW_WRITE=trueSupports stdio and Streamable HTTP transports with Bearer/Basic auth
Allows connection to Databricks-hosted MLflow tracking servers using Databricks PAT or service-principal tokens, enabling management of experiments, runs, models, and traces on Databricks.
Provides comprehensive tools for managing MLflow experiments, runs, registered models, model versions, logged models (MLflow 3), traces, assessments, webhooks, and prompt-optimization jobs. Includes aggregation tools and MCP resources for efficient AI-driven workflows.
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.
What it does that others don't
Full coverage — only third-party MLflow MCP shipping prompt-optimization-jobs (5 tools), webhooks (6), MLflow 3 LoggedModel (8), and Databricks trace attachments (
list-trace-attachments,get-trace-attachment— Databricks MLflow only; OSS returns 404).Aggregation tools —
summarize-experimentreturns experiment + topN runs + metric stats (min/max/mean) in one call from already-fetched data, zero extra round-trips.summarize-rundedupsmetricHistory.history.*.key(~100KB savings on 4k-point series).MCP Prompts (4) —
debug-failed-traces,promote-best-run,compare-top-runs,annotate-trace-quality. Workflow templates the model invokes directly.MCP Resources (6) —
mlflow://run/{runId},mlflow://experiment/{expId},mlflow://run/{runId}/artifacts,mlflow://experiment/{expId}/runs,mlflow://registered-model/{name}/versions,mlflow://trace/{traceId}.Token-efficient by design —
extractFieldsprojection onget-run/search-runs/search-traces/get-trace/ fat reads,MLFLOW_TOOLS/MLFLOW_DISABLE8 categories,search-toolsmeta-tool.Apps SDK card —
compare-runsrenders 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.stdio + Streamable HTTP — defaults to stdio. Set
MCP_TRANSPORT=httpfor ChatGPT Apps SDK or remote clients (Bearer auth viaMCP_HTTP_TOKEN).
Related MCP server: MLflow MCP Server
Try this — 5 prompts
Connect the server to Claude Desktop or Claude Code, then paste any of these:
Best run — "In the
customer-churn-v3experiment, find the run with the highestval_accuracy. Show its hyperparameters and metric history."Failure mode clustering — "Find traces with
status=ERRORfrom the last 24h in experiment 12. Group the failures by exception type and surface the 3 most common."Run comparison — "Compare the top 5 runs of experiment 12 by
validation_loss. Show differing hyperparameters in a table."Model promotion — "Get the latest version of
recommendation_v2registered model with thechampionalias. Show its training metrics + lineage to the source run."Trace deep-dive — "Pull trace
tr-abc123. Highlight slow spans and any failed feedback annotations." (Addlist-trace-attachmentson Databricks workspaces.)
When to use this vs alternatives
Official | kkruglik/mlflow-mcp |
| |
Tool count | ~9 (trace-only) | ~25 | 78 |
MLflow 3 LoggedModel | ❌ | ✅ | ✅ |
Trace attachments | ❌ | ❌ | ✅ Databricks only |
Prompt-optimization-jobs | ❌ | ❌ | ✅ |
Webhooks | ❌ | ❌ | ✅ |
Aggregation tools | ❌ | ❌ | ✅ |
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.
Install
Claude Desktop
{
"mcpServers": {
"mlflow": {
"command": "npx",
"args": ["-y", "@us-all/mlflow-mcp"],
"env": {
"MLFLOW_TRACKING_URI": "http://localhost:5000"
}
}
}
}Claude Code
claude mcp add mlflow -s user \
-e MLFLOW_TRACKING_URI=http://localhost:5000 \
-- npx -y @us-all/mlflow-mcpDocker
docker run --rm -i \
-e MLFLOW_TRACKING_URI=http://your-host:5000 \
ghcr.io/us-all/mlflow-mcp-serverBuild from source
git clone https://github.com/us-all/mlflow-mcp-server.git
cd mlflow-mcp-server && pnpm install && pnpm build
node dist/index.jsConfiguration
Variable | Required | Default | Description |
| ✅ | — | MLflow tracking URL ( |
| ❌ | — | Bearer token. Use for Databricks PAT ( |
| ❌ | — | Basic-auth username (alternative to token) |
| ❌ | — | Basic-auth password |
| ❌ | — | Default experiment ID for tools that accept it implicitly |
| ❌ |
| Set |
| ❌ | — | Comma-sep allowlist of categories. Biggest token saver. |
| ❌ | — | Comma-sep denylist. Ignored when |
| ❌ |
|
|
| conditional | — | Bearer token. Required when |
| ❌ |
| HTTP listen port |
| ❌ |
| HTTP bind host (DNS rebinding protection auto-enabled for localhost) |
| ❌ |
| 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).
Databricks managed MLflow
For Databricks-hosted MLflow:
MLFLOW_TRACKING_URI=https://<workspace>.cloud.databricks.com
MLFLOW_TRACKING_TOKEN=dapi... # PAT or service-principal tokenThe MLflow REST API path (/api/2.0/mlflow/...) is identical between OSS and Databricks. Bearer auth handles both PAT and service-principal flows.
Token efficiency
Scenario | Tools | Schema tokens | vs default |
default (all categories) | 78 | 9,200 | — |
typical ( | 54 | 5,900 | −36% |
narrow ( | 27 | 3,200 | −66% |
Plus extractFields on get-run / search-runs / search-traces / get-trace / summarize-experiment — caller can scope response fields per call.
Read-only mode
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.
Limitations & gotchas
search-traces.maxResultsis clamped to 500. MLflow 3.12+ rejects per-pagemax_results > 500withINVALID_PARAMETER_VALUE. For larger result sets, loop onnextPageToken— total trace count is unbounded.Trace attachments are Databricks-only.
list-trace-attachments/get-trace-attachmentcall routes that OSS MLflow (verified through 3.12.0) returns 404 for. Tool descriptions surface this; calls against OSS return a structuredMlflowError.search-traces.maxResultscap applies per page, not per call — pagination still gets you the full set.Bearer / Basic auth code paths are not yet validated against live Databricks (see open roadmap item). Works against OSS MLflow 3.12 (Bearer optional).
MCP Prompts (4)
Workflow templates available via MCP prompts/list:
debug-failed-traces— find failed traces, group failure modespromote-best-run— find best run, register, setchampionaliascompare-top-runs— top-N comparison by metricannotate-trace-quality— guided feedback annotation loop
MCP Resources
URI-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.
Tools (82)
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.
Experiments (9)
create-experiment, search-experiments, get-experiment, get-experiment-by-name, update-experiment, delete-experiment, restore-experiment, set-experiment-tag, delete-experiment-tag
Runs (18)
create-run, get-run, search-runs, update-run, delete-run, restore-run, log-metric, log-param, log-batch, log-inputs, get-metric-history, set-run-tag, delete-run-tag, list-artifacts, get-best-run, compare-runs, search-runs-by-tags, summarize-run (aggregation)
Registered Models (12)
create-registered-model, get-registered-model, search-registered-models, rename-registered-model, update-registered-model, delete-registered-model, get-latest-model-versions, set-registered-model-tag, delete-registered-model-tag, set-registered-model-alias, delete-registered-model-alias, get-model-version-by-alias
Model Versions (9)
create-model-version, get-model-version, search-model-versions, update-model-version, delete-model-version, transition-model-version-stage, get-model-version-download-uri, set-model-version-tag, delete-model-version-tag
Logged Models — MLflow 3 (8)
create-logged-model, search-logged-models, get-logged-model, finalize-logged-model, delete-logged-model, set-logged-model-tags, delete-logged-model-tag, log-logged-model-params
Traces (8)
search-traces, get-trace, get-trace-info, delete-traces, set-trace-tag, delete-trace-tag, list-trace-attachments, get-trace-attachment
Assessments (5)
log-feedback, log-expectation, get-assessment, update-assessment, delete-assessment
Webhooks (6)
create-webhook, list-webhooks, get-webhook, update-webhook, delete-webhook, test-webhook
Prompt Optimization (5)
create-prompt-optimization-job, get-prompt-optimization-job, search-prompt-optimization-jobs, cancel-prompt-optimization-job, delete-prompt-optimization-job
Aggregations
summarize-experiment, summarize-run — fold 3–5 round-trips into one structured response with caveats array.
Meta
search-tools — query other tools by keyword; always enabled.
Local validation with docker compose
# 1. start MLflow (UI at http://localhost:5050)
docker compose up -d mlflow
# 2. seed demo experiment, runs, registered model, traces
docker compose run --rm seed
# 3a. probe the MCP server locally against the compose'd MLflow
MLFLOW_TRACKING_URI=http://localhost:5050 \
MLFLOW_EXPERIMENT_ID=1 \
MLFLOW_ALLOW_WRITE=true \
node dist/index.js
# 3b. or run inside compose (stdio)
docker compose run --rm mcp
# tear down
docker compose down -v./dev/seed.py is idempotent — skips if demo experiment already has runs.
Architecture
Claude → MCP stdio → src/index.ts → src/tools/*.ts → MlflowClient (fetch) → MLflow REST APIBuilt on @us-all/mcp-toolkit:
extractFields— token-efficient response projectionsaggregate(fetchers, caveats)— fan-out helper forsummarize-experimentcreateWrapToolHandler— Bearer/basic credential redaction + MlflowError extractionsearch-toolsmeta-tool
Targets MLflow 3.5.1+ (uses v3 traces/assessments REST). Dev compose pinned to MLflow 3.12.0 (multimodal trace attachments + paginated trace search).
Tech stack
Node.js 22+ • TypeScript strict ESM • pnpm • @modelcontextprotocol/sdk • zod • dotenv • vitest.
References
MLflow MCP overview: https://mlflow.org/docs/latest/genai/mcp/
MLflow REST API: https://mlflow.org/docs/latest/api_reference/rest-api.html
License
Available Tools
82 toolscancel-prompt-optimization-jobBDestructive
Cancel a running prompt optimization job
Inputs: jobId (required).
compare-runsARead-only
Side-by-side metric/param comparison across multiple runs. Renders an Apps SDK card on ChatGPT clients (Claude clients receive the same JSON text).
Inputs: runIds (required), metricKeys, paramKeys.
create-experimentB
Create a new MLflow experiment
Inputs: name (required), artifactLocation, tags.
create-logged-modelC
Create a new MLflow 3 LoggedModel entity in an experiment
Inputs: experimentId, name, modelType, sourceRunId, +2 more.
create-model-versionC
Create a new model version
Inputs: name (required), source (required), runId, tags, +2 more.
create-prompt-optimization-jobB
Create a prompt optimization job to automatically improve a registered prompt
Inputs: sourcePromptUri (required), experimentId, config, tags.
create-registered-modelC
Create a new registered model in the model registry
Inputs: name (required), description, tags.
create-runA
Create a new run in an experiment
Inputs: experimentId, startTime, runName, tags.
create-webhookB
Register a webhook for model registry events
Inputs: name (required), events (required), url (required), description, +3 more.
delete-assessmentBDestructive
Delete an assessment from a trace
Inputs: traceId (required), assessmentId (required).
delete-experimentADestructive
Soft-delete an experiment by ID
Inputs: experimentId (required).
delete-experiment-tagBDestructive
Delete a tag from an experiment
Inputs: experimentId (required), key (required).
delete-logged-modelADestructive
Soft-delete a LoggedModel by ID
Inputs: modelId (required).
delete-logged-model-tagCDestructive
Delete a tag from a LoggedModel
Inputs: modelId (required), key (required).
delete-model-versionCDestructive
Delete a specific model version
Inputs: name (required), version (required).
delete-model-version-tagBDestructive
Delete a tag from a model version
Inputs: name (required), version (required), key (required).
delete-prompt-optimization-jobCDestructive
Delete a prompt optimization job
Inputs: jobId (required).
delete-registered-modelADestructive
Delete a registered model and all its versions
Inputs: name (required).
delete-registered-model-aliasCDestructive
Delete an alias from a registered model
Inputs: name (required), alias (required).
delete-registered-model-tagCDestructive
Delete a tag from a registered model
Inputs: name (required), key (required).
delete-runADestructive
Soft-delete a run by ID
Inputs: runId (required).
delete-run-tagCDestructive
Delete a tag from a run
Inputs: runId (required), key (required).
delete-tracesADestructive
Delete traces by ID or older than a timestamp
Inputs: experimentId, traceIds, maxTimestampMillis, maxTraces.
delete-trace-tagBDestructive
Remove a tag from a trace
Inputs: traceId (required), key (required).
delete-webhookADestructive
Delete a webhook by ID
Inputs: id (required).
finalize-logged-modelA
Set a terminal status (READY/FAILED/...) on a LoggedModel
Inputs: modelId (required), status (required).
get-assessmentBRead-only
Get an assessment by trace ID and assessment ID
Inputs: traceId (required), assessmentId (required).
get-best-runARead-only
Find the run with the best (max/min) value of a metric in an experiment
Inputs: metric (required), experimentId, ascending, filter.
get-experimentARead-only
Get experiment details by ID
Inputs: experimentId, extractFields.
get-experiment-by-nameBRead-only
Get experiment details by name
Inputs: experimentName (required).
get-latest-model-versionsBRead-only
Get the latest model versions per stage
Inputs: name (required), stages.
get-logged-modelARead-only
Get a LoggedModel by ID
Inputs: modelId (required), allowDeleted.
get-metric-historyBRead-only
Get full history of a metric for a run
Inputs: runId (required), metricKey (required), pageToken, maxResults.
get-model-versionBRead-only
Get a model version by name and version
Inputs: name (required), version (required).
get-model-version-by-aliasCRead-only
Get the model version pointed to by an alias
Inputs: name (required), alias (required).
get-model-version-download-uriCRead-only
Get the artifact download URI for a model version
Inputs: name (required), version (required).
get-prompt-optimization-jobBRead-only
Get a prompt optimization job by ID
Inputs: jobId (required).
get-registered-modelBRead-only
Get a registered model by name
Inputs: name (required).
get-runARead-only
Get run details by ID
Inputs: runId (required), extractFields.
get-traceBRead-only
Retrieve detailed trace information by trace ID
Inputs: traceId (required), extractFields.
get-trace-attachmentARead-only
Get a specific attachment on a trace by ID (Databricks MLflow only — OSS servers return 404)
Inputs: traceId (required), attachmentId (required).
get-trace-infoARead-only
Retrieve trace metadata only (no spans)
Inputs: traceId (required).
get-webhookARead-only
Get webhook details by ID
Inputs: id (required).
list-artifactsBRead-only
List artifacts under a run's artifact directory
Inputs: runId (required), path, pageToken.
list-trace-attachmentsARead-only
List attachments on a trace (Databricks MLflow only — OSS servers return 404)
Inputs: traceId (required).
list-webhooksARead-only
List webhooks (optionally filtered by model name)
Inputs: modelName, maxResults, pageToken.
log-batchB
Log a batch of metrics, params, and tags to a run
Inputs: runId (required), metrics, params, tags.
log-expectationC
Log a ground-truth expectation on a trace
Inputs: traceId (required), name (required), value (required), rationale, +2 more.
log-feedbackB
Log evaluation feedback (score or judgment) on a trace
Inputs: traceId (required), name (required), value (required), rationale, +2 more.
log-inputsC
Log dataset inputs to a run
Inputs: runId (required), datasets (required).
log-logged-model-paramsC
Log parameters on a LoggedModel
Inputs: modelId (required), params (required).
log-metricB
Log a single metric value to a run
Inputs: runId (required), key (required), value (required), timestamp, +1 more.
log-paramB
Log a single parameter to a run
Inputs: runId (required), key (required), value (required).
rename-registered-modelA
Rename a registered model
Inputs: name (required), newName (required).
restore-experimentA
Restore a deleted experiment
Inputs: experimentId (required).
restore-runA
Restore a deleted run
Inputs: runId (required).
search-experimentsCRead-only
Search experiments with filter and pagination
Inputs: filter, maxResults, orderBy, pageToken, +2 more.
search-logged-modelsARead-only
Search LoggedModels by experiment with filter and pagination
Inputs: experimentIds, filter, maxResults, orderBy, +1 more.
search-model-versionsBRead-only
Search model versions with filter and pagination
Inputs: filter, maxResults, orderBy, pageToken.
search-prompt-optimization-jobsBRead-only
Search prompt optimization jobs in an experiment
Inputs: experimentId, filter, maxResults, pageToken.
search-registered-modelsCRead-only
Search registered models
Inputs: filter, maxResults, orderBy, pageToken.
search-runsARead-only
Search runs with filter expression and pagination
Inputs: experimentIds, filter, runViewType, maxResults, +3 more.
search-runs-by-tagsBRead-only
Find runs whose tags match all of the given key/value pairs
Inputs: tags (required), experimentIds, maxResults, orderBy.
search-toolsARead-only
Discover available tools by natural language query. Returns matching tool names + descriptions across all categories. Use this first to navigate the 77+ tool surface efficiently.
Inputs: query (required), category, limit.
search-tracesBRead-only
Search and filter traces in experiments
Inputs: experimentIds, filter, maxResults, orderBy, +2 more.
set-experiment-tagC
Set a tag on an experiment
Inputs: experimentId (required), key (required), value (required).
set-logged-model-tagsA
Set or upsert tags on a LoggedModel
Inputs: modelId (required), tags (required).
set-model-version-tagC
Set a tag on a model version
Inputs: name (required), version (required), key (required), value (required).
set-registered-model-aliasB
Set an alias on a registered model version
Inputs: name (required), alias (required), version (required).
set-registered-model-tagC
Set a tag on a registered model
Inputs: name (required), key (required), value (required).
set-run-tagC
Set a tag on a run
Inputs: runId (required), key (required), value (required).
set-trace-tagA
Add a custom key-value tag to a trace
Inputs: traceId (required), key (required), value (required).
summarize-experimentARead-only
Aggregated experiment view: experiment overview + topN runs (sorted by metric or start_time) + metric stats (min/max/mean across topN) in a single call. Replaces 3-5 round-trips of get-experiment + search-runs + get-best-run.
Inputs: experimentId (required), topN, metric, ascending, +1 more.
summarize-runARead-only
Aggregated run view: run info + (optional) metric history + (optional) artifacts list in a single call. Replaces 3-4 round-trips of get-run + get-metric-history (per metric) + list-artifacts.
Inputs: runId (required), includeMetricHistory, metricKeys, includeArtifacts, +2 more.
test-webhookA
Send a test event to a webhook to verify configuration
Inputs: id (required).
transition-model-version-stageC
Transition a model version to a new stage
Inputs: name (required), version (required), stage (required), archiveExistingVersions.
update-assessmentC
Update an existing assessment
Inputs: traceId (required), assessmentId (required), value, rationale, +1 more.
update-experimentB
Rename an experiment
Inputs: experimentId (required), newName (required).
update-model-versionC
Update a model version's description
Inputs: name (required), version (required), description.
update-registered-modelB
Update a registered model's description
Inputs: name (required), description.
update-runC
Update run status, end time, or name
Inputs: runId (required), status, endTime, runName.
update-webhookB
Update an existing webhook (events, URL, status, secret)
Inputs: id (required), events, url, description, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 82 tools
Every tool targets a distinct resource-action pair (e.g., create-experiment vs create-run vs create-logged-model). Even similar functions like search-runs and search-runs-by-tags are clearly differentiated by the 'by-tags' suffix. There is no ambiguity between any two tools.
All tool names follow a consistent verb-noun pattern using lowercase and hyphens (e.g., delete-run-tag, set-experiment-tag, search-registered-models). The pattern is uniform across all 82 tools, with no mixing of conventions or unexpected formats.
With 82 tools, the count far exceeds the recommended 3-15 range for a typical server. While MLflow is a broad platform, the fine-grained separation into individual operations (e.g., separate log-metric, log-param, log-batch) results in an overwhelming surface that could hinder agent efficiency, despite the presence of a search-tools helper.
The tool set covers the entire MLflow lifecycle: experiments, runs, model registry (including aliases and versions), logged models, prompt optimization, traces with assessments, webhooks, and compound aggregate tools like summarize-experiment. There are no obvious dead ends or missing CRUD operations for the domain.
Maintenance
Related MCP Connectors
AI Model Experiments MCP ('Model Lab') — run the same prompts across many AI models simultaneously…
Self-hosted AI prompt library: prompts, collections, tags, teams, chains. 29 MCP tools for agents.
Free OpenAI-compatible inference with signed provenance receipts and 3 focused MCP tools.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to observe and interact with trackio experiment tracking, providing tools for managing ML experiments through natural language.3MIT
- AlicenseCqualityDmaintenanceEnables AI assistants to interact with MLflow experiments, runs, and registered models. Supports browsing experiments, retrieving run details with metrics and parameters, and querying the model registry through natural language.7MIT
- AlicenseAqualityBmaintenanceAI Agent Mission Control — 200+ MCP tools across 31 domains. Manage agents, experiments, workflows, crews, skills, tools, credentials, approvals, signals, budgets, marketplace, knowledge bases, chatbots, and more. Self-hosted, open-source (AGPL-3.0). Supports stdio + Streamable HTTP/SSE with OAuth 2.0 auth.3481AGPL 3.0
- AlicenseAqualityCmaintenanceA Model Context Protocol server that enables LLMs to interact with MLflow tracking servers, allowing users to query experiments, analyze runs, compare metrics, manage the model registry, and promote models through natural language.40296 PyPI15MIT