模型训练服务

Kubeflow MCP Server 是一个模型上下文协议(MCP)服务器,通过自然语言接口为AI代理提供训练操作,包括发现、训练、监控和生命周期管理工具。

  • by tonystark101-debug
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 tonystark101-debug/kubeflow-mcp

使用说明

Kubeflow MCP服务器(第一阶段-培训客户端)

该项目实施 第一阶段 KEP-936:模型上下文协议(MCP)服务器 这包裹了 Kubeflow训练器SDK (kubeflow.trainer.TrainerClient)并暴露 通过工具对AI代理(Claude、Cursor等)进行训练操作。

MCP服务器:

  • 不 重新实施训练逻辑
  • 是否 导入和包装现有SDK类型: TrainerClient, BuiltinTrainer, CustomTrainer, CustomTrainerContainer等等。
  • 提供:
    • 发现工具(集群+培训工作信息)
    • 培训工具(微调、定制培训、容器作业)
    • 监控工具(日志、状态、事件)
    • 生命周期工具(删除作业)

核心原则:MCP封装SDK并添加自然语言接口。

项目布局

kubeflow-mcp/
├── pyproject.toml              # Package config + dependencies
├── README.md                   # This file
├── src/kubeflow_mcp/
│   ├── __init__.py
│   ├── server.py               # FastMCP server entrypoint
│   └── tools/
│       ├── __init__.py
│       ├── discovery.py        # 7 discovery tools
│       ├── training.py         # 3 training tools
│       ├── monitoring.py       # 3 monitoring tools
│       └── lifecycle.py        # 1 lifecycle tool
└── tests/
    ├── conftest.py
    ├── test_discovery.py
    ├── test_training.py
    ├── test_monitoring.py
    └── test_lifecycle.py

依赖项

  • Python 3.9+
  • kubeflow 软件开发工具包 >=0.3.0
  • mcp >=1.0.0
  • kubernetes Python客户端 >=28.0.0

安装以进行开发:

cd kubeflow-mcp
pip install -e ".[dev]"

MCP服务器

主MCP服务器在中定义 src/kubeflow_mcp/server.py 并使用 FastMCP 从 mcp 包裹。它注册了来自的所有工具 kubeflow_mcp.tools.

MCP客户端(Claude Desktop、Cursor等)可以加载此服务器并调用以下工具:

  • get_cluster_info
  • get_cluster_resources
  • list_training_jobs
  • fine_tune
  • run_custom_training
  • run_container_job
  • get_training_logs
  • delete_job

运行测试

从 kubeflow-mcp 目录:

pytest -q

测试使用 pytest 和 unittest.mock 致:

  • 模拟Kubeflow SDK(TrainerClient培训师等)
  • 模拟Kubernetes Python客户端
  • 验证每个工具:
    • 调用正确的SDK或K8s API
    • 干净利落地处理成功和失败
    • 返回简单的JSON可序列化字典

状态

第一阶段的重点是:

  • ✅ 带发现工具的FastMCP服务器
  • ✅ fine_tune 包裹 BuiltinTrainer (TorchTune)
  • ✅ run_custom_training 包裹 CustomTrainer
  • ✅ run_container_job 包裹 CustomTrainerContainer
  • ✅ 基本监控工具(日志、状态、事件)
  • ✅ 生命周期工具(delete_job)

未来阶段(尚未在此回购中)将包括:

  • 飞行前验证(资源估算、先决条件)
  • 基于策略的访问控制
  • 使用指标跟踪进度
  • OptimizerClient(Katib)集成