mlflow-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MLFLOW_TOOLS | No | Comma-separated allowlist of tool categories | |
| MCP_HTTP_HOST | No | HTTP bind host | 127.0.0.1 |
| MCP_HTTP_PORT | No | HTTP listen port | 3000 |
| MCP_TRANSPORT | No | Transport mode: 'stdio' or 'http' | stdio |
| MCP_HTTP_TOKEN | No | Bearer token for HTTP transport. Required when MCP_TRANSPORT=http. | |
| MLFLOW_DISABLE | No | Comma-separated denylist of tool categories | |
| MCP_HTTP_SKIP_AUTH | No | Skip Bearer auth for HTTP transport | false |
| MLFLOW_ALLOW_WRITE | No | Set 'true' to enable write operations | false |
| MLFLOW_TRACKING_URI | Yes | MLflow tracking URL (e.g., http://localhost:5000, Databricks workspace URL) | |
| MLFLOW_EXPERIMENT_ID | No | Default experiment ID for tools that accept it implicitly | |
| MLFLOW_TRACKING_TOKEN | No | Bearer token for authentication (e.g., Databricks PAT) | |
| MLFLOW_TRACKING_PASSWORD | No | Basic-auth password (required if username is provided) | |
| MLFLOW_TRACKING_USERNAME | No | Basic-auth username (alternative to token) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create-experimentB | Create a new MLflow experiment |
| search-experimentsC | Search experiments with filter and pagination |
| get-experimentA | Get experiment details by ID |
| get-experiment-by-nameB | Get experiment details by name |
| update-experimentB | Rename an experiment |
| delete-experimentA | Soft-delete an experiment by ID |
| restore-experimentA | Restore a deleted experiment |
| set-experiment-tagC | Set a tag on an experiment |
| delete-experiment-tagB | Delete a tag from an experiment |
| create-runA | Create a new run in an experiment |
| get-runA | Get run details by ID |
| search-runsA | Search runs with filter expression and pagination |
| update-runC | Update run status, end time, or name |
| delete-runA | Soft-delete a run by ID |
| restore-runA | Restore a deleted run |
| log-metricB | Log a single metric value to a run |
| log-paramB | Log a single parameter to a run |
| log-batchB | Log a batch of metrics, params, and tags to a run |
| log-inputsC | Log dataset inputs to a run |
| get-metric-historyB | Get full history of a metric for a run |
| set-run-tagC | Set a tag on a run |
| delete-run-tagC | Delete a tag from a run |
| list-artifactsB | List artifacts under a run's artifact directory |
| get-best-runA | Find the run with the best (max/min) value of a metric in an experiment |
| compare-runsA | Side-by-side metric/param comparison across multiple runs. Renders an Apps SDK card on ChatGPT clients (Claude clients receive the same JSON text). |
| search-runs-by-tagsB | Find runs whose tags match all of the given key/value pairs |
| create-registered-modelC | Create a new registered model in the model registry |
| get-registered-modelB | Get a registered model by name |
| search-registered-modelsC | Search registered models |
| rename-registered-modelA | Rename a registered model |
| update-registered-modelB | Update a registered model's description |
| delete-registered-modelA | Delete a registered model and all its versions |
| get-latest-model-versionsB | Get the latest model versions per stage |
| set-registered-model-tagC | Set a tag on a registered model |
| delete-registered-model-tagC | Delete a tag from a registered model |
| set-registered-model-aliasB | Set an alias on a registered model version |
| delete-registered-model-aliasC | Delete an alias from a registered model |
| get-model-version-by-aliasC | Get the model version pointed to by an alias |
| create-model-versionC | Create a new model version |
| get-model-versionB | Get a model version by name and version |
| search-model-versionsB | Search model versions with filter and pagination |
| update-model-versionC | Update a model version's description |
| delete-model-versionC | Delete a specific model version |
| transition-model-version-stageC | Transition a model version to a new stage |
| get-model-version-download-uriC | Get the artifact download URI for a model version |
| set-model-version-tagC | Set a tag on a model version |
| delete-model-version-tagB | Delete a tag from a model version |
| create-logged-modelC | Create a new MLflow 3 LoggedModel entity in an experiment |
| search-logged-modelsA | Search LoggedModels by experiment with filter and pagination |
| get-logged-modelA | Get a LoggedModel by ID |
| finalize-logged-modelA | Set a terminal status (READY/FAILED/...) on a LoggedModel |
| delete-logged-modelA | Soft-delete a LoggedModel by ID |
| set-logged-model-tagsA | Set or upsert tags on a LoggedModel |
| delete-logged-model-tagC | Delete a tag from a LoggedModel |
| log-logged-model-paramsC | Log parameters on a LoggedModel |
| search-tracesB | Search and filter traces in experiments |
| get-traceB | Retrieve detailed trace information by trace ID |
| get-trace-infoA | Retrieve trace metadata only (no spans) |
| delete-tracesA | Delete traces by ID or older than a timestamp |
| set-trace-tagA | Add a custom key-value tag to a trace |
| delete-trace-tagB | Remove a tag from a trace |
| list-trace-attachmentsA | List attachments on a trace (Databricks MLflow only — OSS servers return 404) |
| get-trace-attachmentA | Get a specific attachment on a trace by ID (Databricks MLflow only — OSS servers return 404) |
| log-feedbackB | Log evaluation feedback (score or judgment) on a trace |
| log-expectationC | Log a ground-truth expectation on a trace |
| get-assessmentB | Get an assessment by trace ID and assessment ID |
| update-assessmentC | Update an existing assessment |
| delete-assessmentB | Delete an assessment from a trace |
| create-webhookB | Register a webhook for model registry events |
| list-webhooksA | List webhooks (optionally filtered by model name) |
| get-webhookA | Get webhook details by ID |
| update-webhookB | Update an existing webhook (events, URL, status, secret) |
| delete-webhookA | Delete a webhook by ID |
| test-webhookA | Send a test event to a webhook to verify configuration |
| create-prompt-optimization-jobB | Create a prompt optimization job to automatically improve a registered prompt |
| get-prompt-optimization-jobB | Get a prompt optimization job by ID |
| search-prompt-optimization-jobsB | Search prompt optimization jobs in an experiment |
| cancel-prompt-optimization-jobB | Cancel a running prompt optimization job |
| delete-prompt-optimization-jobC | Delete a prompt optimization job |
| summarize-runA | 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. |
| summarize-experimentA | 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. |
| search-toolsA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| debug-failed-traces | Find failed traces in an experiment, summarize the failure modes, and suggest next steps. |
| promote-best-run | Find the best run in an experiment by metric, register the model, and set a 'champion' alias. |
| compare-top-runs | Pick the top N runs by metric in an experiment and produce a side-by-side comparison. |
| analyze-failed-traces | Higher-level analysis than debug-failed-traces: failure rate trend vs prior window, top patterns by impact, where to focus. Use this when you want 'is it getting worse?' not 'what broke this one?' |
| annotate-trace-quality | Walk through recent traces and log structured feedback (helpfulness/correctness) on each. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| compare-runs-card | Apps SDK UI template rendered with compare-runs tool output |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/us-all/mlflow-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server