chore(docs): katib (optimizer) client support for kubeflow-mcp-server (kep#34)#48
chore(docs): katib (optimizer) client support for kubeflow-mcp-server (kep#34)#48Krishna-kg732 wants to merge 3 commits into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Signed-off-by: Krishna Gupta <Krishnagupta.kg2k6@gmail.com>
6eef165 to
06df563
Compare
There was a problem hiding this comment.
Pull request overview
Adds a new KEP document proposing Katib (Optimizer) client support in kubeflow-mcp-server, describing the planned MCP tool surface, module structure, personas, and testing approach for integrating hyperparameter optimization workflows alongside the existing Trainer client.
Changes:
- Introduces KEP#0001 describing the Optimizer client scope (17 tools across Planning/Optimization/Discovery/Monitoring/Lifecycle).
- Documents proposed module layout, tool phase grouping, persona access, and cross-client workflow (
train -> tune -> retrain). - Outlines compatibility assumptions, risks/mitigations, and a unit/integration testing plan.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Thanks @Krishna-kg732 for working on this, the KEP is very well-structured !! |
|
@Krishna-kg732 can you resolve/address copilot's reviews too ? |
|
@andreyvelich @aniket2405 @szaher |
Signed-off-by: Krishna Gupta <Krishnagupta.kg2k6@gmail.com>
1c0a9e8 to
8556599
Compare
|
|
||
| | Component | Version | Notes | | ||
| |-----------|---------|-------| | ||
| | `kubeflow` (unified SDK) | >= 0.4.0 | Provides `kubeflow.katib.KatibClient` | |
There was a problem hiding this comment.
Should this be pointing to Kubeflow-SDK's OptimizerClient instead of legacy one ?
| The following table shows the 1:1 mapping between `KatibClient` SDK methods and | ||
| the MCP tools that wrap them: | ||
|
|
||
| | SDK Method (`KatibClient`) | MCP Tool | Notes | |
There was a problem hiding this comment.
| | SDK Method (`KatibClient`) | MCP Tool | Notes | | |
| | SDK Method (`OptimizerClient`) | MCP Tool | Notes | |
??
|
|
||
| | SDK Method (`KatibClient`) | MCP Tool | Notes | | ||
| |---------------------------|----------|-------| | ||
| | `create_experiment()` | `create_hpo_experiment` | Flat-param decomposition; also used by `create_experiment_from_spec` | |
There was a problem hiding this comment.
same here ..
the methods list also needs updating to reflect OptimizerClient's API, can you check ?
Signed-off-by: Krishna Gupta <Krishnagupta.kg2k6@gmail.com>
Summary
This KEP proposes implementing the Optimizer client module for
kubeflow-mcp-server, exposing Katib's Experiment, Trial, and Suggestionlifecycle as 17 MCP tools across 5 categories (Planning, Optimization,
Discovery, Monitoring, Lifecycle).
This implements the "Optimizer (Planned: Phase 2)" node already identified
in the architecture and stub module (
kubeflow_mcp.optimizer), making Katibthe natural second client after TrainerClient — completing the inner loop of
train -> evaluate -> tune -> retrainwithout leaving the MCP interface.Motivation
AI IDEs and orchestrator agents currently have no structured way to:
algorithm status
The existing stub declares 8 planned tools with
status: "stub"and noimplementations.
Goals
Monitoring, and Lifecycle categories
(
create_hpo_experiment/create_experiment_from_spec), following thetrainer's
fine_tune/run_custom_trainingpatternkubeflow.katib.KatibClientas the primary interface, withCustomObjectsApifallback where the SDK lacks coveragelimiting, circuit breaker, namespace enforcement)
install
Non-Goals
get_trial_metrics(), requires gRPC)tune()API (requires Python callables, not MCP-serializable)edit_experiment_budget()— deferredDetails
Full design : module structure, tool tables, persona coverage, SDK
compatibility, cross-client integration with TrainerClient, risks and
mitigations, and the testing plan , is in the KEP doc itself.
Status
open for review and discussion before implementation begins.
Context
#34
cc: @jaiakash , @abhijeet-dhumal , @andreyvelich