Skip to content

feat: add core MCP server, TrainerClient tools, and unit tests#2

Open
abhijeet-dhumal wants to merge 12 commits intokubeflow:mainfrom
abhijeet-dhumal:feat/trainer-mcp-tools
Open

feat: add core MCP server, TrainerClient tools, and unit tests#2
abhijeet-dhumal wants to merge 12 commits intokubeflow:mainfrom
abhijeet-dhumal:feat/trainer-mcp-tools

Conversation

@abhijeet-dhumal
Copy link
Copy Markdown
Member

@abhijeet-dhumal abhijeet-dhumal commented Apr 9, 2026

Implements the full MCP server infrastructure, all TrainerClient-backed tools, Claude Code plugin, dynamic tool modes, benchmark suite, and project documentation per KEP-936.

What's included

  • Core MCP server with tool registration and persona-based access control (readonly, data-scientist, ml-engineer, platform-admin)
  • Config, resilience (circuit breaker, rate limiter, retry), security, and structured audit logging layers
  • 16 TrainerClient MCP tools + 2 health tools: discovery, lifecycle, monitoring, planning, training submission (fine-tune, custom script, container image)
  • 5 MCP prompts (fine-tuning, custom training, troubleshooting, resource planning, monitoring) and 4 MCP resources
  • Per-tool RBAC policy engine with namespace-scoping, training parameter bounds, and heuristic script safety scanning
  • SDK contract tests to keep MCP tool args aligned with SDK method signatures
  • Token-efficient dynamic tool modes (--mode progressive, --mode semantic) to reduce LLM context window overhead
  • Claude Code plugin (plugin.json, .mcp.json) with 5 workflow skills
  • Benchmark suite: token-usage budgets, CPU/memory profiling, latency P50/P95/P99, and visual graphs
  • ROADMAP.md with phased delivery plan through GA
  • SECURITY.md with trust model and hardening checklist
benchmark_report_latest

@google-oss-prow
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from abhijeet-dhumal. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@abhijeet-dhumal abhijeet-dhumal force-pushed the feat/trainer-mcp-tools branch 2 times, most recently from 7013e56 to 08213ed Compare April 9, 2026 13:44
@abhijeet-dhumal abhijeet-dhumal force-pushed the feat/trainer-mcp-tools branch 2 times, most recently from d069607 to f418eb1 Compare April 9, 2026 16:33
@abhijeet-dhumal abhijeet-dhumal force-pushed the feat/trainer-mcp-tools branch 2 times, most recently from 9cdc9fd to db75fd1 Compare April 9, 2026 17:17
@abhijeet-dhumal abhijeet-dhumal marked this pull request as ready for review April 13, 2026 13:35
@google-oss-prow google-oss-prow Bot requested a review from astefanutti April 13, 2026 13:35
@abhijeet-dhumal abhijeet-dhumal marked this pull request as draft April 15, 2026 13:36
@abhijeet-dhumal abhijeet-dhumal force-pushed the feat/trainer-mcp-tools branch from db75fd1 to 470812d Compare April 17, 2026 18:15
@abhijeet-dhumal abhijeet-dhumal marked this pull request as ready for review April 17, 2026 18:15
@abhijeet-dhumal abhijeet-dhumal changed the title Add core MCP server, TrainerClient tools, and unit tests feat: Add core MCP server, TrainerClient tools, and unit tests Apr 17, 2026
@abhijeet-dhumal abhijeet-dhumal changed the title feat: Add core MCP server, TrainerClient tools, and unit tests feat: add core MCP server, TrainerClient tools, and unit tests Apr 17, 2026
Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
@abhijeet-dhumal abhijeet-dhumal force-pushed the feat/trainer-mcp-tools branch from 470812d to 40fce0e Compare April 17, 2026 18:24
Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
@abhijeet-dhumal
Copy link
Copy Markdown
Member Author

abhijeet-dhumal commented Apr 18, 2026

Hey @andreyvelich @astefanutti @kramaranya @szaher @Electronic-Waste - the 2nd onboarding phase is ready for review now 🏁
Would appreciate a review when you get a chance 🙏

…failure hints, and contract tests

Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
…ith --mode CLI flag

Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
… configs

Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
…isual dashboard

Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
@abhijeet-dhumal abhijeet-dhumal force-pushed the feat/trainer-mcp-tools branch from 4db9623 to fa2b656 Compare April 18, 2026 22:10
Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
…nput bounds, and safer defaults

Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant