New & Experimental - MCP support is a new feature. Please report any issues to support@trainy.ai or on Discord.
Model Context Protocol (MCP) Integration
The Pluto MCP server allows AI coding assistants to directly query your ML experiment data. This enables powerful workflows like:- Asking your AI assistant to analyze training runs and identify issues
- Comparing metrics across experiments in natural language
- Debugging failed runs by querying logs and metrics
- Getting insights about your ML experiments without leaving your editor
What is MCP?
The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely access external data sources. With Plutoâs MCP server, tools like Claude Code can directly query your experiment data, metrics, and logs.Setup with Claude Code
Prerequisites
- A Pluto account with an API key (get one here)
- Claude Code CLI installed
Step 1: Get Your API Key
- Go to pluto.trainy.ai and sign in
- Navigate to Settings > Developers > API Keys
- Create a new API key and copy it
Step 2: Configure Claude Code
Run the following command to add the Pluto MCP server:mlps_xxxxxxxxxx with the API key you copied in Step 1.
Alternative: Manual Configuration
Alternative: Manual Configuration
You can also manually edit the MCP settings file at If the file doesnât exist, create it. Make sure the JSON is valid - you can verify with
~/.claude/mcp_settings.json:cat ~/.claude/mcp_settings.json | jq .Step 3: Restart Claude Code
After saving the configuration, restart Claude Code for the changes to take effect:Available Tools
Once connected, the following tools become available to your AI assistant.Projects, runs, and data
Comparing and ranking
Charts
Editing runs
Dashboards
Widgets the assistant creates can carry a description (up to 500 characters) of what the panel shows and what healthy looks like, for example âShould fall smoothly; a plateau means the learning rate is too low.â
read_dashboard repeats it next to the panel, so a later reader gets the authorâs intent as well as the curve.
Reading a dashboard
read_dashboard takes a dashboard and a set of runs and reads every panel at once. Dynamic sections are expanded against the projectâs real metric names. Reading 50 per-layer gradient-norm panels takes one call rather than 50. Choose how much to return with detail:
Every response states its coverage (for example
panels 1-20 of 47), so a partial read is never mistaken for the whole dashboard. A panel that canât be read, such as one whose metric was renamed, reports the problem at its own position without affecting the others. Each panel prints a key= token that render_panels accepts, and it keeps pointing at the same panel after the dashboard is edited. Python panels come back as their source code, never as an image.
âRead the Optimizer Debug dashboard for runs MCR-1 and MCR-2 â do any layersâ gradient norms look wrong?â
Filtering by config and system metadata
list_runs accepts a config_filter that filters server-side on any field in a runâs config or captured environment. The simplest form is a plain string, <key> <operator> <value>:
systemMetadata. to target the captured environment (GPU model, CUDA version, git branch, hostname, âŚ) instead.
Supported operators: contains, does not contain, is, is not, starts with, ends with, regex, >, <, >=, <=.
Pass a list of conditions to require all of them â conditions always AND together, there is no OR:
config_filter reaches config.* and systemMetadata.* only. To filter on metric values (summaryMetrics.*), use the filters query language instead.Querying a step range
query_metrics and visualize_metrics accept step_min and step_max (inclusive) to scope a query to a window of steps â handy for zeroing in on a loss spike or an anomaly rather than pulling the whole series:
âPlot train/loss between steps 4000 and 4500 for run MMP-42â
Example Prompts
Once configured, you can interact with your Pluto data naturally through your AI assistant: List your projects:âWhat ML projects do I have in Pluto?âFind recent runs:
âShow me the last 5 training runs in the gpt-finetuning projectâAnalyze a run:
âWhat was the final loss for run 1234? Did it converge?âCompare experiments:
âCompare the train/loss between runs 100, 101, and 102 - which performed best?âDebug failures:
âShow me the error logs from run 456 - why did it fail?âBuild a dashboard:
âSuggest a dashboard for my-project, then save it as Training OverviewâGet insights:
âAre there any anomalies in the metrics for my latest run?â
Claude Code Web
To make the pluto MCP available to your Claude Code web UI and cloud agents, visit: https://claude.ai/settings/connectors?modal=add-custom-connector From here you can enter the following information for the Pluto MCP server:- Name: Pluto
- Remote MCP Server URL: https://pluto-mcp.trainy.ai/mcp

Feedback
MCP integration is experimental. Weâd love to hear your feedback:- Discord: Join our community
- Email: support@trainy.ai