Skip to main content
Glama

List Pterodactyl servers

ptero_list_servers
Read-onlyIdempotent

List game servers accessible by your Pterodactyl API key, showing identifiers, node, allocation, and resource limits. Use it to get a server ID for other tools; supports pagination via 'page'.

Instructions

List the game servers this Pterodactyl API key can access, with their short identifiers, node, primary allocation and resource limits.

Use this first when you do not already know a server identifier, or when a call fails with "not found" — every other ptero_* tool takes that identifier as its server argument.

This does NOT report whether a server is running: status here is the panel lifecycle field (installing/suspended/etc.) and is null for a normal server whether it is up or down. Call ptero_get_server_resources for the live power state.

Results are paginated by the panel (50 per page). Pass page to fetch further pages; has_more tells you whether any remain.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number. Omit for the first page.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoCurrent page number.
countYesNumber of servers on this page.
totalNoTotal servers across all pages, when the panel reports it.
serversYesServers this API key can access, for the requested page.
has_moreYesTrue when further pages exist; request them with `page`.
total_pagesNoTotal number of pages.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, and the description does not contradict them. It adds valuable non-obvious context: the `status` field is the panel lifecycle field, not a running indicator, and is null for normal servers regardless of power state. It also discloses 50-per-page pagination and the meaning of `has_more`.

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?

The description is compact and front-loaded, with each paragraph serving a distinct purpose: scope, usage cue, status caveat, and pagination. There is no filler, repetition, or unnecessary detail, making it easy for an agent to parse and apply.

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 read-only, one-parameter list tool with an output schema and complete annotations, the description covers everything the agent needs: what is returned, when to call it, how to paginate, and what `status` does and does not mean. No critical behavioral or usage detail 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 100%, so the baseline is 3 because the only parameter `page` is already documented in the schema. The description adds extra actionable value by explaining that pagination is 50 per page, that `page` fetches further pages, and that `has_more` signals remaining results, going beyond the schema's basic parameter definition.

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?

The description opens with a specific verb and resource: 'List the game servers this Pterodactyl API key can access,' and names the returned fields: short identifiers, node, primary allocation, and resource limits. It is clearly distinguishable from ptero_get_server and ptero_get_server_resources because it is explicitly about listing all accessible servers rather than fetching one resource or live power state.

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?

The description gives explicit when-to-use guidance: 'Use this first when you do not already know a server identifier, or when a call fails with "not found"' and notes that every other ptero_* tool requires that identifier. It also directs the agent to ptero_get_server_resources when live power state is needed, providing a clear alternative.

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