Skip to main content
Glama
AIops-tools

io.github.AIops-tools/ceph-aiops

cluster_health

Read-only

Check Ceph cluster health first on any unhealthy alert. Decodes HEALTH_WARN/ERR check codes into plain-language causes and suggested actions per active check.

Instructions

[READ] HEALTH status with a plain-language cause + suggested action per active check.

Call this first on any "the cluster is unhealthy" question — it decodes raw HEALTH_WARN/ERR check codes (PG_DEGRADED, OSD_NEARFULL, …) into what's wrong and what to do next.

Args: target: Ceph target name from config; omit for the default.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.11.5
  2. Removedv0.3.0
  3. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

The readOnlyHint annotation already establishes the safety profile, and the description reinforces it with a [READ] tag rather than contradicting it. It adds genuine behavioral context beyond the annotation by describing the response shape (per-check cause plus suggested action), though it says nothing about permissions, result size, or failure modes.

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?

Tightly front-loaded: the operation and the call-first guidance come before the argument note, and every clause adds new information (decoding behavior, example codes, default target). No filler.

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-optional-parameter read tool with no output schema, the description supplies everything needed: what it reads, when to call it, what the return contains, and how the one argument behaves. Annotations cover safety, so nothing material is missing.

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

Parameters4/5

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

Schema description coverage is 0% and there is one parameter, so the description carries the burden: it explains that 'target' is a Ceph target name from config and that omitting it uses the default. That fully covers the single parameter's meaning and default value, though it does not say how to discover valid target names.

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 (read HEALTH status) plus a distinctive value-add: it decodes raw HEALTH_WARN/ERR check codes like PG_DEGRADED and OSD_NEARFULL into a plain-language cause and suggested action. That decoding behavior separates it from generic siblings such as cluster_status, mon_status, and osd_tree, so an agent can pick it without opening any 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: 'Call this first on any "the cluster is unhealthy" question.' This is a clear entry-point instruction, but it names no alternatives and gives no when-not guidance (e.g., when to prefer mon_status or osd_tree for deeper diagnosis), which keeps it below the top band.

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