Skip to main content
Glama
Red Hat Lightspeed MCP

Red Hat Lightspeed MCP

Official

ocp-advisor__get_upgrade_risk

Read-only

Predicts OpenShift cluster upgrade risk from known cluster UUIDs, returning assessment status and risk factors so you can distinguish real risk results from unavailable data.

Instructions

Get upgrade-risk predictions for one or more OpenShift clusters.

🟢 CALL IMMEDIATELY when cluster UUIDs are already known.

Uses Insights Results Aggregator v2 POST /upgrade-risks-prediction with body {"clusters": [...]}. Each item includes cluster_id, prediction_status, and when status is ok also upgrade_recommended, upgrade_risks_predictors, and optionally last_checked_at.

Only prediction_status: "ok" is a real assessment. Other statuses (for example "No data for the cluster") mean unavailable data — distinct from an explicit no-risk prediction (upgrade_recommended: true / empty predictors). Do not treat unavailable data as upgrade safety. HTTP 400/403/5xx are raised as errors.

Input Schema

NameRequiredDescriptionDefault
cluster_idsYesOpenShift cluster UUIDs (1-100). Take them from list_clusters or from the user. Pass a one-element list for a single cluster.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.0.29

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true is consistent with a read operation, and the description adds substantial context beyond it: the underlying aggregator endpoint and request body, per-item response fields, error behavior for 400/403/5xx. Most importantly it explains the semantic trap that only prediction_status 'ok' is a real assessment and must not be read as upgrade safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and the call trigger, then layered detail (endpoint, response shape, status interpretation, errors). Every sentence carries actionable information; nothing is padding, despite the heavy formatting.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool this covers what an agent needs: when to call, where IDs come from, how to read each status value, and what failures look like. An output schema exists, yet the interpretation guidance on statuses remains necessary and non-redundant.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100% — the single parameter documents the 1-100 UUID range and that a one-element list serves a single cluster. The description only echoes the request body shape, adding no new syntax or meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get upgrade-risk predictions') and scopes it to 'one or more OpenShift clusters'. The 'CALL IMMEDIATELY when cluster UUIDs are already known' clause implicitly separates it from list_clusters, which is where UUIDs come from, so an agent can pick it without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger condition ('when cluster UUIDs are already known') and, in the schema-adjacent text, points to list_clusters as the source for missing IDs. There is no explicit when-not or exclusion statement, but the alternative path is clearly implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.