List users
retrieveUserListList users - List and filter all your users.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| No | |||
| owner | No | ||
| enabled | No | ||
| orderBy | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
retrieveUserListList users - List and filter all your users.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| No | |||
| owner | No | ||
| enabled | No | ||
| orderBy | No | ||
| x-trace-id | No | ||
| x-request-id | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Input schema / properties / x-hapi-auth-stateRemoved value: -{
- "type": "string"
-}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Read-only is already declared via annotations (readOnlyHint=true, destructiveHint=false). The description adds the scope 'all your users' and mentions filtering, but does not disclose pagination behavior or response format. This is consistent with annotations and adds minor context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but repetitive: 'List users' restates the title, and 'List and filter all your users' is only slightly more informative. It could be condensed into a single phrase without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters, no output schema, and a minimal description. It does not explain pagination (page/size), ordering, or what fields can be filtered, leaving the agent to infer these from parameter names. For a list operation, more detail about the response shape and filtering behavior is expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should compensate, but it only says 'filter' without specifying the filterable fields (email, owner, enabled). The parameter names provide some hint, but the description adds no direct semantic value for the 8 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: to list users, with the added detail of filtering. It distinguishes from the singular 'retrieveUser' sibling by focusing on the plural collection. However, it could be more explicit about whether it returns a paginated list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing/filtering users, but it does not explicitly contrast with alternatives like retrieveUser (single user) or other list tools. No exclusions or alternative tool references are given, leaving the choice to the agent's inference from the name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Many tools have clearly distinct CRUD roles per resource, but there are several confusing overlaps: start/stop/restart/shutdown/rescue are similar lifecycle actions, and there are duplicate audit tools like retrieveImageAuditsList and retrieveImageAuditsList1 (one even mislabeled as DNS Zones audit). Additionally, retrieveTagAuditsList appears to duplicate retrieveAssignmentsAuditsList, and updateDnsZoneRecord incorrectly says 'Create resource record'. These overlaps and mislabeled descriptions make it hard to pick the right tool.
The naming is a mix of camelCase verb_noun patterns, but inconsistent. Some tools use 'retrieveXList' while others use 'listX', some use 'Cancel' with a capital letter, and 'tool_search' uses snake_case. Numeric suffixes like 'retrieveImageAuditsList1' and verbs like 'patchInstance' instead of 'updateInstance' further break consistency.
With 124 tools, this is an extremely large tool surface for an MCP server. Even for a broad cloud provider API, this overwhelms an agent's context and selection capabilities. The number far exceeds reasonable scoping and creates unnecessary selection overhead.
The tool set covers a wide range of resources thoroughly: instances, snapshots, images, private networks, object storage, DNS, domains, tags, roles, users, secrets, and audits. Most resources have create/retrieve/update/delete lifecycle operations, and there are extensive audit history tools. Minor gaps exist (e.g., no explicit instance deletion besides cancel, no separate firewall management beyond upgradeInstance), but overall the surface is quite complete for its domain.