MLflow 自然语言接口 MCP 服务器

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为 LLM 应用提供一个自然的语言接口来操作和查询 MLflow 机器学习平台。它将 MLflow 的核心功能(如模型注册表、实验跟踪)通过标准化的 MCP 工具暴露出来,使得 LLM 客户端可以通过简单的自然语言指令与 MLflow 进行交互。

主要功能点:

  • 自然语言查询 MLflow: 允许用户使用自然语言提问关于 MLflow 跟踪服务器的问题。
  • 模型注册表探索: 可以查询和获取 MLflow 模型注册表中注册模型的信息。
  • 实验跟踪: 可以列出和探索 MLflow 中的实验和运行信息。
  • 系统信息: 可以获取 MLflow 环境的状态和元数据。

安装步骤:

  1. 克隆仓库
    git clone https://github.com/iRahulPandey/mlflowMCPServer.git
    cd mlflowMCPServer
  2. 创建并激活虚拟环境
    python -m venv venv
    source venv/bin/activate   # Linux/macOS
    # venv\Scripts\activate  # Windows
  3. 安装依赖包
    pip install mcp[cli] langchain-mcp-adapters langchain-openai langgraph mlflow
  4. 设置 OpenAI API 密钥 (用于客户端的自然语言处理)
    export OPENAI_API_KEY=your_key_here
  5. (可选) 配置 MLflow Tracking URI (如果 MLflow 服务器不在本地默认端口)
    export MLFLOW_TRACKING_URI=http://your-mlflow-server:8080

服务器配置 (供 MCP 客户端使用):

{
  "serverName": "mlflow",
  "command": "python",
  "args": ["mlflow_server.py"]
}
  • 'serverName': MCP 服务器的名称,客户端用此名称来标识和连接。这里设置为 "mlflow"。
  • 'command': 启动 MCP 服务器的命令。这里使用 'python' 命令来运行 Python 脚本。
  • 'args': 启动命令的参数列表。这里指定运行 'mlflow_server.py' 脚本。

基本使用方法:

  1. 启动 MCP 服务器 打开终端,进入仓库目录,运行以下命令启动 MLflow MCP 服务器:

    python mlflow_server.py

    服务器成功启动后,会连接到 MLflow tracking server,并等待客户端连接。

  2. 使用 MCP 客户端进行自然语言查询 在另一个终端窗口,同样进入仓库目录,可以使用 'mlflow_client.py' 脚本进行查询。例如,查询 MLflow 中注册的模型:

    python mlflow_client.py "What models do I have registered in MLflow?"

    客户端会将自然语言查询发送给 LLM 进行处理,然后通过 MCP 协议与 MCP 服务器交互,获取 MLflow 信息,并最终返回自然语言的答案。

    更多示例查询:

    • 'python mlflow_client.py "Show me all registered models in MLflow"'
    • 'python mlflow_client.py "List all my experiments"'
    • 'python mlflow_client.py "Get details for the model named 'iris-classifier'"'
    • 'python mlflow_client.py "What's the status of my MLflow server?"'

注意:

  • 确保已安装 MLflow 并运行 MLflow tracking server。
  • 客户端需要配置 OpenAI API 密钥才能使用自然语言处理功能。
  • 可以通过环境变量配置 MLflow Tracking URI、OpenAI 模型名称等。

信息

分类

开发者工具