关于 MLflow MCP Server: Natural Language Interface for MLflow
MLflow MCP Server 为查询 MLflow 跟踪服务提供自然语言接口,适合探索实验和已注册模型。项目包含 MCP 服务和对话式客户端,并通过工具提供有限范围的 MLflow 信息。
主要功能
- 01以自然语言查询 MLflow
- 02列出已注册模型
- 03查看实验与运行记录
- 04获取模型详情
- 05查看服务和系统信息
适用场景
- 01通过提问查看已注册模型
- 02检查 MLflow 实验和运行记录
- 03查询指定模型的详情
- 04查看 MLflow 服务状态
MCP 相关
MCP 服务连接 MLflow 跟踪服务,并开放模型、实验、模型详情和系统信息等工具。独立客户端可向该服务发送自然语言查询。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MLflow MCP 服务:MLflow 的自然语言界面
本项目通过模型上下文协议(MCP)为 MLflow 提供自然语言界面。你可以使用通俗的英语查询 MLflow 跟踪服务,从而更轻松地管理和探索机器学习实验及模型。
概览
MLflow MCP Agent 包含两个主要组件:
-
MLflow MCP 服务(
mlflow_server.py):连接到你的 MLflow 跟踪服务,并通过模型上下文协议(MCP)提供 MLflow 功能。 -
MLflow MCP 客户端(
mlflow_client.py):通过对话式 AI 助手提供自然语言界面,以便与 MLflow MCP 服务交互。
功能
- 自然语言查询:使用通俗的英语询问有关 MLflow 跟踪服务的问题
- 模型注册表探索:获取有关已注册模型的信息
- 实验跟踪:列出并探索你的实验和运行
- 系统信息:获取 MLflow 环境的状态和元数据
先决条件
- Python 3.8+
- 正在运行的 MLflow 服务(默认:
http://localhost:8080) - 用于大模型的 OpenAI API 密钥
安装
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 MLflow 自然语言界面服务:
npx -y @smithery/cli install @iRahulPandey/mlflowMCPServer --client claude
手动安装
-
克隆此仓库:
git clone https://github.com/iRahulPandey/mlflowMCPServer.git cd mlflowMCPServer -
创建虚拟环境:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
安装所需的软件包:
pip install mcp[cli] langchain-mcp-adapters langchain-openai langgraph mlflow -
设置 OpenAI API 密钥:
export OPENAI_API_KEY=your_key_here -
(可选)配置 MLflow 跟踪服务 URI:
export MLFLOW_TRACKING_URI=http://localhost:8080
使用方法
启动 MCP 服务
首先,启动 MLflow MCP 服务:
python mlflow_server.py
该服务会连接到你的 MLflow 跟踪服务,并通过 MCP 提供 MLflow 功能。
发起查询
服务运行后,你可以使用客户端发起自然语言查询:
python mlflow_client.py "What models do I have registered in 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 提供以下工具:
list_models:列出 MLflow 模型注册表中的所有已注册模型list_experiments:列出 MLflow 跟踪服务中的所有实验get_model_details:获取特定已注册模型的详细信息get_system_info:获取有关 MLflow 跟踪服务和系统的信息
限制
- 目前仅支持 MLflow 的部分功能
- 客户端需要访问互联网才能使用 OpenAI 模型
- 对于复杂的 MLflow 操作,错误处理能力可能有限
后续改进
- 添加对 MLflow 模型预测的支持
- 改进自然语言理解,以处理更复杂的查询
- 添加指标和参数的可视化功能
- 支持更多 MLflow 操作,例如运行管理和制品处理
致谢
- 模型上下文协议(MCP):提供协议规范
- LangChain:提供 Agent 框架
- MLflow:提供跟踪和模型注册表功能
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。