Skip to main content
Glama

get_etcd_members

Read-only

Inspect the etcd cluster membership of an Ankra-provisioned cluster (Hetzner, OVH, UpCloud, DigitalOcean, or Scaleway) by running a read-only inspection on one control-plane node over SSH-via-bastion: the member list (hex and decimal ids, names, peer/client URLs, learner flag), each member's health, any active etcd alarms, and a quorum summary (voting members, healthy voters, quorum size, has_quorum plus the quorum_evidence it rests on, and failure_tolerance - healthy voters minus quorum size, floored at 0). failure_tolerance counts only voters observed serving, so it is a conservative lower bound: a voter whose health is unknown does not count towards it (health_unknown_voting_members says how many), and 0 can mean either no margin left or quorum already lost. Member health is three-valued: 'health' is 'serving', 'not_serving', or 'unknown' when no signal was readable at all, in which case 'healthy' is null rather than false - report unknown as unknown, never as down - and 'health_source' names the signal that decided it: 'client_endpoint' (the member's own client endpoint), 'local_health' (this node's own /health, for the member of the node the inspection runs on), 'raft_peer_link' (the local etcd's raft peer link to that member), 'member_list' (the member has no client endpoint because it never started), or 'unavailable' (no signal was readable at all). Use it BEFORE touching a degraded control-plane node, to know the quorum margin; and before remove_etcd_member, to get the member id. Identify the node to run on with node_id (preferred, from list_cluster_nodes) or node_name - it must be a control-plane node, and when one control-plane node is down, pick a HEALTHY peer (the inspection talks to the local etcd of the node it runs on). Runs nothing that changes the cluster. Not available for imported or managed-Kubernetes clusters, nor (yet) Proxmox/HPE Morpheus.

Input Schema

NameRequiredDescriptionDefault
node_idNoUUID of the control-plane node to run the inspection on. Preferred when known (from list_cluster_nodes).
node_nameNoExact name of the control-plane node to run the inspection on. Alternative to node_id.
cluster_idNoUUID of the cluster. Optional when a cluster is selected.
cluster_nameNoExact name of the cluster. Optional when a cluster is selected.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

With only readOnlyHint=true in the annotations, the description carries the burden and delivers: read-only over SSH-via-bastion, 'Runs nothing that changes the cluster', and rich semantics for three-valued health ('unknown' must never be reported as down), health_source signal provenance, and the conservative failure_tolerance lower bound. This is behavioral context well beyond the annotations.

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

Conciseness4/5

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

Purpose and destination are front-loaded, and nearly every clause carries information. The cost is form: one very long run-on sentence with deeply nested parentheticals, which is harder to parse than it needs to be and could be broken into a short summary plus detail.

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?

No output schema exists, so the description must explain the return shape — and it does comprehensively (member ids in hex and decimal, URLs, learner flag, per-member health, alarms, quorum size, quorum_evidence, failure_tolerance, health_unknown_voting_members). Nothing needed to interpret or call the tool 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 coverage is 100%, so the baseline is 3, but the description adds operational meaning: node_id is preferred and sourced from list_cluster_nodes, the node must be a control-plane node, and a healthy peer should be chosen when one control-plane node is down because the inspection talks to that node's local etcd. That last point is real guidance the schema does not carry.

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+resource ('Inspect the etcd cluster membership') and nails down the mechanism (read-only inspection on one control-plane node over SSH-via-bastion) and the exact data returned (member list, health, alarms, quorum summary). It is unmistakable against siblings like remove_etcd_member or list_cluster_nodes.

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

Usage Guidelines5/5

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

Explicit when-to-use: 'BEFORE touching a degraded control-plane node, to know the quorum margin; and before remove_etcd_member, to get the member id.' Adds a selection rule (pick a HEALTHY peer when one control-plane node is down) and explicit exclusions (not for imported or managed-Kubernetes clusters, nor Proxmox/HPE Morpheus).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources