MLflow MCP服务器

一个模型上下文协议(MCP)服务器,将MLflow实验跟踪和模型注册操作作为AI助手的工具暴露出来。

  • by yesid-lopez
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 yesid-lopez/mlflow-mcp-server

使用说明

MLflow MCP服务器

A. 模型上下文协议(MCP) 该服务器将MLF实验跟踪和模型注册表操作作为AI助手的工具。

目录

快速入门

最快的入门方法是将服务器添加到MCP客户端配置中。不需要本地克隆。

克劳德桌面版

添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

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

光标

添加 ~/.cursor/mcp.json:

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

开源代码

添加到您的 opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mlflow": {
      "type": "local",
      "command": ["uvx", "mlflow-mcp-server"],
      "environment": {
        "MLFLOW_TRACKING_URI": "http://localhost:5000"
      }
    }
  }
}

替换 http://localhost:5000 使用MLflow跟踪服务器的URL。

工具

实验管理

工具 说明
get_experiment 按ID获取实验详细信息
get_experiment_by_name 按名称获取实验详细信息
search_experiments 使用可选名称匹配和分页进行列表和筛选实验

运行管理

工具 说明
get_run 获取完整的运行详细信息,包括指标、参数、标签和运行类型(父/子/独立)
get_experiment_runs 列表运行以进行分页实验

模型注册表

工具 说明
get_registered_models 搜索并列出已注册的型号
get_model_versions 通过过滤浏览模型版本
create_registered_model 使用可选的描述和标签创建新的注册模型
create_model_version 从运行的工件创建新的模型版本
rename_registered_model 重命名现有注册模型
set_registered_model_alias 指定别名(例如。 champion, challenger)到模型版本
delete_registered_model 删除已注册的模型及其所有版本
delete_model_version 删除特定型号版本

示例提示

配置后,您可以向AI助手询问以下问题:

探索实验和运行:

  • “列出与推荐模型相关的所有实验”
  • “向我展示实验12的运行情况,并比较它们的指标”
  • “获取运行abc123的参数和指标”
  • “在欺诈检测实验中,哪种运行具有最高的准确性?”

管理模型注册表:

  • “显示所有已注册的模特”
  • “注册一个名为流失分类器的新模型,描述为‘客户流失的二元分类器’”
  • “从运行abc123创建新版本的流失分类器”
  • “在流失分类器版本3上设置冠军别名”
  • “将模型旧名称重命名为新名称”
  • “删除流失分类器版本1”

分析比较:

  • “通过NDCG和延迟比较搜索排名实验的最后5次运行”
  • “在实验7的最佳运行中使用了哪些超参数?”
  • “列出推荐模型的所有模型版本及其别名”

配置

环境变量 默认值 描述
MLFLOW_TRACKING_URI http://localhost:5000 MLflow跟踪服务器的URL

安装(开发)

先决条件

  • Python 3.11+
  • 紫外线
  • MLflow跟踪服务器

设置

git clone https://github.com/yesid-lopez/mlflow-mcp-server.git
cd mlflow-mcp-server
uv sync

本地运行

export MLFLOW_TRACKING_URI="http://localhost:5000"
uv run -m mlflow_mcp_server

服务器通过以下方式进行通信 标准,这是本地工具服务器的标准MCP传输。

项目结构

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

添加新工具

  1. 在相应的文件中创建一个函数 tools/.
  2. 在中注册 server.py:
from mlflow_mcp_server.tools.your_module import your_function
mcp.add_tool(your_function)

代码检查

uv run ruff check .
uv run ruff format --check .

许可证

麻省理工学院