calagopus-mcp
Server Quality Checklist
Latest release: v0.2.0
- Disambiguation5/5
Every tool targets a specific resource/action pair; even similar names such as get_database_agent_host and get_database_agent_host_resource are clearly separated by the resource versus resource-facet distinction. With 36 tools, there is no pair that appears to duplicate another.
Naming Consistency4/5Tool names overwhelmingly follow a consistent calagopus_ + verb + noun pattern (list_*, get_*). A few exceptions—calagopus_panel_info, calagopus_search, and calagopus_get—break the verb-noun pattern, but they are minor and the overall convention is predictable.
Tool Count2/536 tools is above the 25-tool threshold for a focused tool set. While the Calagopus domain is broad, the large number of narrow getters and listers makes the surface heavy and more likely to confuse an agent, even though each tool individually seems justified.
Completeness4/5The read-only surface covers most of the panel domain: users, servers, nodes, eggs, locations, mounts, OAuth, roles, activity, backups, and database infrastructure. The raw GET escape hatch plus OpenAPI discovery helps cover edge cases, though a few single-resource getters such as get_mount or get_nest are missing, and there are no mutations by design.
Average 4.2/5 across 36 of 36 tools scored. Lowest: 3.4/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint and destructiveHint annotations already establish that this operation is safe. The description adds 'scheduled panel-wide' context but no further behavioral caveats or side-effect disclosures, so it meets the baseline with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no filler or redundant wording. It front-loads the core action and resource and adds the key target details efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with fully documented parameters and safety annotations, the description is sufficient. It could mention output shape or pagination behavior, but those are not necessary given the list context and parameter names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have descriptions in the schema, so the description does not need to repeat them. It adds no additional parameter context beyond the schema, giving the baseline for full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'scheduled panel-wide backup policies' with target composition. However, it does not explicitly distinguish this from the similarly named sibling 'list_backup_configurations', so it is not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus the closely related 'list_backup_configurations' or other list tools. The description only states what it does, not when it should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds genuine behavioral context beyond the annotations: the credential redaction behavior gated on CALAGOPUS_ALLOW_SECRETS, and the permission requirement (database-hosts.read). With readOnlyHint=true and destructiveHint=false already declaring the safety profile, the description contributes additional value about secrets handling and auth rather than repeating 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, each earning its place: purpose, credential-redaction caveat, and permission requirement. Purpose is front-loaded first. Zero filler or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a filtered, paginated list tool: annotations carry the read-only safety profile, the schema documents all parameters (including the large-record warning on detail), and the description covers purpose, redaction behavior, and auth. A return-format description would be nice but is not critical given no output schema exists and the described fields (type, host/port, state) imply the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all four parameters (page, detail, search, per_page) with defaults, ranges, and the size warning on detail. The description adds no param-level semantics beyond what the schema provides; it references 'type, public host/port and deployment state' which pertains to output, not inputs. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb (List) and resource (external database servers the panel hands out user databases on), plus the fields returned: type, public host/port, deployment state. The 'external' qualifier and 'database servers' framing distinguish it from the agent-host sibling (list_database_agent_hosts) and the singular get_database_host, though it doesn't name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'external database servers the panel hands out user databases on' phrasing implies this is for externally-facing hosts versus agent hosts, but no explicit when-to-use/when-not-to-use or named alternative is given. The sibling calagopus_list_database_agent_hosts is the natural alternative and is never mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds the behavioral detail that locations inherit backup configurations, but does not elaborate on pagination, output size, or other runtime behavior beyond what the schema already documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the primary action and includes a valuable detail. No filler or redundancy, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with no output schema, the description adequately conveys what is returned (locations and their inherited backup configs). Pagination and detail options are documented in the schema. The description is complete enough for an agent to call it correctly, though it could mention typical response size or note that 'full' detail can be large.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (page, detail, search, per_page) are already fully described. The description adds minimal extra meaning beyond clarifying that locations carry backup configs, which is implicit in the 'detail' parameter anyway.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists locations and adds the specific detail that each includes its inherited backup configuration. This distinguishes it from sibling list tools like calagopus_list_nodes and calagopus_list_backup_configurations, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (to get locations with backup configs) but does not explicitly state when to prefer this over alternative tools or provide any exclusions. An agent can infer context but lacks explicit guidance on choosing among the many sibling list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a non-destructive read, and the description reinforces this with 'Fetch'. The reachability caveat is a meaningful behavioral disclosure, but the description does not mention pagination or filtering behavior despite the presence of page, per_page, and search parameters, which could affect how the returned data is consumed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, conveying the tool's purpose, the available resource facets, and the key reachability caveat in just two sentences. There is no redundancy or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a straightforward sub-resource fetch, but it does not explain the relationship to the sibling get_database_agent_host tool or clarify what a typical response contains. Given the lack of an output schema, a bit more context about the response shape or usage scenario would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides solid descriptions for all parameters, and the description adds value by mapping the resource enum values to their human-readable meanings (database instances, remaining capacity, agent config, live system overview/stats). It also clarifies which resource values depend on agent reachability, going slightly beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches one facet of a database agent host and enumerates the available facets (instances, capacity, config, system overview/stats). It is specific and easily distinguished from sibling tools like calagopus_get_database_agent_host, which presumably returns the full host object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful guidance that the instances, capacity, and system facets require the agent to be reachable, which helps set expectations. However, it does not explicitly explain when to choose this tool over calagopus_get_database_agent_host or calagopus_list_database_agent_hosts, leaving the distinction to be inferred from naming and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes that this operation has no side effects. The description adds useful behavioral context by warning that system_* facets require the node to be online, and it makes the live nature of system logs/overview/stats explicit. No side effects or destructive behavior are suggested, consistent with 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that packs the core purpose and the main facet options without redundancy. It front-loads the action and object, lists the facets compactly, and includes the important online requirement without wasting words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what can be fetched and the online requirement for system_* facets, which is useful. However, it does not describe the shape of the response or clarify how pagination-related parameters like page, per_page, and search interact with the different resource types, especially the non-list or live-system facets.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers 100% of parameters with descriptions, including enums for resource and detail, pagination bounds, and search behavior. The tool description mostly restates the resource facet list rather than adding new parameter-level meaning, such as which parameters apply to which facets or how search/per_page behave for different resource types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Fetch') and the object ('one facet of a node'), then enumerates the specific facets available, such as servers, allocations, backups, and system stats. This distinguishes it from the sibling get_node tool, which fetches the whole node.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys that this is for fetching a specific node subresource rather than the full node, and it notes that system_* facets require the node to be online. However, it does not explicitly state when to prefer this over related tools like get_server_resource or get_database_agent_host_resource, leaving some usage inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds the required permission ('database-agent-hosts.read') and the specific fields returned, which are not in annotations. This is complementary behavioral context beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the purpose. The first sentence is slightly wordy with the dash and subordinate clause, but it is still concise and informative. Every sentence contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation with four optional parameters and no output schema, the description provides enough context: what the tool does, what it returns, and the permission needed. It does not need to explain the detail parameter's size trade-off since that is covered in the schema. Overall, it is complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and each parameter already has a clear description (page, detail, search, per_page). The tool description adds no additional parameter semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and a precise resource ('database agent hosts'), and elaborates with a definition that distinguishes these from generic database hosts. It also mentions the output fields (agent URL, memory/disk budget), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context about what these hosts are, implying when this tool is appropriate, but it does not explicitly name alternatives or exclusions. Given the sibling calagopus_list_database_hosts, an explicit contrast would have been valuable, but the context is clear enough to infer the difference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds the permission requirement 'Requires activity.read.' and the ordering 'most recent first', which are useful behavioral disclosures beyond the annotations. It does not contradict 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The core purpose and ordering are front-loaded, followed by optional scoping and permission. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only log tool with 5 parameters fully described in the schema, the description covers the purpose, ordering, permission, and optional scoping. It does not mention the return format or pagination explicitly, but pagination parameters are in the schema and the tool is safe (annotations). A brief note on the paginated list would make it fully complete, but it is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema. The description only mentions the `user` parameter explicitly, but that adds no new semantics beyond the schema's 'Filter to a single user UUID.' Baseline of 3 is appropriate because the schema carries the full semantic load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (get) and resource (panel-wide admin activity log), and notes it is ordered most-recent-first. It distinguishes itself from the sibling get_user_activity by being panel-wide and admin-scoped, so an agent can tell them apart without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context (panel-wide admin audit log) and an optional scoping to one user, but it does not explicitly mention alternatives or when NOT to use this tool (e.g., when a user's own activity log is needed). The context implies the use case, but exclusions are left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint and non-destructive behavior. The description adds no further behavioral details, such as side effects or permissions, but also does not contradict 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that is fully front-loaded with the essential information. There is no unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-item getter, the description is sufficient. It does not need to explain return values since there is no output schema, and the core context is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the parameters are fully documented in the schema. The description does not add additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Fetch' and the resource 'database agent host', and specifies lookup by UUID. It distinguishes from sibling tools like list_database_agent_hosts and get_database_host by its singular, identifier-based nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for fetching a single database agent host by UUID, which is clear context. It does not explicitly mention alternatives or when not to use it, but the name and phrasing provide sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, which fully cover the safety profile. The description adds purpose context but no additional behavioral details such as side effects or permissions, so it meets the lower bar set by 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, tightly packed with relevant purpose and use-case information without any redundant words or boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list operation with well-covered parameters and safety annotations, the description supplies enough context to select and call the tool correctly. No output schema is present, but that is not a deficiency given the simplicity of the resource. It could arguably include an example of the user parameter, but the schema already clarifies it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with clear descriptions for all 5 parameters (user UUID, pagination, detail level, free-text search). Since schema coverage is high, the baseline is 3; the description does not add extra parameter nuance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), the resource (servers), and the scope (owned by one user). It effectively distinguishes this tool from the sibling list_servers (all servers) and get_server (single server) by specifying the user filter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a concrete use case ('what does this customer actually have') and hints at an efficiency benefit over listing all servers. It does not explicitly state when to avoid this tool, but the 'without paging the whole server list' phrasing gives practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states it is a list operation, which aligns with the readOnlyHint and destructiveHint annotations. It does not contradict the annotations, and the list behavior is clear enough; no additional side-effect warnings are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no unnecessary words or repetition. It immediately conveys the tool's purpose without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives enough context to identify the entity being listed, and the schema covers pagination and detail-level parameters. Since there is no output schema, a bit more detail about the returned records could help, but it is not essential for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described, so the description does not need to repeat parameter details. The description adds no extra parameter semantics, keeping it at the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly specifies the action ('List') and the resource ('reusable egg configuration presets'), and distinguishes them from plain eggs by noting these are shared startup/stop/script blocks that eggs can inherit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool returns but does not explicitly say when to prefer it over sibling tools like calagopus_list_eggs or calagopus_get_egg. The distinction is inferable from the wording but not directly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only and non-destructive behavior, and the description adds a meaningful authorization requirement ('Requires nests.read'). It does not contradict the annotations and provides extra context about the required permission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action and resource, then adds a clarifying definition and permission note. Every part contributes useful information without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool, the description is mostly complete: it defines the resource, gives examples, and notes the required permission. It does not describe response shape or pagination behavior, but given the absence of an output schema and the presence of pagination parameters, this is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for parameters is 100%, with each parameter already having a clear description. The tool description does not add additional parameter-level semantics beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'nests', and expands on what nests are ('the groups eggs are organised into') with concrete examples. This makes the tool's purpose unambiguous and distinct from sibling tools like list_eggs or list_nodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool and mentions a prerequisite permission ('Requires nests.read'), but it does not explicitly contrast this with alternative list tools or state when not to use it. The usage guidance is present but largely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says only 'Fetch', and the annotations list readOnlyHint=true, openWorldHint=true, destructiveHint=false, with no contradiction. The description adds modest transparency by framing the operation as read-only retrieval, though it does not detail pagination or error behavior beyond what the schema implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately states the action and scope. It contains no filler or redundant phrasing and front-loads the key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not mention return shape or pagination semantics. The parameter schema covers filtering and pagination details, so the description is adequate for a straightforward fetch operation, but it leaves some contextual details about response behavior implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by enumerating the resource values, which helps map the 'resource' parameter, but it does not provide additional explanation for pagination, filtering, or detail beyond what is already in the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Fetch' and identifies the exact scope: one facet of a server. It enumerates the available facets (allocations, egg variables, backups, etc.), which clearly distinguishes it from sibling tools like get_server that fetch the whole server.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'one facet of a server' communicates that this tool is for sub-resource retrieval rather than full server retrieval, giving implicit usage guidance. It does not explicitly name alternatives or state when not to use it, but the resource enum and sibling context make the intended use reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, and destructiveHint as false, so the safe read-only behavior is covered. The description adds useful detail about what is listed (version and enabled state) but does not disclose ordering, pagination, failure modes, or any other behavioral traits beyond the annotation-provided guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no filler or redundancy. It states the action, the resource, and the relevant output fields in a compact form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter, read-only listing tool, the description is complete. It identifies the target resource and the key fields returned, and since there is no output schema, the description sufficiently conveys what the caller should expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is effectively complete, so there is no parameter information for the description to add. The baseline for zero-parameter tools is 4, and the description does not introduce any parameter-related ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') with a clear resource ('backend extensions installed on the panel') and states the returned information ('version and enabled state'). This makes the tool's purpose immediately identifiable and distinct from the many sibling list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, nor does it mention any sibling tools. However, the zero-parameter read-only nature and the unique 'extensions' resource imply that it is for simple enumeration of installed backend extensions, so usage is clear enough but not explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, non-destructive behavior and open-world semantics. The description adds resource scope but no additional behavioral details such as pagination or result shape; no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no filler, front-loading the verb and object while embedding the relevant attachment targets.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only listing tool with no output schema, the description plus fully annotated parameters is sufficient to call correctly. The open-world annotation and parameter descriptions cover the remaining context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions fully cover all four optional parameters (page, detail, search, per_page) with defaults and constraints. The description contributes domain context but does not need to repeat parameter behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List host-path mounts' and clarifies scope with 'that can be attached to eggs, nodes and servers.' This distinguishes it from other list tools in the sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Description gives clear context for when to use: retrieving available host-path mounts for attachment to eggs, nodes, or servers. It does not explicitly name alternatives, but no sibling tool directly overlaps this purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description's 'Fetch' aligns with that. It adds context about the response contents (location and backup configuration), but does not detail potential side effects or additional behavior beyond what annotations cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, direct, and free of filler. The key information (verb, resource, required identifier, and relevant response details) is packed in without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description gives a reasonable overview of what is returned (location and backup configuration). It could be more explicit about the summary vs. full detail levels and potential error cases, but for a simple single-node fetch it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters (node and detail). The description adds minimal semantic value beyond the schema, mainly confirming 'node' is a UUID and hinting that the response includes location and backup configuration, but it does not elaborate on the summary vs. full distinction beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action ('Fetch'), the resource ('one node'), and the identifier required ('UUID'), distinguishing it from listing tools like calagopus_list_nodes. Also mentions the included related data (location and backup configuration), adding useful specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the condition for use: you need a specific node UUID. It does not explicitly name alternatives or exclusions, but the sibling tools provide enough context that an agent can infer when to use this tool versus list_nodes or get_node_resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, and the description is consistent with a read-only health check. However, the description adds no extra behavioral detail beyond what the annotations provide, such as side effects, freshness guarantees, or access requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the core health components and immediately gives the relevant parameter guidance, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter read-only tool and the absence of an output schema, the description sufficiently explains what the health report contains and how to request per-node detail. It does not describe response structure or error cases, but those are not necessary for basic correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single boolean `nodes` parameter is fully covered by the schema description ('Return per-node health instead of panel-wide health'), and the tool description reinforces it with a concrete usage example. This adds clarity beyond the schema alone, though the schema already covers the meaning well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: reporting system health, specifically NTP clock offsets, database migration status, and per-node reachability. This distinguishes it from sibling tools that target individual nodes or resources by framing it as a system-wide health view with optional per-node detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool and gives actionable guidance for the `nodes` parameter ('Use `nodes: true` for the node-by-node view'). It does not explicitly name alternative tools or state when not to use it, but the health-focused wording makes the intended use obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, and the description's 'Fetch' wording is consistent with a read-only operation. The description does not add behavioral details beyond what annotations provide, but it does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the primary purpose and includes essential identifier context without unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description adequately frames the tool as fetching a single user and leaves the details to the parameter schema. It does not explicitly state what fields are returned, but the detail parameter provides a summary/full distinction, and the core intent is fully conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all three parameters with enums, defaults, and inline explanations. The tool description adds meaningful context for the 'external' option by explaining that external IDs are 'carried over from a billing system or a Pterodactyl/Pelican migration', enriching the schema's bare 'external ID' wording.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Fetch') and resource ('one user'), and distinguishes it from list-oriented siblings by emphasizing retrieval of a single user. It also uniquely specifies the supported identifier types (UUID or external ID), making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: fetching a single user by UUID or external ID. It implicitly distinguishes from list_users and user-specific sub-resources, though it does not explicitly state 'use list_users to browse' or enumerate exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The read-only and non-destructive annotations are already present, and the description adds the permission requirement and audit-trail nature. It does not describe pagination or response format, but those are partly covered by parameter defaults and the detail parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the resource, the content, and the permission requirement. Every word adds value and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup, the description gives the essential context: what the tool returns, for whom, and what permission is needed. It does not specify output shape, but no output schema exists and the parameters already cover pagination and detail level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: user, page, detail, search, and per_page all have descriptions plus defaults and constraints. The tool description itself adds no additional parameter meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (one user's activity) and the content (logins, server actions, API key use), and the title repeats the specific scope. This distinguishes it from broader activity or listing tools among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the required permission (users.activity) and makes the single-user scope explicit. It does not explicitly contrast with the sibling calagopus_get_activity, but the scope is clear enough for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool is known to be safe. The description adds the permission requirement (database-agent-templates.read), which is a behavioral gate beyond annotations. It does not contradict annotations and provides additional operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences: the first states the purpose and content, the second the permission requirement. There is no fluff, and the most important information is front-loaded. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, but the description clearly indicates what the list contains. It does not explicitly describe the return format (e.g., paginated list) or structure, but the schema covers parameter details and the title implies a list response. For a simple read-only list tool, this is nearly complete, though it could state the response is a paginated list of template records.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters have descriptions in the schema (100% coverage), so the tool description does not need to explain them. The description's mention of engine type, docker images, and resources relates to the response content, not the parameter details. Baseline 3 is correct given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb (List) and a specific resource (the templates the database agent provisions instances from), and enumerates the content (engine type, docker images, CPU/memory/disk). This distinguishes it from sibling list tools like list_database_hosts or list_eggs, which cover different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear context: lists templates with specific fields, and includes a permission requirement ('Requires database-agent-templates.read'). However, it does not explicitly mention alternatives or when not to use this tool, though its specificity makes the intended use obvious. A 4 is appropriate for clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and non-destructive behavior. The description adds transparency about response content, noting that summary mode drops install scripts and upstream repository copies, and that full details require a single egg request. It does not elaborate on pagination or rate limits, but those are not contradicted by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-organized, leading with the core purpose and then adding usage nuances. It contains no unnecessary words and is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that no output schema is provided, the description gives useful context about response content (summary vs full) and required permissions. It could mention pagination behavior, but the overall context is sufficient for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described, so the baseline is 3. The description adds a bit of semantic nuance by explaining the effect of omitting vs providing nest and the detail trade-off, but it mostly relies on the schema for parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'List eggs (server templates).' It also clarifies the distinction between listing all eggs or filtering by nest, which helps differentiate it from sibling tools like get_egg.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: omit nest for all eggs grouped by nest, or pass a nest UUID to filter. It also explains when to use detail 'full' vs the default summary, and mentions the required eggs.read permission. It does not explicitly name sibling alternatives but implies them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only listing operation, and the annotations explicitly mark readOnlyHint true and destructiveHint false. There is no contradiction and no hidden side effects are suggested.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences deliver the core purpose and a practical use case with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and typical usage well. There is no output schema, but for a simple list operation with pagination parameters already documented, the description is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are fully described in the schema with 100% coverage, so the description adds little parameter-level meaning beyond what is already available.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb ('List'), resource ('roles'), and what is returned ('admin/server permission sets'), plus a concrete use case. This distinguishes it from sibling list tools without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit use case: figuring out why a user can or cannot do something. It does not list alternatives or when-not-to-use, but the given guidance is clear and relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and non-destructive behavior. The description adds the permission requirement 'Requires servers.read' and outlines output fields, which is extra transparency beyond the annotations. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, focused, and free of filler. It front-loads the core purpose and adds only essential behavioral and output context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema already explains pagination, detail levels, and search, the description is largely complete. It adds output field expectations and permission requirements, though it does not mention response envelope or ordering, which are minor gaps for a list tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover all four parameters thoroughly. The tool description adds valuable detail by specifying that search matches server name, UUID, and owner, which is not fully enumerated in the schema. This goes beyond the baseline for a fully schema-covered tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'List' and resource 'game servers' with scope 'across the whole panel', and additionally specifies what each record contains (node, owner, egg, primary allocation). This is specific enough to distinguish it from sibling tools like get_server or get_user_servers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context about the search filter and the panel-wide scope, but it does not explicitly mention when to prefer this tool over alternatives such as get_server, get_user_servers, or search. Usage guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly and non-destructive. The description adds no additional behavioral traits beyond mentioning that health/system metrics can be toggled off, which is more parameter semantics than behavior. No hidden side effects or permissions are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise – two sentences. Front-loaded with 'Start here' and immediately enumerates the returned information. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description sufficiently lists the categories of information returned (version, host, record counts, CPU/memory/disk, clock/migration health). It is complete enough for an overview tool, though exact structure of the response is not specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover both parameters at 100% (include_health and include_system are each described). The description text mentions 'unless you turn them off' which aligns with the defaults but does not add significant new meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns panel version, host, record counts, and health/system metrics. It distinguishes itself from sibling list/get tools by positioning as an orientation overview ('Start here', 'One call to orient yourself before drilling in').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when to use it: 'Start here' and 'One call to orient yourself before drilling in' – this is direct guidance relative to the many sibling tools for specific list/get operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and non-destructive behavior, so the safety burden is satisfied. The description adds useful behavioral context: it searches across multiple resource types in one call and returns results side by side. It does not mention auth or rate limits, but those are less critical given the readOnlyHint annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no redundant or promotional language. It front-loads the core purpose and immediately follows with the practical use case, making it easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter read-only search tool with no output schema, the description provides enough context: what can be searched, why to use it, and the general shape of the result (side-by-side matches). It doesn't describe result fields or error behavior, but that is not required given the tool's simplicity and the presence of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so the baseline is 3. The description adds helpful guidance about the 'query' parameter by listing example search inputs (name, email, IP, partial UUID), but it does not add meaning beyond the schema for 'limit' or 'types'. Overall, the schema descriptions already carry the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search'), the specific resources covered ('users, servers, nodes and eggs'), and the expected result ('matches side by side'). It also explains the distinguishing use case of searching when the resource type is unknown, which separates it from the many list/get sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit 'Use this when...' condition with specific inputs (name, email, IP, partial UUID) and clarifies that it is for cases where the resource type is not known. It does not explicitly name when to prefer a specialized list/get tool instead, but the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations (readOnlyHint, destructiveHint) already indicate a safe read operation. The description adds behavioral detail by explaining that setting 'databases: true' changes the response to list databases instead of the host record. This exceeds the annotation baseline without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, direct, and free of fluff. It states the core operation and the one key caveat about the 'databases' parameter. No unnecessary details or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with no output schema, the description is complete. It tells the user exactly what to expect: either the host record or a database list when 'databases: true'. No additional context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for all six parameters, including the 'databases' boolean. The tool description does not add significant extra meaning beyond the schema, but it reinforces the 'databases' parameter's role. This meets the baseline for fully documented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the primary action: 'Fetch one database host by UUID.' It also explains the alternative behavior with 'databases: true', making the tool's purpose unmistakable. The title 'Get a database host' reinforces this, and it is distinct from sibling list tools like 'list_database_hosts'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the target use case: fetching a single record by UUID. It does not explicitly contrast with the list sibling, but the phrase 'by UUID' and the 'instead' for listing databases provide sufficient guidance. The behavior of setting 'databases: true' is also described, which helps users know when to use that feature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the bar for added behavioral context is lower. The description adds meaningful behavior beyond the annotations — the dual-mode semantics where `repository` changes what is returned — and nothing in the description contradicts 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the primary purpose front-loaded in the first sentence and the parameter-mode behavior in the second. No filler, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so return-value documentation is not required. With all parameters documented in a fully covered schema and the description clearly explaining the tool's dual-mode purpose, an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all five parameters described, so the baseline is 3. The description adds only marginal param meaning — it restates the `repository` behavior that the schema already covers ('Repository UUID — list the eggs it offers instead of the repositories') without adding new detail for the other four parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource — "List the git repositories eggs are synced from" — and adds the recency dimension ("when each last synced"). It also distinguishes itself from the sibling list_eggs tool by making clear this lists repositories, with the `repository` parameter switching to per-repository egg listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives an implicit usage rule: pass `repository` to list eggs within one repository versus listing all repositories otherwise. It does not explicitly name sibling alternatives (e.g., list_eggs) or state when to prefer them, but the conditional behavior is clear enough to guide a caller.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that client secrets are redacted unless CALAGOPUS_ALLOW_SECRETS is set, a behavioral trait not present in annotations, and consistent with readOnlyHint and destructiveHint false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no redundancy. The primary purpose and an important security behavior are stated efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with no output schema, the description covers the essential behavior, pagination implied by parameters, and the notable redaction caveat. No critical missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline applies. The description does not add extra parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'List' and the specific resource 'configured SSO/OAuth providers' with scope 'role mappings', distinguishing it from other list tools that target different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use for retrieving OAuth provider information but does not explicitly state when to choose this tool over alternatives or mention any exclusions. The redaction note provides context but not alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description clearly indicates a read-only listing and aligns with the readOnlyHint annotation. It could more fully note pagination and output shape, but the schema's page/per_page/detail descriptions cover those details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences carry the action, scope, and recommended use case with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple paginated list, the description plus schema is largely complete. The absence of an output schema is acceptable because the action is obvious, though a mention of pagination in the description would make it slightly more self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all six parameters with descriptions, so the tool description adds little parameter-level meaning. The blast-radius context helps overall intent but does not explain individual parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The title and description both state exactly what the tool does: list servers created from one egg. The blast-radius phrase adds a clear purpose without obscuring the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use it: before changing an egg, to see the blast radius. This gives an agent a concrete trigger and enough context to choose it over generic server listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the annotations by specifying that credentials are redacted unless CALAGOPUS_ALLOW_SECRETS is set. This is valuable contextual behavior not implied by the readOnlyHint or other annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using two sentences to convey the core functionality and the redaction behavior. It is well-structured and free of unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not enumerate the fields returned in the list. It does mention redaction behavior and the detail parameter, but the exact response structure remains unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have descriptions, and the schema covers 100% of them. However, the description for 'detail' references server and egg sizes, which seem irrelevant to backup configurations and may confuse the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists backup configurations, specifying the resource type (S3/Restic/PBS/Kopia targets). It distinguishes itself from other list tools by the unique resource it operates on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly compare this tool to alternatives, such as list_system_backup_policies, or explain when to prefer one over the other. It relies on the resource type being self-evident, which may be sufficient but lacks direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes no side effects, and the description aligns with that by saying 'List' and requiring only nodes.read. It adds useful context about returned data and auth requirements, though it does not describe pagination behavior 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that covers purpose, output fields, and required permission. There is no redundant or filler content, and parameter descriptions are similarly tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation with no required parameters and no output schema, the description adequately indicates what is returned and what permission is needed. It does not specify the exact response shape or pagination metadata, but the main fields are listed and the operation is clearly scoped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have descriptions that go beyond the bare schema: page, per_page, search, and detail are each explained. The detail description explains summary vs. full but includes unrelated examples about servers and eggs, slightly reducing precision for a node-specific tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists wings nodes attached to the panel and enumerates the returned fields (location, public URL, SFTP endpoint, memory/disk allocation limits). It is distinct from sibling tools such as list_servers, list_locations, get_node, and get_node_resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives the required permission scope ('nodes.read') and indicates a read-only collection operation. It does not explicitly contrast with get_node or get_node_resource, but 'List' plus the specific node resource makes the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and non-destructive. The description adds behavioral detail by specifying sort order, search matching fields, and the required permission, providing useful context 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the primary purpose first. Each remaining sentence adds useful behavior or usage detail without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple list operation and complete schema coverage, the description is sufficient for an agent to call the tool correctly. No output schema is present, but the purpose, filter behavior, and permission are adequately described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all four parameters with descriptions. The description adds meaningful semantics for the `search` parameter by specifying it matches username, email, or name, going beyond the schema's generic text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists user accounts on the Calagopus panel, sorted newest first. It uses a specific verb and resource, distinguishing it from sibling tools like calagopus_get_user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly explains how to use the `search` parameter and notes the required users.read permission. It does not explicitly contrast with alternatives, but the listing purpose and search guidance are clear enough for correct use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Consistent with readOnlyHint, and adds behavioral context about the size (~13 KB) of full responses, which is useful for performance expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the primary purpose, followed by relevant detail guidance with no unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provides sufficient context for a read-only fetch operation, including parameter semantics and response size, with no obvious gaps given the schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters, but the description enriches the 'detail' parameter by specifying exactly what 'full' includes and its size impact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action ('Fetch one egg') and the resource (egg), distinguishing it from list_eggs and other egg-related subresource tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on using the detail parameter ('prefer the summary unless you need the scripts'), but does not explicitly contrast with sibling tools like get_egg_variables or get_egg_servers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description accurately reflects the read-only nature (list operation) and the annotations confirm readOnlyHint=true and destructiveHint=false. It adds context about the returned fields, including user permissions, which goes beyond the annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that fully conveys the purpose and return fields without extraneous wording. Well-structured and immediately understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with no output schema, the description is sufficient. It names the resource (egg variables) and the fields returned, while the parameter details are fully documented in the schema. No missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides full descriptions for all five parameters (egg, nest, page, search, per_page), so description coverage is 100%. The tool description itself does not add parameter-level detail beyond what the schema already states, hence baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists environment variables for an egg and enumerates the fields returned (name, env var, default value, validation rules, user see/edit permissions). This distinguishes it from sibling tools like calagopus_get_egg (which retrieves egg details) and calagopus_list_eggs (which lists eggs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: this is a read-only list operation for egg variables, and the name aligns with its purpose. It does not explicitly state when to prefer this over alternatives, but the sibling tools cover different resources, so the usage is obvious. Lacks explicit exclusion guidance, hence not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and non-destructive, and the description adds useful behavioral detail about the 'full' detail mode expanding the response to include egg, node, and owner records. No side effects or contradictions are hidden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences deliver the core action, identifier options, and detail behavior without redundancy. The structure is clean and front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description provides enough context by contrasting summary versus full response content. It omits error/not-found behavior but is acceptable for a read-only get operation with clear annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds meaningful semantics: it clarifies that 'server' may be a UUID, short UUID, or external ID, that 'by' selects the identifier type, and that 'detail' controls payload verbosity with concrete examples of what 'full' includes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States the exact resource (a single server) and the retrieval action, with supported identifiers (UUID, short UUID, external ID). It clearly differentiates from list_servers and get_server_resource by focusing on fetching one server and describing optional full detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly indicates when to use by specifying 'Fetch one server' and explaining the identifier modes and detail option. It does not explicitly name sibling alternatives like list_servers, but the singular 'one server' and detail semantics provide strong implicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and destructiveHint, so the bar is lower. The description adds useful context about reflecting the panel's actual version and extension-added routes, but does not introduce any conflicting behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and purpose, and every sentence carries essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 optional parameters, no output schema), the description is complete. It explains what the tool does, when to use it, and how to proceed after listing endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with clear descriptions, so the baseline is 3. The tool description does not add any extra parameter-specific explanation beyond the schema, but the schema itself is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists panel API endpoints by searching the live OpenAPI spec, and it explicitly distinguishes itself from sibling tools by directing use when no dedicated tool covers the needed endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: use when no dedicated tool covers the need, then follow up with calagopus_get. This directly addresses when to use the tool relative to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, destructiveHint=false) align with the description's explicit statement that only GET is possible and the server cannot create, modify, or delete anything. The description adds context about authentication and verbatim JSON return, with no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with purpose stated first, followed by usage guidance. No redundant wording or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description sufficiently explains the return value ('JSON verbatim'). It also covers when to use it relative to siblings and mentions authentication and method restrictions, making it complete for an escape-hatch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (path and query). The description adds minimal extra context beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it issues a raw authenticated GET against any panel path and returns JSON verbatim. The verb 'issue' plus resource 'any path on the configured panel' and method 'GET' distinguish it from dedicated sibling tools as an escape hatch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use it for endpoints not covered by dedicated tools, directs users to find paths via calagopus_list_endpoints first, and states only GET is possible, providing clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BerdiiNN/calagopus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server