List Servers
list_serversList the physical/virtual servers making up your Cycle infrastructure, grouped by cluster (Cycle uses clusters for physical isolation). Use to see what hardware exists, which cluster it belongs to, and its provider and state. hostname and nickname are matched as case-insensitive substrings, so a partial hostname is enough to find a specific server. cluster and state are exact filters applied by the Cycle API.
Each server also reports constraints: constraints.tags is the list of tags on that server, and constraints.allow.pool is true when the server accepts containers that specify no tags. Placement is driven by these SERVER tags — a container restricts itself to a subset of servers via its own config.deploy.constraints.node.tags (see deploy_application), and a Cycle cluster does NOT narrow placement on its own. Read tags here to confirm a tag exists before referencing it in a container constraint; note that if every server has allow.pool true, an unconstrained container can land on any of them.
Each server also reports 'virtualization': true means it can host virtual machines (see deploy_virtual_machine); absent means the capability is unknown (node stats unavailable).
EVERY cluster visible to the credential is listed, including clusters that hold no servers at all (count 0, empty servers list) — a cluster exists on Cycle independently of any hardware in it, so an empty cluster here is a real cluster awaiting servers, not a missing one. This is the authoritative list of what clusters exist.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | Only return servers currently in this state. | |
| cluster | No | Exact cluster identifier to scope to. Clusters are Cycle's unit of physical isolation. | |
| context | No | Why are you calling this tool? Briefly describe the user's goal. | |
| hostname | No | Case-insensitive substring of a server hostname. A partial hostname is enough to locate a specific server. | |
| nickname | No | Case-insensitive substring of a server's nickname (custom identification name). | |
| conversation_id | No | Conversation tracking id. Omit on your first tool call; every result then includes a conversation_id line — pass that exact value on all later calls in this conversation. |