Back to MCP directory
publicPublicdnsLocal runtime

mlflowMCPServer

该项目通过Model Context Protocol (MCP)为MLflow提供自然语言交互界面,使用户能用英语查询和管理机器学习实验与模型,包含服务端和客户端组件。

article

README

🚀 MLflow MCP 服务器:自然语言接口的机器学习流程

本项目借助模型上下文协议(MCP),为访问 MLflow 提供了自然语言接口。您可以使用简单的英语对 MLflow 跟踪服务器进行查询,从而更便捷地管理和探索机器学习实验与模型。

🚀 快速开始

MLflow MCP 代理包含两个主要组件:

  1. MLflow MCP 服务器 (mlflow_server.py):连接您的 MLflow 跟踪服务器,通过模型上下文协议(MCP)公开 MLflow 功能。
  2. MLflow MCP 客户端 (mlflow_client.py):提供自然语言接口,借助对话式 AI 助手与 MLflow MCP 服务器交互。

✨ 主要特性

  • 自然语言查询:用简单英语对 MLflow 跟踪服务器进行提问。
  • 模型注册表探索:获取已注册模型的相关信息。
  • 实验跟踪:列出并探索实验和运行情况。
  • 系统信息:获取 MLflow 环境的状态和元数据。

📦 安装指南

先决条件

  • Python 3.8+
  • 运行中的 MLflow 跟踪服务器(默认:http://localhost:8080
  • 用于大语言模型(LLM)的 OpenAI API 密钥

安装步骤

  1. 克隆此仓库:

    git clone https://github.com/iRahulPandey/mlflowMCPServer.git
    cd mlflowMCPServer
    
  2. 创建虚拟环境:

    python -m venv venv
    source venv/bin/activate  # 在 Windows 上:venv\Scripts\activate
    
  3. 安装所需的包:

    pip install mcp[cli] langchain-mcp-adapters langchain-openai langgraph mlflow
    
  4. 设置您的 OpenAI API 密钥:

    export OPENAI_API_KEY=your_key_here
    
  5. (可选) 配置 MLflow 跟踪服务器 URI:

    export MLFLOW_TRACKING_URI=http://localhost:8080
    

💻 使用示例

基础用法

启动 MCP 服务器

首先,启动 MLflow MCP 服务器:

python mlflow_server.py

该服务器会连接到您的 MLflow 跟踪服务器,并通过 MCP 公开 MLflow 功能。

进行查询

服务器启动后,您可以使用客户端进行自然语言查询:

python mlflow_client.py "您在 MLflow 中注册了哪些模型?"

高级用法

示例查询:

  • "显示所有在 MLflow 中注册的模型"
  • "列出我的所有实验"
  • "获取名为 'iris-classifier' 的模型的详细信息"
  • "我的 MLflow 服务器的状态如何?"

📚 详细文档

配置

您可以使用环境变量自定义行为: | 属性 | 详情 | |------|------| | MLFLOW_TRACKING_URI | 您的 MLflow 跟踪服务器 URI(默认:http://localhost:8080) | | OPENAI_API_KEY | 您的 OpenAI API 密钥 | | MODEL_NAME | 要使用的 OpenAI 模型(默认:gpt-3.5-turbo-0125) | | MLFLOW_SERVER_SCRIPT | MLflow MCP 服务器脚本的路径(默认:mlflow_server.py) | | LOG_LEVEL | 日志级别(默认:INFO) |

MLflow MCP 服务器 (mlflow_server.py)

该服务器连接到您的 MLflow 跟踪服务器,并通过 MCP 公开以下功能:

  • /api/v1/predict:处理预测请求
  • /api/v1/models:列出所有注册的模型

要使用这些 API,请将请求发送到 http://localhost:5000,因为服务器在端口 5000 上运行。

限制

当前版本仅支持以下功能:

  • 列出注册的模型
  • 执行预测

不支持以下操作:

  • 模型上传
  • 模型版本控制
  • 实验跟踪

🔧 技术细节

如果遇到任何问题,请提交到 GitHub 仓库

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client