SmartBear MCP server
OfficialServer Quality Checklist
Latest release: v0.40.0
- Disambiguation2/5
Product prefixes provide some orientation, but multiple toolsets overlap heavily on the same domain: qtm4j_, qmetry_, zephyr_, reflect_, and bearq_ all manage test cases, cycles, and executions, so an agent cannot tell which product to use from the name alone. Within contract-testing, the ten get_bdct_* variants differ only subtly, and tools like contract-testing_test_execute_webhooks vs contract-testing_execute_webhook are near-duplicates.
Naming Consistency2/5The same operations are named differently across the server (list_ vs fetch_ vs get_ vs search_, create vs add, update vs edit/patch), and prefixes mix hyphens (contract-testing_) with underscores (qmetry_). Some names are awkward or inconsistent, such as contract-testing_get_bdct_x-contract_test_results_by_consumer and bearq_run_tests_in_functional_areas, though nearly everything is at least snake_case.
Tool Count1/5308 tools is an extreme count that will overwhelm any agent's selection process and context. Even for a multi-product QA suite, bundling this many operations into one MCP server is far beyond a coherent, manageable scope (typical well-scoped servers are 3-15 tools).
Completeness2/5The aggregate covers many workflows, but individual products have notable gaps: Zephyr has no delete for test cases/cycles, Reflect has no update/delete for tests or segments, BearQ has no create/update except via a chat escape hatch, and QTM4J/QMetry lack delete operations for core entities. The overlapping duplicate surfaces also make gaps harder to detect, so agents will hit dead ends in several sub-domains.
Average 3.8/5 across 308 of 308 tools scored. Lowest: 1.8/5.
See the Tool Scores section below for per-tool breakdowns.
- 15 of 24 community issues answered or closed in the last 6 months
- 136 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
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
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description contradicts the annotations: readOnlyHint=true while the described generic invocation plus schema actions such as cancel, reopen, and uncancel imply state-changing behavior. It also fails to disclose side effects, preconditions, or failures for the supported action enum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and the core purpose is front-loaded, but it wastes space repeating parameter metadata from the schema and the Toolset line, and it front-loads an inaccurate sentence. The structure is neat but the content is not reliable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a generic dispatcher with a nested free-form args object and no output schema, the description is severely incomplete: it omits valid action semantics, return values, error behavior, and examples. An agent cannot determine how to construct args for any of the four actual enum values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not compensate for the actual enum actions. It only documents reviewId/until for finishReviewPhase and waitOnPhase, which are not valid action values, leaving args for moveReviewToAnnotatePhase, cancel, reopen, and uncancel completely unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description says it can 'Invoke any ReviewService method by name and arguments,' which identifies a generic dispatch tool on a specific service, but 'any method' is contradicted by the action enum and by mentioning finishReviewPhase/waitOnPhase that are not in that enum. It does not distinguish this generic action from the dedicated collaborator_* review tools.
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 when-to-use or alternative selection guidance is provided. The only usage detail is for two methods absent from the schema enum, and there is no indication that dedicated tools should be preferred for common operations such as creating or rejecting a review.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotation Contradiction: the description says 'Edits parameters' and the tool is an edit operation, but the annotations declare readOnlyHint=true, implying the tool does not modify state. This is a direct and serious inconsistency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is clear and front-loaded, and the post-creation constraint is useful. But the description then duplicates the entire parameter schema verbatim, which adds length without adding information and contributes to the reviewTemplateId inconsistency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition omits return behavior and gives no guidance on what the response looks like. More importantly, the contradictory 'only title and config are editable' note versus the reviewTemplateId parameter leaves a critical ambiguity, and no detail is given about what the config JSON should contain. This is not sufficient for reliable agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters. However, the description's statement that 'Only title and config are editable after creation' directly conflicts with its own parameter list, which includes reviewTemplateId as an editable parameter, leaving the agent uncertain about valid inputs. It also provides no extra detail about the JSON config format.
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 uses a specific verb ('Edits') and identifies the exact resource ('parameters of an existing remote system configuration in Collaborator'). It is clearly distinct from creating, deleting, or testing a configuration, though it does not explicitly name sibling alternatives.
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 establishes that this tool is for editing an existing configuration and notes a key constraint: only title and config are editable after creation. However, it does not explicitly guide the agent to create/delete/test siblings when those operations are more appropriate, relying instead on the tool name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Updates the webhook,' which is a write operation, while the annotations declare readOnlyHint: true. This directly contradicts the annotation and could cause an agent to treat this as a non-mutating call. No additional behavioral context is provided beyond the conflicting action verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is clear and front-loaded, but the description includes a 'Parameters:' block that duplicates the schema verbatim. The 'Toolset' line adds mild context, so the description is short but contains redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with one parameter and no output schema, the description provides the minimum callable information. However, it leaves the annotation contradiction unaddressed and omits any detail about the webhook payload, required permissions, or response, making it insufficient for fully reliable 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%, and the description repeats the id parameter's purpose without adding new details such as ID format, source, or prerequisites. The baseline of 3 applies because the schema already fully documents the parameter.
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 specific verb and resource: 'Updates the webhook for a remote system configuration in Collaborator by its ID.' This distinguishes it from sibling configuration-management tools like collaborator_edit_remote_system_configuration, though it does not clarify what webhook fields can be updated.
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 guidance is provided on when to use this tool versus alternatives such as collaborator_edit_remote_system_configuration or webhook-related operations. There are no prerequisites, exclusions, or conditions that would help an agent choose between this and competing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, but the description says 'Cancel a reflect suite execution,' which is a state-changing operation. This is a direct contradiction. The description also provides no additional behavioral context such as reversibility, effects on ongoing execution, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and the main action is front-loaded, but the parameter list duplicates the input schema without adding value. It is not bloated, yet it does not use its limited space to convey anything beyond the schema already provides.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a cancellation operation, important context is missing: whether completed executions can be cancelled, what happens to the underlying test run, and whether any confirmation or side effects should be expected. The tool is simple and has rich sibling context, but the description alone leaves these gaps.
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 fully documents both parameters. The description only repeats the same parameter names and descriptions without adding extra meaning, which matches the baseline score of 3.
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 action ('Cancel') and the resource ('a reflect suite execution'), making the tool's purpose unambiguous. However, it is essentially a restatement of the tool title and does not differentiate from sibling tools like reflect_execute_suite or reflect_get_suite_execution_status beyond the verb itself.
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 guidance is provided on when to use this tool, what conditions must be met before cancellation, or when an alternative tool would be more appropriate. The agent is left to infer that this is used to stop a running suite execution, but there is no explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'execute' a suite, which implies starting a test run and creating an execution — a side-effecting operation. This contradicts the readOnlyHint=true annotation, which claims the tool does not modify state. This is an annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the verb, but it spends space repeating the parameter list that already exists in the schema. It is concise but not especially informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an execution tool, the description omits whether execution is asynchronous, what the return value contains, or how to track the resulting run. It also does not mention using reflect_list_suites to discover suite IDs. The single required parameter keeps complexity low, but the missing operational context is significant.
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 already fully documents suiteId with 100% coverage. The description duplicates the schema text without adding extra meaning such as where to find suiteId, acceptable formats, or default behavior.
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?
'Execute a reflect suite' names a specific verb and resource, making the core action clear. It does not explicitly differentiate from siblings like reflect_run_test, but the 'suite' resource is enough to identify the primary function.
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 guidance is given about when to use this tool versus reflect_run_test, how to monitor execution, or how to obtain a suiteId. The 'Toolset: Suites' label adds category context but no decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the tool will 'discover or update' pages and elements, implying a state change, while annotations declare readOnlyHint=true. This is a direct contradiction unless 'update' refers only to an internal cache, which the description does not clarify.
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 compact and front-loaded with the core purpose, followed by a concise parameter note. The 'Toolset: Tasks' line adds marginal context but does not make the description bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not mention return values, whether the tool starts an asynchronous task, or how to monitor progress—especially relevant given the 'Toolset: Tasks' hint and sibling task-status tools. The read/update ambiguity also leaves an important side-effect question unresolved.
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%; the schema already documents that functionalArea is an optional ID or name and that omitting it explores the entire application. The description restates this without adding meaningful detail beyond the schema.
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 identifies a specific action and resource: exploring the live application to discover or update pages and elements in BearQ's application model. This is clearly distinct from the test-execution and test-management siblings, though it does not explicitly contrast with any sibling tool.
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?
There is no guidance on when to use this tool versus alternatives such as bearq_run_test_cases or bearq_get_task. The only usage hint is parameter-scoping ('Omit to explore the entire application'), which does not help an agent choose this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the tool 'Creates' a configuration, while the annotations declare readOnlyHint: true. This is a direct contradiction about whether the operation mutates state. The description also provides no additional behavioral context such as authorization requirements, idempotency implications, or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and concise, but the parameter section duplicates the input schema's descriptions, which is redundant. The toolset line provides marginal context, yet several lines add little information beyond what an agent already has from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with four parameters and no output schema, the description leaves out when to use it, what effects occur, and any details about the JSON config structure or token format beyond the schema. The readOnlyHint contradiction further undermines an agent's ability to understand the operation's true behavior.
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%, and the parameter list only repeats the schema's own descriptions without adding syntax, format examples, or constraints. The description adds no semantic value beyond the structured schema, so the baseline 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 opens with 'Creates a remote system configuration in Collaborator', a specific verb plus resource, and gives concrete examples (Bitbucket, GitHub). The create action is implicitly distinct from sibling tools like edit, delete, update, and test-connection for remote system configurations.
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?
There is no guidance on when to choose this tool over alternatives such as collaborator_edit_remote_system_configuration or collaborator_test_remote_system_configuration_connection. The 'Toolset' label provides weak context but no conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only, not idempotent, and not destructive, so the agent knows it is a write operation. However, the description adds little beyond the tool name: it does not disclose whether the created user receives an invitation, whether it can be used with external IdP accounts, or how conflicts or duplicate emails are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and fronts the core purpose, but it spends several lines repeating parameter information already present in the input schema. The 'Toolset: Admin' line and the full parameter list add little marginal value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating admin operation with no output schema and no behavioral disclaimers, the description is thin. An agent is left without knowing what the response will be, whether an email is sent, whether the user is active immediately, or what admin permissions are required.
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 fully documents all six parameters. The description duplicates those same descriptions without adding additional meaning or clarifying relationships between fields such as externalIdpId and externalIdpUsername.
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 states a specific action ('Create a new user account') on a clear resource and scopes it as an admin operation. It is distinct from nearby siblings like admin_update_user or admin_invite_users, though it does not explicitly call out those distinctions.
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 guidance is given on when to use this tool versus alternatives like admin_invite_users, admin_create_system_account, or admin_set_user_roles. The 'Toolset: Admin' label is generic and does not help an agent choose among the many admin siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. But the description adds no behavioral context: it does not say whether the run is asynchronous, whether it returns a test run ID, or how results are retrieved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but much of it duplicates the title and input schema. The 'Toolset' and 'Parameters' sections add structure without contributing meaningful new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a run action with no output schema, the description leaves the agent without information about expected return values, follow-up status checks, or potential failure modes. The tool is simple, but an agent still needs more context to know what happens after invoking 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?
Schema description coverage is 100%, so the single testId parameter is already fully documented. The description repeats the parameter description verbatim and adds no additional semantic guidance about where to find the ID or how it is used.
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 states the specific action 'Run a reflect test' with a clear resource, and the reflect_ prefix distinguishes it from other domains. However, it does not explicitly differentiate it from sibling tools like reflect_execute_suite or reflect_get_test_status, so it stops short of a 5.
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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention when to prefer reflect_execute_suite for suites, nor how reflect_get_test_status or reflect_get_test_detail should be used afterward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Cancels a running task,' which is a state-changing operation, while annotations declare readOnlyHint=true and destructiveHint=false. This directly contradicts the tool's actual semantics and gives an agent conflicting safety signals.
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 definition is short and front-loaded with the core action. The 'Toolset' and 'Parameters' sections are mildly redundant with metadata already present in the schema, but they do not significantly bloat the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool without an output schema, complete coverage should be easy, but the description omits side effects, reversibility, and behavior on already-finished tasks. More importantly, the readOnlyHint contradiction makes the overall context unreliable for an agent.
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%, and the schema already documents taskId with type, bounds, required flag, and the same description as the tool description's parameter line. The description adds no meaning beyond what the schema provides, so the baseline 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 uses a specific verb ('Cancels') and a clear object ('a running task'), making the operation unmistakable. It also differentiates this tool from siblings like bearq_get_task, bearq_get_task_status, and bearq_wait_for_task, which are read/wait operations, and bearq_run_* tools, which start tasks.
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?
The description implies the tool is for running tasks, but it gives no explicit guidance on when to use it versus alternatives, whether completed tasks can be cancelled, or whether a status check should precede cancellation. No exclusions or preconditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the tool 'Deletes' a configuration, which is a mutating and destructive operation, but the annotations declare readOnlyHint=true and destructiveHint=false. This is a direct contradiction that makes the tool's actual behavior unreliable for an agent.
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 core action is stated in one clear, front-loaded sentence. The additional Toolset and Parameters blocks are somewhat redundant with the structured data but do not make the description excessively long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though the tool has only one parameter, the description omits important behavioral context such as whether deletion is reversible, what happens to dependent data, or required permissions. The annotations further mislabel the operation as read-only, making the overall definition unreliable.
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%, and the description merely repeats the schema text: 'ID of the remote system Configuration to delete.' The parameter is already fully documented in the schema, so the description adds little semantic value.
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 'Deletes' and identifies the exact resource, 'remote system configuration in Collaborator', with the key selector 'by its ID'. This clearly differentiates it from sibling tools like create, edit, or test remote system configuration.
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?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The 'Toolset' label only names a category without explaining when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states 'Rejects a review,' which implies a state-changing action, but the annotations declare readOnlyHint=true and idempotentHint=true. Rejecting a review is not read-only, so the description directly contradicts the annotation metadata. No additional behavioral context such as side effects, permissions, or irreversibility is provided.
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 core description is one concise, front-loaded sentence that clearly states the action and key inputs. The subsequent parameter block and toolset line add some redundancy with the schema but do not make the description bloated or hard to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation-like operation with no output schema and no explanation of the result or side effects of rejecting a review. The annotation contradiction makes the behavioral model unreliable, leaving an agent unsure whether the tool modifies state. A simple 2-parameter schema does not compensate for the missing usage and behavioral 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%, and the description's parameter list simply duplicates the schema's field names and descriptions. It adds no new semantic detail such as value formats, constraints, or relationships between reviewId and reason. The baseline of 3 is appropriate because the schema already documents both 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 opens with a specific verb and resource: 'Rejects a review in Collaborator'. It also names the required inputs, 'by its review ID and reason', making the operation unambiguous. Among many sibling tools, this is clearly the reject-review operation rather than create, find, or get reviews.
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?
The description gives no guidance on when to use this tool versus alternatives such as collaborator_reviewservice_action, collaborator_get_reviews, or collaborator_find_review_by_id. The 'Toolset: Review Management' line only categorizes the tool; it does not explain conditions for use or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only restates the create action, which is already captured by annotations (readOnlyHint=false). It adds no unique behavioral context—no mention of idempotency, required admin privileges, uniqueness constraints, or what happens after creation. With annotations present, the description contributes no additional disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The core first sentence is concise and front-loaded with the operation. However, the following parameter list fully duplicates the input schema, adding redundancy without new information. The structure is adequate but not tightly edited.
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?
For a create operation with no output schema, the description does not state response details, name uniqueness, or admin-level authorization requirements. The full parameter schema does allow an agent to construct a valid request, so it is minimally adequate, but several contextual gaps remain.
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%, including the permissions item's scope property. The description repeats the parameter names and descriptions verbatim without adding examples, constraints, or relationships beyond the schema. This meets the baseline for high schema coverage but adds no extra value.
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 operation: 'Create a new role with specific permissions.' The verb 'Create' and resource 'role' are unambiguous, and the sibling tools (admin_update_role, admin_delete_role) are distinguished by verb. However, the parenthetical '(admin)' is ambiguous—it likely refers to the toolset but could be misread as a permission modifier.
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 guidance is provided on when to use this tool versus alternatives like admin_update_role, admin_set_user_roles, or admin_add_role_to_user. The 'Toolset: Admin' label gives only a category, not selection criteria. There are no stated exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the description adds no behavioral context beyond the bare action. It does not mention permanence, cascading effects on branch versions, required permissions, or any side effects.
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 short, front-loaded with the key action, and includes a clean parameter list. No unnecessary prose is present, though the parameter section is redundant with the schema.
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?
For a simple two-parameter delete operation, the annotations and schema cover the basics. However, there is no mention of prerequisites, return behavior, or consequences beyond deletion, leaving the description merely adequate rather than 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 description coverage is 100%, so the parameters are already documented. The description merely repeats the same parameter names and descriptions without adding new semantic detail, which meets the baseline but adds no extra value.
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 states a clear verb and resource: 'Delete a branch from a pacticipant.' It is unambiguous and distinct from many sibling tools like list_branches or get_branch, though it does not explicitly contrast itself with those alternatives.
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 guidance is given about when to use this tool instead of related branch or delete operations. The 'Toolset: Branches and Versions' label provides weak context, but there are no stated alternatives, exclusions, or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already carry destructiveHint=true and readOnlyHint=false, so an agent knows this is a mutation. The description adds no behavioral context beyond the word 'Delete'—it does not state whether deletion is permanent, whether it cascades to related contracts/webhooks, or what permissions are required. With no extra behavioral disclosure beyond annotations, this is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and concise, but the 'Parameters' section merely duplicates the schema's parameter names and descriptions. The 'Toolset' line adds marginal context. The overall size is small, yet some content is redundant rather than earning its place.
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?
For a two-parameter delete operation with annotations covering destructiveness, the basics are present: what resource is deleted and which identifiers to pass. However, there is no output schema and no description of post-conditions, irreversibility, or relationship to delete_all_integrations, so an agent's understanding of consequences is incomplete.
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 input schema fully documents both providerName and consumerName. The description only repeats that information verbatim, adding no further meaning about formats, allowed values, or how the parameters identify the integration. Baseline 3 applies because the schema carries the load.
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 first sentence uses a specific verb ('Delete') and resource ('specific consumer-provider integration'), and the word 'specific' distinguishes it from the sibling contract-testing_delete_all_integrations. It does not, however, explicitly contrast with the other delete_* siblings (e.g., delete_environment, delete_webhook), so it stops short of full sibling differentiation.
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 alternatives. The word 'specific' implies it is for deleting one integration rather than all, but the description never names the alternative (delete_all_integrations) or states when not to use it. There are no context signals such as prerequisites or side conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description simply restates 'Delete' and gives the parameter, which adds nothing beyond the annotations' destructiveHint=true and idempotentHint=true. It does not disclose whether deletion is permanent, whether it affects dependent resources like webhooks, or whether any special authorization is required. With annotations already covering the safety profile, the description contributes little behavioral context.
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 short and front-loaded with the core action. The separate 'Toolset' and 'Parameters' sections are mildly redundant with the schema, but they do not create meaningful bloat. Overall, it is appropriately concise for a single-parameter tool.
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?
For a simple one-parameter destructive operation, the description plus annotations cover the basic call correctly. However, it omits useful context such as irreversibility, behavior when the secret does not exist, or any relation to other secret operations. It is adequate but not rich.
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 already describes secretId as a required UUID with 100% coverage. The description repeats this information without adding further semantic meaning, so it meets the baseline but does not exceed what the schema already provides.
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 operation and resource: 'Delete a secret by UUID.' This is specific enough for an agent to understand what the tool does and to distinguish it from sibling operations like get_secret, create_secret, and update_secret, though it does not explicitly name those alternatives.
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 guidance is provided about when to use this tool versus other secret-related or deletion tools. There are no stated prerequisites, exclusions, or references to alternatives such as contract-testing_delete_webhook or contract-testing_delete_environment. The operation is inferable but not explicitly contextualized.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, and the description adds no behavioral context beyond that. It does not explain pagination behavior, result shape, or any caveats about how the provider version maps to results, so the description adds little 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is clear and front-loaded, but the subsequent parameter list duplicates the input schema almost verbatim. The description is not overly long, yet it contains redundant content that does not add value beyond the structured schema.
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?
For a simple read-only fetch with fully documented parameters and safety annotations, the description is minimally adequate. However, with no output schema and many similar sibling tools, it would benefit from stating what the results contain or how this tool differs from other verification-result fetchers.
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%, and the description simply repeats the parameter names, defaults, and short descriptions already present in the input schema. It adds no additional meaning or usage nuance, 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Fetch'), a resource ('cross-contract verification results'), and a scope ('for a given provider version') in Bi-Directional Contract Testing. It is clear and matches the tool name, though it does not explicitly distinguish itself from sibling verification-result tools like get_bdct_provider_contract_verification_results.
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?
There is no guidance on when to use this tool versus the many similar BDCT verification-result tools in the sibling list. It only labels the toolset and provides parameters, with no mention of alternatives, exclusions, or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds no extra behavioral context beyond the parameters themselves, such as whether an unknown provider causes an error, what 'states' means, or what the returned list contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The core descriptive sentence is concise, but the parameter section duplicates what is already in the input schema, adding no new information. The structure is clear enough, yet the redundancy keeps it from being tightly economical.
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?
For a simple read-only fetch with one required parameter, the description is minimally sufficient. However, there is no output schema and the description does not describe the return shape, the meaning of 'states' in this domain, or edge cases, so an agent may not fully understand what to expect from the result.
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 essentially repeats the schema's parameter names, types, defaults, and descriptions without adding extra meaning, format constraints, or relationships between parameters.
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 states a clear verb ('Retrieve') and specific resource ('the states of a specific provider'), so an agent can tell what the tool operates on. It does not explicitly differentiate it from sibling contract-testing get_* tools, but the resource name is reasonably distinct.
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?
The description provides no guidance on when to use this tool instead of alternatives, no prerequisites, and no exclusions. It simply restates the action and parameters, leaving the agent to infer the appropriate usage context from the name and sibling list.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that this is an AI-assisted review and hints at producing recommendations, but it does not describe what the tool returns, whether results are immediate, or how the review is structured.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise, but the description includes a redundant 'Toolset: Review Pact Tests' heading and a full parameter list that duplicates the input schema. These parts do not earn their place and add unnecessary length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The input parameters are well documented in the schema, but there is no output schema and the description does not explain what the agent should expect in response. With five parameters, nested objects, and no return-value information, the description is incomplete for confidently using the tool's result.
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 already documents all parameters and nested fields. The description's parameter list largely duplicates the schema without adding meaningful new meaning or clarifying the optional openapi structure.
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 identifies the action ('Review Pact tests') and the subject ('Pact tests using PactFlow AI'), so an agent can understand what the tool does at a glance. It does not explicitly differentiate from the closely related sibling 'contract-testing_generate_pact_tests', so it misses the top score.
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?
There is no guidance on when to use this tool versus alternatives such as contract-testing_generate_pact_tests, nor any statement of when not to use it. The description lists inputs but does not explain the decision context for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral detail beyond the title: it does not state whether the update replaces existing metadata, requires an existing version, has side effects, or what the response contains. Annotations already cover idempotence and non-destructiveness, so the description itself contributes little transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded, and the toolset line adds useful context. However, the bulleted parameter section simply repeats the input schema, which is redundant in an MCP description and does not earn its place.
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?
For a simple three-parameter tool with annotations covering safety and idempotence, the definition is minimally adequate for invoking with correct arguments. But it omits when-to-use guidance, return behavior (no output schema), and any note about required existence of the version, leaving the overall context incomplete.
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 fully documents all three parameters. The description duplicates those definitions without adding new meaning such as formats, constraints, or relationships between parameters, so it meets the baseline but does not exceed it.
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 names a specific action and resource: 'Update metadata for a specific pacticipant version.' This distinguishes it from pacticipant-level tools like update_pacticipant and from read-only version tools. However, 'metadata' is generic and the actual updatable field (buildUrl) is only revealed later in the parameter list, so the purpose is clear but not maximally specific.
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?
There is no guidance about when to use this tool versus alternatives such as update_pacticipant, patch_pacticipant, or get_pacticipant_version. The 'Toolset: Branches and Versions' line provides weak grouping context but no explicit conditions, exclusions, or alternative tool routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context beyond 'get status'—for example, whether this is suitable for polling, how errors are represented, or what status values may be returned.
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 core description is a single clear sentence, and the parameter listing is short. However, the parameter block duplicates the input schema and does not add unique value, which keeps it from being a perfect 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does not explain what a status result contains, what statuses are possible, or how the agent should use the response. It also does not connect to the broader reflect workflow (e.g., obtaining an executionId from reflect_run_test). The tool is simple, but key context is missing.
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 the single executionId parameter, and the description repeats the schema's wording almost verbatim. It adds no additional semantics, so the baseline of 3 applies.
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 ('get') and resource ('status of a reflect test execution'), and the tool name and title reinforce this. However, it does not explicitly distinguish itself from closely related sibling tools like reflect_get_suite_execution_status or bearq_get_task_status, so it stops short of a 5.
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?
The description provides no guidance on when to use this tool versus alternatives, such as reflect_get_suite_execution_status for suite-level status or other status-checking tools. There is no mention of typical workflows like polling after reflect_run_test, nor any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds no further behavioral context such as auth requirements, response characteristics, or side effects; it mostly restates that this is a retrieval operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is clear and concise, but the Parameters section duplicates the input schema exactly. Not every sentence earns its place, so the description is acceptable but not tightly optimized.
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 single-parameter, read-only, idempotent get operation with an output schema and safety annotations, the description is largely sufficient. The main gap is lack of routing guidance versus sibling product tools, which is already accounted for in Usage Guidelines.
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 the description's parameter block repeats the schema's productId description verbatim. Since the schema already documents the UUID or 'portal-subdomain:product-slug' format, the description adds no new semantic meaning beyond the structured input.
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 states a specific verb and resource: 'Retrieve information about a specific product resource.' The word 'specific' distinguishes it from list-type operations, though it does not explicitly name sibling tools like swagger_list_portal_products.
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?
There is no explicit guidance on when to use this tool versus alternatives such as swagger_list_portal_products or swagger_get_portal. The phrase 'specific product resource' only implies a get-by-id use case; no exclusions, prerequisites, or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal that this is not a read-only operation (readOnlyHint=false, idempotentHint=false), and the description adds no behavioral context beyond 'create'. It does not mention side effects, whether duplicate cycles are possible, or whether referenced statuses, folders, or versions must pre-exist. This does not contradict the annotations, but it also does not add meaningful transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The structure is clear with headings for Toolset, Parameters, and Examples, and the first sentence is front-loaded. However, the parameter section largely repeats the schema descriptions, making the description noticeably longer than necessary. The four examples are useful, but the overall text would benefit from trimming duplicate parameter explanations.
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?
With 10 parameters, nested objects, and an output schema present, the description is reasonably complete for making a call: all parameters are listed and examples show realistic payloads. It does not, however, explain how to obtain valid values for IDs like folderId, jiraProjectVersion, statusName, or ownerId, nor does it point to lookup tools such as zephyr_get_statuses or zephyr_get_folders.
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 high (90%), so the description need not compensate for missing schema meaning. The parameter list mostly duplicates the input schema, while the examples add some practical illustration of valid values and groupings. There is no substantial semantic information beyond the schema.
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 opening sentence states a specific verb ('Create'), a clear resource ('Test Cycle'), and a scope ('in Zephyr specified project'). The 'Toolset: Test Cycles' heading reinforces the resource. It does not explicitly differentiate itself from sibling tools like zephyr_update_test_cycle or qtm4j_create_test_cycle, so it misses the top score.
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?
There is no guidance on when to choose this tool over alternatives such as zephyr_update_test_cycle, zephyr_create_test_execution, or qtm4j_create_test_cycle. The examples illustrate valid calls, but they do not explain when this tool should be preferred or when a sibling tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint and destructiveHint false, so the safety profile is covered. The description repeats the schema's truncation note but then contradicts the default-pagination behavior by promising 'All priorities' for an empty parameter set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized with toolset, parameters, and examples, but the parameters section repeats the input schema nearly verbatim and the maxResults note is verbose. It is structured but not particularly concise.
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?
For a simple read-only list operation with an output schema and optional filters, most invocation details are present: defaults, projectKey format, and paging examples. However, the incorrect 'all priorities' example leaves a gap in how to page through or truly retrieve all results, so an agent could invoke it with the wrong expectation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/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, and the description's parameter section largely duplicates the schema. The examples add combination scenarios, but the third example assigns incorrect semantics to the default maxResults value, making the guidance unreliable.
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 opens with a specific verb and resource: 'Get Zephyr Test Case priorities with optional filters' and reinforces it with a 'Toolset: Priorities' label. This is enough to distinguish it from sibling zephyr_get_projects/zephyr_get_statuses, though it doesn't explicitly contrast with them.
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?
Usage is implied through examples and optional-filter descriptions rather than stated explicitly. There is no direct statement of when to choose this over alternatives, and one example is misleading: {} is labeled 'Get all priorities' even though maxResults defaults to 10.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/destructive safety, so the description's burden is mainly behavior beyond that. It does not mention that this appears to create or run a task, return a task identifier, or require polling with sibling task tools. 'Runs every regression test case' communicates the core action but adds no execution-lifecycle context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is efficient and front-loaded. However, the parameter list duplicates the schema descriptions and the 'Toolset: Tasks' line contributes little functional value, so not every line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no return-value description, and no mention of the task lifecycle despite sibling get_task_status/wait_for_task/stop_task tools. An agent can invoke it with functionalAreas, but cannot know what to do with the result or how to monitor completion. With no output schema, the description should bridge that gap.
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%: both functionalAreas and environment already have descriptions in the schema. The description repeats them verbatim, adding no new meaning beyond saying that functional areas may be IDs or names, which the schema's anyOf already implies. 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?
The first sentence states a specific action and scope: it 'Runs every regression test case tagged with one or more functional areas.' This clearly identifies the resource and distinguishes it from broader runners like bearq_run_regression_tests, though it does not explicitly name siblings or say what it is not.
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?
Usage context is implied by scope: choose this tool when regression tests need to be filtered by functional areas. There is no explicit when-to-use/when-not-to-use guidance or comparison with bearq_run_regression_tests and bearq_run_test_cases, leaving some routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description usefully discloses partial-update semantics and states that no output is expected, but its behavior is contradictory: it says null values are ignored, yet example 5 uses assignedToId: null to remove an assignee. Additionally, example 2 sends an ISO date string for executionTime even though the description and schema define it as an integer in milliseconds, muddying the expected behavior.
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 well organized: a terse purpose sentence, parameter list, and labeled JSON examples. It is somewhat longer than necessary because the same 'no output expected' line is repeated across all five examples, but the structure is clear and front-loaded.
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?
All eight parameters are documented and the examples cover common operations, plus the description explicitly notes that no output is returned. The definition is not fully reliable, though, because the null-clearing behavior and executionTime example conflict with the stated semantics, so an agent cannot confidently handle removal or time updates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description did not need to carry the parameter-documentation burden, and the parameter list mostly mirrors the schema. The examples add context, but one example contradicts the schema by placing a date-time string in executionTime, which can mislead an agent into sending an invalid payload.
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 opens with a specific action and resource: 'Update an existing Test Execution in Zephyr,' and clarifies that it is a partial update that targets only specified fields. It is clearly distinguishable from get/create executions by the word 'existing,' though it does not explicitly name sibling tools or contrast with zephyr_update_test_execution_steps.
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 examples show practical scenarios (changing status, updating dates, assigning users, commenting, clearing a field), which imply when to use the tool. However, there is no explicit 'use this instead of X' guidance or mention of when zephyr_create_test_execution or zephyr_update_test_execution_steps would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states a state-changing action ('Creates a new review'), while annotations declare readOnlyHint=true and idempotentHint=true. This is a direct contradiction: readOnlyHint indicates no side effects, but creation is a side effect. The description also does not explain creation results, return values, or required permissions, but the contradiction alone forces a minimum score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose statement is front-loaded and the layout is scannable, but the Parameter section unnecessarily repeats the full schema content, including each default. This duplication adds bulk without informational value, though the overall length is still modest. Around half the sentences could be removed without loss.
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?
For a tool with zero required parameters and simple string inputs, the description covers the invocation surface: purpose, toolset, and all parameter defaults. However, it omits any return/output description and, due to the annotation conflict, the side-effect profile is ambiguous. This is minimally viable but not fully complete for an agent.
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%, and the description's parameter list duplicates the schema's names, descriptions, optionality, and defaults almost verbatim. It adds no new meaning beyond the schema; 'All parameters are optional' is already encoded by required: [] and each field's Optional note. Therefore baseline 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 opens with a concrete verb-object phrase, 'Creates a new review in Collaborator,' which directly states the tool's action and resource. The toolset tag and optional-parameter note reinforce that this is a creation operation, distinguishing it from sibling read/reject tools like collaborator_get_reviews or collaborator_reject_review.
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?
There is no explicit when-to-use or when-not-to-use guidance and no named alternatives. The phrase 'Creates a new review' implies the intended use, and 'All parameters are optional' clarifies there are no prerequisites, but the description never tells the agent when to prefer this over collaborator_reviewservice_action or find/get operations. This is implied usage rather than explicit direction.
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 establish that this is read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds one useful behavioral nuance: all parameters are optional and only provided ones are sent. It does not disclose return shape, pagination, default behavior, or authentication requirements, but the annotation coverage lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is clear and front-loaded, but the description then duplicates every parameter already present in the input schema. The 'Toolset: Review Management' line adds slight structure, but the repeated parameter listing is redundant and makes the description longer than necessary.
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?
For a read-only list/filter tool with 7 optional parameters and no output schema, the description covers the filtering semantics adequately via schema descriptions. However, it does not explain what fullInfo changes, what values reviewPhase accepts, how the filters combine, or what the returned review objects look like. This incomplete context may leave an agent uncertain about invocation side effects.
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?
Input schema description coverage is 100%, so the schema already documents every parameter. The description repeats the parameter list but adds little beyond the sentence that all parameters are optional and only provided ones are sent, which is already implied by zero required parameters. 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?
The description states a specific action ('Retrieves reviews from Collaborator') and names the underlying service method. The plural 'reviews' and tool name distinguish it from the sibling find_review_by_id, but it does not explicitly contrast itself with that sibling.
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?
There is no guidance on when to use this tool versus collaborator_find_review_by_id, collaborator_reviewservice_action, or any other sibling. The description does not mention exclusions or alternatives, leaving the agent to infer selection criteria from the name alone.
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, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the admin-only context and pagination parameters, but it does not disclose behavior such as sort order, response format, or pagination limits beyond the default values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the core purpose, but it includes redundant content: 'Toolset: Admin' duplicates the parenthetical admin qualifier, and the parameter section repeats the schema exactly. It is not bloated, but not every line earns its place.
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?
For a simple read-only paginated list with two optional, well-documented parameters and strong safety annotations, the description is mostly sufficient. However, there is no output schema and the description does not explain the response shape or whether permission scope names/IDs are returned, leaving some ambiguity.
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%, with both pageNumber and pageSize already documented with defaults. The description simply repeats the schema parameters without adding extra meaning, so it neither compensates for a schema gap nor provides additional semantic value.
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 states a specific action and resource: 'List all available permission scopes (admin).' This clearly identifies the tool's purpose and distinguishes it from sibling admin tools that concern users, roles, or teams, though it does not explicitly contrast them.
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 guidance is provided on when to use this tool versus alternative admin list tools such as admin_list_roles or admin_list_users. The '(admin)' qualifier implies a prerequisite but no explicit usage context, exclusions, or decision guidance is given.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered by structured data. The description adds workspace scope and the admin requirement, but it does not clarify how pagination behaves or whether 'all teams' means all records across pages or just the default page's results. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and reasonably organized, but the 'Toolset: Admin' line largely duplicates the title/name, and the parameter section duplicates the input schema exactly. The core purpose sentence is front-loaded and clear, but some content does not add value beyond structured fields.
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?
For a simple read-only list operation with fully documented parameters and safety annotations, the description is mostly adequate. The main gap is the potential contradiction between 'List all teams' and the default page/size behavior, which is important for an agent to know whether a single call returns all teams or only a page. There is also no indication of what the response shape will be, and no output schema is present.
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 already documents q, page, and size with defaults and meanings. The description simply repeats the parameter list and defaults without adding extra semantics such as filtering behavior, maximum page size, or how q is matched against team names.
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 states a clear verb-resource pair: 'List all teams in the workspace (admin)'. It distinguishes the operation from related siblings like admin_get_team (single team) or admin_list_team_users (team members) by indicating the resource is teams and the scope is all teams. However, it lacks an explicit boundary like 'no filtering' and relies partly on the title/name for differentiation.
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 guidance is provided on when to use this tool versus alternatives such as admin_get_team, admin_create_team, or admin_list_team_users. The phrase '(admin)' hints at privilege requirements but does not state usage conditions, prerequisites, or when another team-related admin tool should be preferred.
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 supply readOnlyHint=false, destructiveHint=false, and idempotentHint=true, so the safety profile is known. The description adds the meaningful word 'replace', implying the provided fields define the new whole configuration rather than a partial update. It does not clarify whether omitted optional arrays are cleared or preserved, which is important for a replace operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The one-sentence core description is front-loaded and compact. However, the Description field then repeats the entire parameter list that already exists in the input schema, which is redundant and does not earn its place.
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 minimally sufficient for a team config replacement with schema-covered parameters and annotations that clarify idempotence and destructiveness. It is incomplete regarding behavior of omitted optional arrays and the expected response, and no output schema exists to fill that gap. Given the sibling admin_patch_team_users, a usage distinction would also improve completeness.
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 parameters are already fully documented in the schema; the baseline applies. The description's parameter list adds no extra semantics beyond the schema, such as effects of omission or relationships between fields. It is not misleading but also not additive.
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 opens with a specific action and resource: 'Replace a team's configuration (admin).' This clearly identifies the tool as an administrative full replacement of team settings, and the verb 'replace' helps distinguish it from read/list/create/delete team siblings. It does not explicitly distinguish from admin_patch_team_users or admin_set_team_users, but the phrase 'team's configuration' conveys a broader scope.
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?
The description provides no guidance on when to choose this tool over alternatives. It does not mention that this is a full replacement rather than a partial/patch-style update, and it gives no preconditions such as requiring an existing team. The 'Admin' label adds little because it is already implied by the tool name and annotations.
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, idempotentHint=true, and destructiveHint=false, and the description's 'Fetch' aligns with a non-mutating operation. The description adds no further behavioral detail such as pagination behavior, result shape, or empty-result semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is clear and front-loaded, but the description then redundantly repeats the full parameter schema. It is not badly organized, but the duplicated parameter list adds noise without providing new 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?
For a read-only fetch tool with six simple parameters, required inputs are clear and annotations cover the safety profile. However, there is no output schema and the description does not describe what the returned verification results contain or how pagination affects them, leaving a notable gap.
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 applies. The description's parameter list exactly duplicates the schema field names and descriptions and adds no additional semantics such as value formats, parameter relationships, or pagination interpretation.
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 specific action (fetch verification results) and identifies the exact scope: a consumer-provider version pair in Bi-Directional Contract Testing. It is generally clear, though it does not explicitly distinguish itself from closely named siblings such as get_bdct_consumer_contract_verification_results or get_bdct_provider_check_results_by_consumer.
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 guidance is provided about when to use this tool over alternatives. The only context is the 'Bi-Directional Contract Testing' toolset label, with no exclusions, alternatives, or prerequisites 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 establish that this is read-only, idempotent, and non-destructive, so the description only needs to add artifact-level behavior. It does say the result is a provider OpenAPI contract scoped to a version pair, which is useful. However, it does not mention pagination behavior or response shape despite pageNumber/pageSize parameters, so it only moderately supplements 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is sharp and front-loaded. But the following Parameters section duplicates the input schema nearly word-for-word, adding length without new information; this redundancy depresses the score.
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 four required parameters are fully captured and the core purpose is clear enough for a basic call. With no output schema, though, the description should say more about the return structure and pagination behavior; right now the singular 'provider OpenAPI contract' conflicts with pagination parameters, and the many sibling tools are not disambiguated.
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 input schema already documents every parameter. The description's parameter bullets repeat the schema verbatim without adding semantics such as value formats, source, or interactions. 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?
The description opens with a concrete verb and resource: 'Fetch the provider OpenAPI contract for a specific consumer-provider version pair in Bi-Directional Contract Testing.' This tells an agent what the tool returns and at what scope, and aligns with the tool name. It does not explicitly compare with the similar sibling get_bdct_provider_contract, so it stops short of a 5.
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?
The description contains no guidance about when to choose this tool over alternatives; there is no 'use this when...' or 'prefer X instead' statement. Only the toolset label and name signal its niche, which is not enough to route an agent among the many BDCT sibling 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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description's word 'Fetch' is consistent with those. The description adds the scoping constraint 'specific consumer-provider version pair' but does not disclose result shape, pagination behavior, or potential error conditions, so it contributes only modest 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is concise and informative. However, the 'Toolset' line is redundant with the title, and the explicit Parameters block duplicates the input schema almost verbatim, adding bulk without new 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?
For a read-only fetch tool with full parameter schema coverage and safety annotations, the description is minimally viable: it specifies the resource and all required identifiers. Yet there is no output schema and no description of what the returned verification results contain or how pagination behaves, which leaves some ambiguity when an agent interprets the response.
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 already documents all six parameters with names, types, defaults, and descriptions. The description's Parameters section merely repeats that information and does not add semantic value such as value formats, parameter relationships, or interpretation of the pagination fields.
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 opening sentence names a specific verb ('Fetch'), a clear resource ('cross-contract verification results'), and the scope ('specific consumer-provider version pair'). It is not vague or tautological, but it does not differentiate this tool from near-siblings like contract-testing_get_bdct_cross-contract_verification_results or the other 'by consumer' BDCT getters, so it does not earn a 5.
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?
There is no guidance about when to choose this tool over the many similar BDCT result-fetching siblings. No alternatives are named, no exclusions are stated, and no 'use this when...' context is provided beyond the fact that a consumer and provider version pair is required.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds little behavioral context beyond the word 'Retrieve' and does not explain pagination behavior or the structure of the returned graph, but the annotations cover the key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The core description is a single clear sentence, but the parameter list is fully redundant with the schema, and the 'Toolset' line adds limited value. The overall size is acceptable, but not every section earns its place given the duplicate parameter documentation.
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?
With no output schema, the description should clarify what the 'integration network graph' contains, but it only names the resource without describing its structure. Invocation requirements are clear, with one required parameter and optional pagination, but the return value is underspecified, leaving a moderate gap in completeness.
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 already documents all three parameters with descriptions and defaults. The description repeats the parameter information verbatim, adding no additional meaning about formats, constraints, or relationships. A baseline score of 3 is appropriate because the schema does the heavy lifting.
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 uses a specific verb 'Retrieve' and identifies the resource as 'integration network graph for a specific pacticipant', which clearly conveys what the tool does. It does not explicitly name sibling tools to differentiate itself, but the unique 'network graph' scope distinguishes it from related tools like list_pacticipants and list_integrations.
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?
The description provides no guidance on when to choose this tool over alternatives, nor does it mention any exclusions or prerequisites. The 'Toolset: Integrations and Network' label is a category tag rather than actionable usage direction, leaving the agent to infer when this tool is appropriate.
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 phrase 'Record that... has been deployed' usefully clarifies that this tool records a deployment event rather than performing an actual deployment. Annotations already cover readOnly=false and destructive=false; the description adds only modest behavioral context and no side-effect or idempotency detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The main purpose sentence is front-loaded and clear, and the format is readable. However, the inline parameter list largely duplicates the input schema, so it adds redundancy rather than genuinely new 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?
For a simple write operation with a fully documented schema, the required call shape is present and all parameters are described. It omits operational consequences, output/return behavior, and any note about how this relates to other environment/deployment tools, leaving the description only partially 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 description coverage is 100%, and the parameter list in the description exactly mirrors the schema descriptions, adding no new semantic value. Baseline 3 applies because the structured schema carries the parameter-documentation burden.
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 opening sentence uses a specific verb and object — 'Record that a version of a pacticipant has been deployed to an environment' — making the core operation clear. It does not explicitly contrast with sibling tools like contract-testing_record_release, so it stops short of full sibling differentiation.
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?
The description provides no when-to-use guidance or exclusions. It doesn't tell the agent when to prefer this over contract-testing_record_release or mention prerequisites such as the environment already existing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate that this is a write operation (readOnlyHint=false) but non-destructive and idempotent. The description adds little behavioral context beyond restating that it updates metadata, such as what happens to unspecified fields, whether displayName and teamUuids are replaced in bulk, or what the API returns on success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and informative, but the parameter list duplicates the input schema almost verbatim. This redundancy means not every line earns its place, though the overall structure is readable and not excessive.
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?
For a five-parameter update tool with full schema coverage and annotations covering idempotency and non-destructiveness, the description is minimally adequate. However, it does not explain the effect of omitting optional fields, whether the update is partial or full replacement, or what result the caller should expect, which are relevant gaps given there is no output schema.
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 already documents all five parameters. The description repeats the parameter names and required flags without adding new meaning, which meets the baseline but does not go beyond what structured data 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 action ('Update'), the resource ('an existing environment'), and the scope ('metadata'), making it easy to distinguish from sibling tools like create_environment and delete_environment. The verb-resource pairing is specific and unambiguous.
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 guidance is provided on when to use this tool versus create_environment, delete_environment, or list_environments. The description implies the user already knows they want to update an existing environment, but it does not state conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a mutating, non-destructive, idempotent operation, and the description adds little beyond that: it only says 'update existing webhook's configuration.' It does not clarify whether omitted optional fields are preserved or reset, what happens if the webhook does not exist, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and clear, but the description then duplicates the entire parameter list that already exists in the schema. The bullet list adds length without value, so not every part of the description earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with eight parameters and nested objects, the description is too thin: it does not state whether the update is a full replacement or partial update, does not describe the result or errors, and does not connect to sibling tools like get_webhook or create_webhook. The schema covers parameter semantics but not operational 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 the input schema already documents every parameter and its meaning. The description repeats these parameter names and short descriptions but adds no new semantics, validation detail, or guidance 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 states a clear verb and resource: 'Update an existing webhook's configuration.' The word 'existing' distinguishes it from creation, and the tool name plus sibling names like create_webhook and delete_webhook reinforce the intended operation.
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 phrase 'existing webhook' implies this tool is for modifying an already-created webhook rather than creating a new one, but it does not explicitly state when to choose this over alternatives or mention prerequisites such as fetching the webhook first. Usage guidance is implied, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds no behavioral context beyond the parameter format and examples; it does not mention response behavior, error cases, or any side effects, though none are expected for a read-only get operation.
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 well-structured with clear sections for parameters and examples, and it is appropriately compact for a one-parameter tool. The repeated 'Expected Output: The test execution with its details' lines are somewhat redundant and add little 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 simple, read-only, single-parameter fetch tool, the definition is largely complete: the schema covers the parameter, annotations cover the behavioral safety profile, and an output schema exists. The examples clarify both supported identifier formats, leaving no critical gap 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 the schema includes the same parameter description plus a regex pattern. The description adds two concrete examples using an id ('1') and a key ('PROJ-E123'), which is helpful, but it does not provide meaning beyond what the schema already conveys.
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 states a specific verb ('Get details'), the resource ('test execution'), and the lookup mechanism ('specified by id or key'), making the tool's purpose clear. It does not explicitly name sibling tools like zephyr_get_test_executions, but the singular resource and the id/key qualifier distinguish it well enough.
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 guidance is given about when to use this tool versus alternatives such as zephyr_get_test_executions (the plural listing tool). The intended use is only implied by the parameter name and examples, and there is no mention of exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a mutation (readOnlyHint=false), but the description adds no behavioral context beyond the basic action. It does not disclose whether applying an existing label is idempotent, whether duplicate labels can occur, or what side effects or errors should be expected.
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 definition is compact and front-loaded with the core action. The parameter list is somewhat redundant because it duplicates the schema, but it does not significantly bloat the description and the overall structure is clear.
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?
For a simple two-parameter mutation, the description plus schema is generally sufficient to invoke the tool. However, key operational context is missing, such as whether adding the same label twice has any effect, whether the label must already exist, and any constraints around the pacticipant name.
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 input schema already documents both parameters. The description repeats the schema's parameter names and descriptions without adding extra semantics such as value formats, label existence requirements, or relationships between the 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 uses a specific verb ('Apply') and a clear resource ('label to a pacticipant'), making the operation unambiguous. It also distinguishes naturally from the sibling tool contract-testing_remove_label_from_pacticipant, so an agent can tell addition from removal without opening the schema.
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 guidance is provided on when to use this tool versus alternatives, nor are prerequisites mentioned such as whether the pacticipant or label must already exist. The 'Toolset: Labels' label provides minimal grouping context but no explicit decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true. The description adds no additional behavioral context such as irreversibility, cascading effects, permissions, or what happens to related data. It merely restates the delete action already obvious from the name.
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 short and front-loaded with the core action. The toolset and parameter listing are useful, though the parameter block is partially redundant with the input schema, preventing a perfect score.
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 tool is simple with one parameter and annotations cover its destructive nature. However, the description omits any details about deletion consequences, success response, or required permissions, leaving some ambiguity for a mutating operation.
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%, and the description's parameter section simply duplicates the schema's own roleId description. No extra meaning, format constraints, or relationships are added, so the baseline 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 states a precise action ('Delete') and resource ('role'), with '(admin)' clarifying the toolset. It is unambiguous and distinguishable from sibling tools like admin_delete_user or admin_update_role.
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?
There is no guidance on when to use this tool versus alternatives like admin_reset_roles, admin_update_role, or other admin deletes. The toolset label is helpful but does not convey usage context, prerequisites, or exclusions.
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 destructiveHint=true, readOnlyHint=false, and idempotentHint=true, so the core safety profile is known. The description adds the 'admin' scope but does not disclose whether deletion is permanent, whether it cascades to related resources, or what side effects may occur. No contradiction 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose. The parameter section is redundant with the input schema but is minimal and does not significantly harm readability. A slightly leaner version could drop the repeated parameter details.
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?
Given the single parameter and existing annotations, the description is mostly adequate for invoking the tool. However, for a destructive admin operation, it does not explicitly state that the deletion is irreversible, whether it affects team members or dependencies, or what success/failure looks like since there is no output schema.
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%, and the description only repeats exactly what the schema already says: teamId is a required UUID string. No additional meaning, formatting guidance, or value constraints are provided beyond the schema.
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 uses a specific verb and resource: 'Delete a team (admin).' It clearly identifies the operation and distinguishes it from sibling admin team operations by the delete action. However, it largely restates the tool name and does not add any differentiating context beyond 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 Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like admin_update_team or admin_get_team. The description implies the obvious use case—deleting a team—but provides no exclusions, prerequisites, or decision context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=true, so the description adds little beyond what is already structured. It does not disclose irreversibility, cascading effects on related data, or any security/permission requirements beyond the already present '(admin)' label.
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 short and front-loaded with the core action, followed by a minimal parameter list. It contains no filler, though the parameter list duplicates the schema; still, it remains appropriately sized for a simple one-parameter tool.
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?
For a single-parameter admin delete with no output schema, the description covers the essential action and parameter. However, it omits any mention of error cases, what happens to the deleted user's data, or how this interacts with team memberships and roles, leaving some ambiguity in a destructive Admin operation.
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% with a single parameter userId, and the schema itself provides the description 'UUID of the user'. The description only repeats this information without adding meaning such as format, examples, or how to obtain the UUID.
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 and resource: 'Delete a user account (admin).' This clearly distinguishes it from sibling tools like admin_update_user, admin_create_user, and admin_invite_users, so an agent can identify the correct operation without opening the schema.
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?
The description provides no explicit guidance about when to use this tool versus alternatives, nor does it mention prerequisites or conditions. The 'admin' qualifier hints at scope but does not say, for example, when deletion is preferred over updating or deactivating a user.
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 this is a non-read-only, non-idempotent, non-destructive operation with open-world side effects. The description adds minimal behavioral context beyond 'send invitations,' and does not explain what happens after invitations are sent, such as email delivery or whether duplicate invites are allowed. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the action sentence, but the 'Toolset: Admin' line duplicates the title, and the 'Parameters' section repeats what the input schema already provides. Some redundancy prevents a higher conciseness score.
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?
This is a low-complexity tool with one well-documented required parameter and annotations covering idempotency, destructiveness, and side effects. The description is nearly sufficient for an agent to invoke it correctly, though it could be more complete by clarifying invitation behavior and expected results.
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%, and the schema already documents the users array, its required email/name fields, and minItems. The description's parameter section merely restates the schema without adding extra meaning or usage detail.
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 states a specific verb and resource: 'Send invitations to new users (admin).' This clearly identifies the action and distinguishes it from listing, updating, or deleting users. It does not explicitly contrast with the sibling admin_create_user, but 'invite' versus 'create' is still a meaningful distinction.
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?
The description gives no guidance on when to use this tool versus alternatives such as contract-testing_admin_create_user, nor does it explain whether users must already exist or what conditions apply. The '(admin)' tag signals scope, but not usage context or exclusions.
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 carry destructiveHint=true and idempotentHint=true, and the description does not contradict them. It adds the auth context '(admin)' and clarifies the scope is team membership rather than user deletion, but it does not disclose further side effects, reversibility, or error behavior.
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 operation sentence is front-loaded and the description is compact. The parameter block and 'Toolset: Admin' line repeat information already available from the schema and title, so not every piece truly earns its place, but there is no fluff.
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?
For a two-parameter mutation with full schema coverage and clear destructive/idempotent annotations, the description is minimally sufficient to identify required UUIDs and the operation. It lacks guidance on side effects, return value, or failure modes, but these are less critical for such a simple admin removal.
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 fully documents teamId and userId as UUIDs. The description's Parameters section merely repeats the schema and adds no additional meaning, constraints, or relationships between the parameters.
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 first sentence uses a specific verb and resource: 'Remove a specific user from a team', which clearly identifies the operation. It stops short of explicitly contrasting itself with sibling admin tools like delete_user or set_team_users, so the differentiation is implicit rather than stated.
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?
Aside from the 'Toolset: Admin' label, the description provides no when-to-use guidance and no exclusions. With many similar admin user/team siblings, an agent is not told when to prefer this tool over removing a role, deleting a user, or bulk-setting team members.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the description adds no new behavioral information. It does not disclose whether deletion is permanent, whether associated deployments or releases are removed, or whether there are any side effects beyond removing the environment itself.
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 short and front-loaded with the core action, and the toolset label aids orientation. The parameter section duplicates schema information, but this is minor given the tool's simplicity.
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?
For a single-parameter deletion tool, the description is minimally sufficient: the agent knows what to delete and by what identifier. However, given that this is a destructive operation and there is no output schema, some mention of consequences or the irreversibility of the deletion would improve completeness.
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%, and the sole parameter environmentId is fully described in both the schema and the description as 'UUID of the environment'. The description adds no meaning beyond the schema, 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 ('Delete'), a concrete resource ('an environment'), and the identifying key ('by UUID'). This clearly distinguishes it from sibling tools like contract-testing_create_environment, contract-testing_update_environment, and contract-testing_get_environment without requiring schema inspection.
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?
The description gives no guidance on when to use this tool versus alternatives such as contract-testing_update_environment or contract-testing_list_environments. It also does not mention any prerequisites, safety checks, or conditions under which deletion is appropriate. Usage is only implied by the tool name and title.
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 communicate that this is non-read-only, non-idempotent, and non-destructive. The description adds that this is a 'test execution,' implying a manual trigger with side effects but no data destruction. Still, it does not explain whether the webhook call is asynchronous, what external request is fired, or what a successful execution returns, and there is no output schema to fill that gap.
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 short, front-loaded with the primary action, and logically structured into action, toolset, and parameters. The Parameters block is redundant with the schema but harmless, and the overall length is appropriate for the tool's simplicity.
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?
For a one-parameter tool, the essential invocation data is fully specified, and annotations cover the safety profile. However, with no output schema, the description leaves open what happens when the webhook is executed, whether it is synchronous, and how the agent should verify success. These are meaningful gaps, but minor given the simplicity of the call.
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 already fully documents webhookId with the same description ('UUID of the webhook'), and the tool description repeats it verbatim without adding format, source, or lookup guidance. Since schema description coverage is 100%, the baseline score of 3 applies.
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 action ('Trigger a test execution'), the resource ('a specific webhook'), and the toolset context ('Webhooks'). It is not a tautology and the singular scope is evident from the wording and parameter. However, it does not explicitly differentiate itself from the sibling tool contract-testing_test_execute_webhooks, so it falls short of full distinction.
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?
There is no explicit when-to-use or when-not-to-use guidance. The description does not mention alternatives, prerequisites, or when this should be chosen over other webhook-related tools such as contract-testing_list_webhooks or contract-testing_test_execute_webhooks. The 'Toolset: Webhooks' label provides context but no selection 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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context by specifying 'self-verification results' and the consumer-provider pairing, but it does not go beyond that to explain response shape, pagination behavior, or any other runtime characteristics.
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 well-structured and reasonably concise: it leads with a clear purpose, identifies the toolset, and lists parameters with defaults. There is no fluff, though the parameter list slightly duplicates the schema.
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 invocation requirements are covered because all parameters are listed with defaults and the schema is complete. However, there is no explanation of the return format, and given the large number of similar sibling tools, more contextual detail about this specific result type would improve completeness.
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 input schema already documents all parameters. The description restates the parameter names and defaults but adds no meaning beyond what the schema provides, which meets the baseline expectation.
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 states a specific action ('Fetch') and a specific resource ('provider contract self-verification results for a specific consumer-provider version pair'). It clearly identifies the subject matter, though it does not explicitly differentiate itself from closely related siblings like get_bdct_provider_contract_verification_results.
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?
The description gives no guidance on when to use this tool versus the many similar contract-testing tools in the sibling list. It does not state conditions, exclusions, or alternatives, leaving the agent to infer the appropriate context from the name and parameter list alone.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description adds useful scoping context by specifying 'self-verification results for a provider contract version,' which helps distinguish this from consumer or cross-contract verification outcomes. It does not disclose further behavioral details like authentication requirements, rate limits, or return envelope, but the annotations lower the bar and the description is not contradictory.
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 reasonably compact, opens with the core action and resource, and then lists parameters in a scannable format. The parameter section is largely redundant with the input schema, which is minor waste, but the overall structure is clear and front-loaded. No unnecessary prose or tangential context appears.
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 core required inputs and pagination controls are present, and annotations cover the operational safety profile. However, without an output schema, the description is vague about what the 'verification results' actually contain, how they are structured, or what a successful/unsuccessful self-verification looks like. Given the dense ecosystem of similar contract-testing tools, a bit more domain context would improve completeness, but the description is minimally viable.
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 input schema fully documents all four parameters and their defaults. The description repeats the parameter list almost verbatim without adding deeper meaning such as value formats, allowed identifiers, or how pagination affects results. This sits at the baseline for high schema coverage, meeting the minimum viability but adding no extra semantic value.
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 states a specific action ('Fetch') and a specific resource ('self-verification results for a provider contract version'), clearly identifying the object of the operation. However, it does not explicitly distinguish itself from closely related siblings like get_bdct_consumer_contract_verification_results or get_bdct_cross-contract_verification_results, relying on the 'provider' and 'self-verification' wording to imply the distinction.
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 guidance is given about when to use this tool versus the many similar contract-testing verification tools. There are no explicit alternatives, exclusions, or conditions that would help an agent decide between this and get_bdct_consumer_contract_verification_results or get_bdct_cross-contract_verification_results. The usage context is only implied by the tool name and resource wording.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the 'currently deployed' state aspect but does not explain pagination behavior or what the returned payload contains; no contradiction 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short and front-loaded, opening with the purpose statement. The toolset label and parameter block are compact, though the parameter details largely duplicate the input schema, preventing a top score.
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?
For a simple paginated read operation, the description plus rich annotations is mostly sufficient, but it does not clarify whether pagination means 'all versions' are returned at once, and it does not distinguish this from closely named sibling tools. There is no output schema, so a note on the expected response would strengthen completeness.
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 fully documents environmentId, pageNumber, and pageSize. The description merely repeats those parameter descriptions and adds no 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Retrieve') and resource ('all versions currently deployed to a given environment') and clearly identifies the required environment scope. It does not explicitly contrast itself with sibling tools such as get_deployed_versions_for_version or get_currently_supported_versions, so it falls short of full differentiation.
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?
The description provides no guidance on when to choose this tool over its siblings, no exclusions, and no mention of alternatives like get_deployed_versions_for_version or list_environments. The only implied context is that an environmentId is needed, which is already in the schema.
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, idempotentHint=true, and destructiveHint=false, so the description doesn't need to restate that this is a safe read operation. It does add that the result is deployment records for a specific version and environment, but it adds no behavioral context such as pagination handling, response format, or ordering. The description is consistent with the annotations and 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose sentence is front-loaded and clear, and the parameter list is formatted cleanly. The list is somewhat redundant given the input schema, but the description remains short and readable. No extraneous marketing language or filler is present.
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?
For a simple read-only retrieval tool with fully documented parameters and safety annotations, the description is mostly adequate. However, without an output schema, it would have been helpful to clarify that results are paginated and whether 'deployment records' means historical records as opposed to currently deployed versions, especially given the sibling tools.
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 already documents every parameter, including defaults for pageNumber and pageSize. The description simply repeats the parameter names, types, requiredness, and defaults already in the schema, adding no new semantic meaning beyond what structured data provides.
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 uses a specific verb ('Retrieve'), a clear resource ('deployment records'), and narrows the scope to 'a specific pacticipant version in a specific environment.' This distinguishes it from related tools like get_currently_deployed_versions, though it doesn't explicitly contrast itself with get_released_versions_for_version or mention alternates by name.
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?
The description provides no guidance on when to choose this tool over sibling tools such as get_currently_deployed_versions or get_released_versions_for_version. The 'Toolset: Environments and Deployments' line is categorization, not usage direction. An agent would have to infer the appropriate context from the tool name and first sentence alone.
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, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the 'current user' scope but says nothing about response format, token masking, pagination behavior, or authentication requirements. It is not misleading, so a 3 is appropriate.
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 short and front-loaded with the core action. The 'Toolset' line is low-value, and the parameter list duplicates the schema, but the overall length is acceptable and there is no verbose filler.
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?
For a simple read-only list operation with two optional pagination params and annotations covering safety, the description is mostly adequate. However, there is no output schema and the description does not hint at the response shape (e.g., token metadata, masking, pagination totals), leaving the agent to guess about the returned payload.
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% — both pageNumber and pageSize have descriptions and defaults in the schema. The description merely repeats this information without adding semantics like range limits, indexing style, or maximum page size, so it adds no value beyond the schema.
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 states a specific verb and resource: 'Retrieve API tokens for the current user.' This clearly differentiates the tool from token creation/regeneration and from admin/system-account token listing by scoping to the current user. It does not explicitly name a sibling alternative, but the scope is a meaningful differentiator.
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 when-to-use guidance or exclusions are provided. The description does not mention that this lists only the user's own tokens, nor does it contrast with related tools like contract-testing_admin_get_system_account_tokens or contract-testing_regenerate_api_token. An agent must infer usage from the name and the 'current user' scope.
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=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the destination (Pact Broker/PactFlow) and metadata capabilities, but it does not disclose overwrite behavior, authentication needs, or other side effects. This is enough to slightly raise it above baseline, but not by much.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is crisp and front-loaded, but a large parameter block repeats the schema almost word-for-word. Given that a complete schema is already provided, this duplication is unnecessary and makes the description longer than it should be. The parameter list does not earn its place.
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 plus schema provide enough to call the tool correctly, including required parameters, types, and nested contract object structure. Minor gaps remain: no mention of authentication, return values, or the relationship between pacticipantName and the contracts' consumerName. These omissions are not severe given the 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%, so all six parameters are fully documented in the input schema. The description's 'Parameters' section is essentially a verbatim copy of the schema's descriptions and adds no new meaning beyond human-readable formatting. Baseline 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 uses a specific verb ('Publish') and names the exact resource ('consumer Pact contracts') and destination ('Pact Broker or PactFlow'). It also mentions branch and tag metadata, clearly distinguishing it from provider-side contract publishing by explicitly saying 'consumer'.
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 guidance is given on when to use this tool versus alternatives. It does not mention the sibling contract-testing_publish_provider_contract or any other Pact tools, and there are no conditions or exclusions. The only context is the generic 'Toolset: Contracts' label, which is too weak to route an agent effectively.
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, idempotentHint=true, and destructiveHint=false, so the safe read-only nature is covered. The description adds that the result includes name, description, and all recorded steps, which is useful given there is no output schema, but it does not describe response format, errors, or other behavioral edge cases.
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 core description is one concise, front-loaded sentence that communicates the essential purpose and return content. The toolset label and parameter block are mildly redundant with the schema, but the overall length is appropriate and not padded.
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 one-parameter, read-only retrieval tool with strong annotations, the description is mostly complete: it states the required ID and what the response contains. It could be more complete by noting alternatives or exact response shape, but no output schema exists and the description covers the essential invocation 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% for the single testId parameter, and the description's parameter text duplicates the schema exactly. No additional format, example, constraints, or contextual meaning is added beyond the schema, so the baseline of 3 applies.
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 states a specific verb-resource pair: getting the full detail of a reflect test. It adds helpful specifics by listing name, description, and all recorded steps, which helps distinguish it from list/status siblings, though it does not explicitly name any alternative sibling.
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 guidance is given on when to use this tool instead of siblings such as reflect_list_tests or reflect_get_test_status. The description simply describes the action without exclusions, prerequisites, or alternative routing.
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 establish that this is read-only, idempotent, and non-destructive, so the description does not need to restate safety. It adds no meaningful behavioral context beyond the annotated traits; 'match your criteria' is vague and not backed by additional parameters. There is no contradiction with annotations, so a mid-range score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The main sentence is concise and front-loaded with the action. However, the description includes a redundant 'Toolset: Products' label and a parameters section that duplicates the input schema, which means not every element earns its place. It is compact but not zero-waste.
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 tool with a single required parameter, strong read-only annotations, and an output schema, the description plus structured metadata is largely sufficient to invoke the tool correctly. The main gap is the lack of routing among sibling tools, but that is partly covered by the tool's name and the clear portal scope.
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 has 100% coverage for the only parameter, portalId, and the description repeats the same semantic content rather than adding new meaning. Per the baseline rule, a 3 is appropriate when the schema already documents parameters fully. The vague 'match your criteria' hint is not actionable enough to raise the score.
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 names a clear verb and resource: 'Get products for a specific portal'. The plural 'products' and the portal scope distinguish it from sibling tools such as swagger_get_portal_product and swagger_list_portals. However, it doesn't explicitly differentiate from those alternatives or clarify what 'match your criteria' means, so it falls just short of a 5.
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?
There is no guidance on when to use this tool versus sibling tools like swagger_get_portal_product, swagger_list_portals, or swagger_list_portal_product_sections. The phrase 'for a specific portal' implies a scoping, but no exclusions, alternatives, or selection criteria are provided.
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 signal destructiveHint=true and idempotentHint=true, so the mutation profile is partially covered. The description's parameter notes add useful side-effect context, such as subdomain 'changes the portal URL' and offline 'hides portal from customers', though it does not discuss permissions, reversibility, or broader destructive impact. No contradiction 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.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose statement is front-loaded and clear, but the description then duplicates the entire 10-parameter input schema nearly verbatim. Most of the parameter entries do not earn their place because the agent already has that information in the structured schema.
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?
All parameters are documented, the required portalId is obvious, and an output schema exists, so an agent can construct a valid call. However, the description lacks guidance on prerequisites, when updating is appropriate, and what post-update side effects to verify, so it is adequate but not 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 description coverage is 100%, so the schema already documents all parameters thoroughly. The description's parameter list essentially mirrors the schema without adding new semantic meaning, so it stays at the baseline for high schema 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 states a clear verb and resource: 'Update a specific portal's configuration.' This distinguishes it from create/get/delete portal tools, though it does not explicitly name sibling tools to differentiate from update_portal_product.
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 verb 'Update' and resource 'portal' imply this is for modifying an existing portal, but there is no explicit when/when-not guidance or mention of alternatives like swagger_create_portal or swagger_get_portal. The 'Toolset: Portals' line provides only weak context.
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 signal readOnlyHint=false and idempotentHint=false, which the description's 'Create a new link' aligns with. The description adds the expected output ('The newly created Issue Link with its ID and self link'), which is useful. However, it does not disclose what happens on duplicate links, whether missing test cases/issues cause failures, or any permission requirements — behavior an agent would want given the non-idempotent hint.
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 purpose is front-loaded in a single clear sentence, followed by well-labeled sections for toolset, parameters, and a worked example. The example earns its place by showing both parameters in context. Some redundancy exists since the parameter list duplicates the schema's descriptions, but overall the structure is efficient.
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?
With an output schema present, return values are structurally covered, and the description adds an 'Expected Output' note anyway. Purpose, parameters, example, and output are all addressed. The clear gaps are the absence of sibling differentiation from the other create-issue-link tools and the lack of duplicate/error behavior disclosure, which leaves a moderately complex linking operation slightly under-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 description coverage is 100%, so baseline 3 applies. The description restates the schema descriptions nearly verbatim for both parameters, adding little semantic value beyond the schema. The worked example is useful but flawed: it shows 'issueId': '10100' as a string, contradicting the schema's declared integer type, which could mislead an agent copying the example.
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 first sentence, 'Create a new link between an issue in Jira and a Test Case in Zephyr', states a specific verb and resource. It implicitly differentiates from the near-identical siblings zephyr_create_test_cycle_issue_link and zephyr_create_test_execution_issue_link by explicitly naming 'Test Case', but it never names those alternatives, so differentiation is left to inference.
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?
The description gives no guidance on when to use this tool versus its close siblings (zephyr_create_test_cycle_issue_link, zephyr_create_test_execution_issue_link, zephyr_create_test_case_web_link). The example demonstrates how to call it but provides no decision rule, exclusions, or conditions for when this link type is appropriate over the others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds only the expected output phrase, which is already covered by the output schema, and no additional behavioral context such as pagination, authorization, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
Starts with a clear one-line purpose and is organized with headings. However, the Parameters section duplicates the schema, and the 'Expected Output' line is repeated verbatim in both examples, adding redundancy; a minor typo ('oftest') also appears.
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 one-parameter, annotated read-only tool with an output schema, the description covers the essential invocation details with two representative examples. It does not explain what kinds of links are returned or how to handle missing executions, but the output schema and simple API make this a minor gap.
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?
Input schema already documents testExecutionIdOrKey with pattern and format, so schema coverage is 100%. The description repeats this and adds concrete examples of both ID and key forms, which is mildly helpful but not semantically new.
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 opening sentence names a precise action ('Get links') and target ('a specific test execution'), so an agent immediately knows what resource is affected. It differentiates from sibling zephyr_get_test_execution by emphasizing links, though it doesn't explicitly call out alternatives.
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 it—whenever links for a known test execution are needed—and groups it under 'Test Executions.' It offers no explicit guidance on when to prefer it over zephyr_get_test_execution or the cycle/case link tools, and no exclusions.
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 a mutating, non-idempotent operation (readOnlyHint=false, idempotentHint=false), so the description's 'Create' confirms the action type rather than contradicting it. It adds little beyond that—no mention of auth requirements, uniqueness, side effects, or return behavior—though 'Toolset: Admin' hints at privilege.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the primary action, and the Toolset/Parameters layout is scannable. However, the Parameters block duplicates the schema, so not every part of the description earns its place.
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?
For a one-parameter creation tool, the minimum required to invoke it—action and required field—is present. Missing context about output, naming constraints, or admin permissions keeps it from being complete, but the low complexity and annotation coverage make it adequately usable.
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 already fully documents the single required `name` parameter with 100% coverage. The description's Parameters section repeats that information without adding constraints, defaults, or examples, so it meets the baseline but adds no extra semantic value.
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 uses a specific verb ('Create') and identifies the resource ('a new system account'), and the 'Toolset: Admin' heading clarifies the administrative scope. The parenthetical '(admin)' is slightly ambiguous, but the action and object are clear enough to distinguish this from most 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 Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or alternative guidance; an agent must infer that this tool is for creating system accounts. 'Toolset: Admin' provides loose context, but it doesn't differentiate this from admin_create_user or admin_create_team or state prerequisites.
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 carry the key safety information: destructiveHint=true and idempotentHint=true. The description adds only the 'Toolset: Admin' context and the granularity of removing a single role, but it does not describe permissions, reversibility, or behavior when the user does not currently have the role. It is aligned with the annotations and minimally adequate, but not richly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening action is front-loaded and clear, which is good. However, the description includes a full Parameters section that duplicates the input schema verbatim, making the definition less economical than it should be. It remains short, but not every element earns its place.
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?
For a simple two-parameter admin mutation, the annotated destructive/idempotent hints and fully covered schema provide a reasonable baseline. Still, since there is no output schema, a brief note about the expected outcome, return value, or failure mode would make the tool easier to invoke correctly. The description is minimally sufficient but leaves these gaps.
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?
Both userId and roleId are fully documented in the input schema, which has 100% schema description coverage. The description's parameter list simply repeats the schema text and adds no new constraints, format details, or relationships between the 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 uses the explicit verb 'Remove' with a specific object—a single role from a user—which clearly states the action. The word 'single' helps distinguish this from bulk role operations like admin_set_user_roles and from the opposite operation admin_add_role_to_user. The admin scope is also reinforced by title and toolset.
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?
There is no guidance on when to choose this tool over admin_add_role_to_user or admin_set_user_roles, and no prerequisites are stated. The 'Toolset: Admin' label provides some context but does not explain conditions for use or 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 establish that this is non-read-only, idempotent, and non-destructive. The description adds meaningful context by specifying that the role must already exist ('existing role') and labeling the operation as admin-level, which helps the agent understand authorization scope. There is no contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is efficient and front-loaded with the core purpose. However, the 'Toolset: Admin' line and the full parameter list duplicate information already present in the annotations and schema, adding unnecessary redundancy.
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 tool is simple and all four parameters are fully documented in the schema, with annotations covering mutation, idempotence, and safety. However, there is no output or response information, and no explanation of side effects or when to prefer this over related role operations, which leaves some contextual gaps.
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%, and the parameter block in the description merely restates the schema's definitions for roleId, name, permissions, and description. No additional semantic detail, value formats, or behavioral constraints are provided beyond what the structured schema already offers.
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 specific action and resource: 'Update an existing role's name and permissions (admin).' The word 'existing' distinguishes it from role creation, and the resource and updatable fields are clear. It does not explicitly name sibling alternatives, so it falls just short of full differentiation.
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 guidance is given on when to use this tool versus admin_create_role, admin_delete_role, or role-assignment tools. The description only restates the operation and the toolset; there are no exclusions, prerequisites, or alternative routing cues.
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 mark this as a write operation (readOnlyHint=false), non-idempotent, and non-destructive. The description adds a small behavioral detail by saying the webhook 'trigger[s] on contract events,' but it does not disclose permissions, rate limits, duplicate behavior, or what happens after creation. No contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is front-loaded and clear, and the parameter bullets are cleanly formatted. However, the bullet list duplicates information already present in the input schema, so it adds length without contributing new value.
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 plus schema provide enough to construct a valid create request, including required fields and nested request options. However, with no output schema, the description omits return values, response shape, and error/edge-case behavior, and it gives no practical context about webhook activation or scope.
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 already documents all seven parameters. The description's parameter list largely mirrors schema text (e.g., 'Human-readable description of the webhook') and adds no new constraints, examples, or relationships 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?
The first sentence states a specific verb and resource: 'Create a new webhook to trigger on contract events.' This distinguishes it from sibling tools like update_webhook, delete_webhook, list_webhooks, and execute_webhook without needing to inspect schemas.
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 guidance is given about when to choose this tool over contract-testing_update_webhook, list_webhooks, execute_webhook, or test_execute_webhooks. There are no prerequisites, exclusions, or alternative conditions mentioned; the only usage signal is the verb 'create.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark this as destructive and idempotent, and the description merely repeats the delete action without adding consequences, irreversibility, or side effects. It adds no behavioral context beyond what the annotations provide.
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 core description is a single clear sentence, and the parameter list is appropriately minimal. The 'Toolset: Webhooks' label adds light context, though the parameter block duplicates schema content unnecessarily.
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 one-parameter destructive operation with no output schema, the description provides enough to invoke the tool correctly. It lacks minor context such as side effects or feedback behavior, but the annotations cover the destructive nature.
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 fully documents webhookId as the UUID of the webhook. The description repeats this information without adding additional meaning, which matches the baseline 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 states a specific verb ('Delete') and resource ('a webhook') with the identifier type ('by UUID'). This clearly differentiates it from sibling webhook tools like list_webhooks, get_webhook, create_webhook, and update_webhook.
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?
The description gives no guidance on when to use this tool versus alternatives, such as when to choose delete over update or when a webhook should not be deleted. The usage context is only implied by the verb 'Delete', not explicitly 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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond identifying the resource, such as pagination behavior, return format, or what happens if no matching contract exists. It does not contradict the annotations, so the score stays at a baseline 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded with the core purpose. However, the 'Parameters' section duplicates information already present in the input schema, adding length without value. A shorter description relying on the schema would have been more efficient.
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?
For a simple read operation with all parameters documented in the schema, the description provides enough to invoke the tool. Yet it omits details about the response shape (no output schema) and how pageNumber/pageSize affect results, and it doesn't clarify the difference from the many similar sibling tools. This leaves the agent with some ambiguity.
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%, and the parameters section in the description simply repeats the schema's property descriptions. It adds no extra meaning about formats, constraints, or how the parameters interact. Baseline 3 is appropriate because the schema already documents all parameters.
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 states a specific action and resource: 'Fetch the consumer Pact contract for a specific consumer-provider version pair in Bi-Directional Contract Testing.' This clearly identifies what the tool returns and the precise selection criteria. However, it does not explicitly distinguish itself from closely named siblings like get_bdct_consumer_contracts or get_bdct_provider_by_consumer_version, so it stops short of a 5.
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 mentions 'Toolset: Bi-Directional Contract Testing' but provides no guidance on when to choose this tool over the many related get_bdct_* siblings. The phrase 'specific consumer-provider version pair' implies when it is appropriate, but no explicit exclusions or alternative tool references are given.
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, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the useful behavioral detail that omitting the tag returns the overall latest version, but it does not clarify return shape, ordering definition of 'latest', or not-found behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded. However, the 'Parameters' section duplicates what the input schema already states exactly, and the 'Toolset' label adds only marginal context. Some content does not earn its place given the schema coverage.
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?
For a simple read-only tool with complete schema descriptions and strong annotations, the description is adequate. Still, with no output schema, it could more clearly describe what a 'version' response contains and what 'latest' means operationally, and it does not help disambiguate between the many contract-testing version-related siblings.
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 already documents both parameters. The description repeats the schema's parameter descriptions without adding extra constraints, formats, or examples, meeting the baseline but adding no additional semantic value.
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 uses a specific verb ('Retrieve') and a clear resource ('latest version of a pacticipant'), and notes the optional tag filter. It does not explicitly name sibling tools like contract-testing_get_pacticipant_version or contract-testing_list_pacticipant_versions, but 'latest version' makes the focus reasonably distinct.
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 the tool is for fetching the newest version of a pacticipant, optionally filtered by tag, but it does not state when to prefer this over the many sibling get/list/version tools. No explicit alternatives or when-not-to-use guidance is provided.
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, idempotentHint=true, and destructiveHint=false, so the description does not need to cover safety. It adds little behavioral detail beyond the selection criteria; it does not mention pagination, response shape, rate limits, or auth requirements. This is acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is front-loaded and clear, but the description includes a 'Toolset' line and a full parameter list that duplicate schema information, so not every element earns its place. It is reasonably sized but not as tight as it could be.
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 schema and annotations handle parameter meaning and safety well, but the tool has a fairly complex nested selector structure and no output schema. The description does not explain the verification workflow context, how consumerVersionSelectors interact with WIP/pending flags, or what the returned data looks like. It is minimally viable with clear gaps.
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 applies. The parameter list in the description is a near-verbatim duplicate of the schema and adds no semantic nuance or examples beyond the structured definitions.
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 identifies the operation ('Retrieve the pacts...') and the resource scope ('that a provider should verify'), with extra specificity about selectors and WIP/pending configuration. It does not explicitly distinguish itself from related contract-testing tools, so it cannot be a 5.
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 phrase 'pacts that a provider should verify' implies this belongs in a provider-verification workflow, and the selector/configuration language hints at the intended use case. However, there is no explicit guidance about when to prefer this tool over related siblings such as matrix, can_i_deploy, or publish_consumer_contracts, and no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no behavioral details beyond restating the purpose and parameter list—no mention of result ordering, pagination limits, response shape, or other operational behavior.
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 compact and front-loaded, leading with the purpose and then organizing parameters under a toolset label. The parameter block mostly repeats schema content, so some lines are redundant, but the overall size is still appropriate and scannable.
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, paginated list operation with one required parameter, the description plus schema and annotations provides enough information for an agent to select and invoke it correctly. The absence of an output schema and lack of return-value detail are not critical for this straightforward retrieval task.
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 already documents all three parameters with defaults. The description's parameter section largely duplicates the schema and adds no richer meaning about formats, constraints, or how pagination interacts with 'all versions.'
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 opens with a specific verb and resource: 'Retrieve all versions for a given pacticipant.' This clearly states the tool's function and the word 'all' distinguishes it from single-version siblings like get_pacticipant_version and get_latest_pacticipant_version, though it does not explicitly name those alternatives.
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?
Usage context is only implied: 'Retrieve all versions for a given pacticipant' suggests it is for listing all historical versions rather than fetching a specific or latest version. The 'Toolset: Branches and Versions' label adds categorization but no explicit when-to-use guidance or exclusions versus closely related 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?
Annotations already signal that this is a non-read-only, non-destructive write, and the description reinforces it by saying it creates a link. It also adds return behavior by stating 'no output is expected' in both examples, though it does not address prerequisites, duplicate-link handling, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The structure is clear with headings and code-block examples, but the parameter list duplicates schema content and the two examples repeat the same expected-output sentence. It is organized yet slightly redundant.
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?
For a two-parameter tool, the examples and schema cover the mechanics of invocation, including both ID and key formats and no return value. Missing are usage context versus sibling link tools and any prerequisite/error information, so it is adequate but not 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 description coverage is 100%, so the baseline is 3 even without additional detail. The description's parameter list restates the schema rather than adding meaning; the examples usefully demonstrate both key (SA-E40) and numeric-ID forms but add no new semantics.
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 opens with a specific verb+resource: 'Create a new link between a Jira issue and a Test Execution in Zephyr', exactly matching the tool name. This clearly distinguishes it from sibling link tools like zephyr_create_test_case_issue_link and zephyr_create_test_cycle_issue_link by naming the resource type.
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 guidance is given about when to choose this tool over alternatives such as zephyr_create_test_case_issue_link or zephyr_get_test_execution_links. The 'Toolset: Test Executions' label provides category context and the examples show invocation, but there are no exclusions, prerequisites, or conditions for use.
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 establish the tool is not read-only, not idempotent, and not destructive. The description adds the admin context and single-role semantics, but it does not disclose what happens on duplicate assignment, whether the user or role must already exist, or any side effects beyond the role addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core action. However, the 'Parameters' block duplicates the schema verbatim, and 'Toolset: Admin' repeats title information, so some lines do not add new 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 simple two-parameter mutation with annotations and full schema coverage, the description is nearly sufficient: an agent can determine the operation, required parameters, and admin context. The main gap is explicit routing guidance versus admin_set_user_roles, but that is more a selection concern than an invocation blocker.
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 has 100% description coverage for both parameters, and the description restates the exact schema text for userId and roleId. It adds no new meaning beyond the parameter names, types, required flags, and UUID format already present in 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 states a specific verb ('Add'), resource ('a single role'), and target ('to a user'), plus the admin qualifier. The phrase 'single role' helps distinguish it from sibling admin_set_user_roles, which would set or replace multiple roles.
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?
There is no guidance on when to use this tool versus admin_set_user_roles or admin_remove_role_from_user. No preconditions, exclusions, or alternative-selection hints are given; only 'admin' is mentioned, which already appears in the title.
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 readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the description is consistent with a non-read-only, non-idempotent mutation. The description adds the 'admin' scope, which hints at privilege requirements, but does not disclose side effects, return values, or any pitfalls. This is adequate but not rich.
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 core statement is front-loaded and clear: 'Create a new team (admin).' However, the subsequent parameter list duplicates information already present in the input schema, adding unneeded length. The structure is clean and readable, but not every sentence earns its place.
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?
For a simple create operation with a fully documented schema, the description provides enough to invoke the tool with required parameters. However, there is no output schema and the description does not mention what response to expect, whether referenced UUIDs must already exist, or how this fits into team management workflows. Additional behavioral context would improve completeness.
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 fully documents name, administratorUuids, environmentUuids, and pacticipantNames. The description merely duplicates these parameter definitions without adding new semantics like relationships, validation rules, or usage examples. Baseline 3 is appropriate because the schema carries the descriptive burden.
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 and resource: 'Create a new team (admin).' The action is unambiguous and the 'admin' qualifier distinguishes this from non-admin team operations. Among siblings like admin_update_team, admin_delete_team, and admin_list_teams, the 'create' verb clearly identifies this tool's role.
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?
The description gives no guidance on when to use this tool versus alternatives. It does not mention that admin_update_team should be used for modifying existing teams, admin_delete_team for removal, or that this requires admin privileges beyond the word '(admin)' in the description. The usage context is only implied by the action itself, not explicitly 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 establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description's 'Retrieve' aligns with those. The description adds the system-account scope but not additional behavioral context such as authorization requirements or response/pagination behavior beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The summary sentence is front-loaded and clear. However, the parameter list duplicates the input schema almost verbatim, adding redundancy rather than new guidance for an agent.
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, paginated lookup with 3 fully documented parameters and safety annotations, the description is largely complete. The main gap is that there is no output schema and the description does not characterize the returned token objects or paginated response format.
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%, and the description repeats the same parameter meanings provided by the schema without adding new details. Since the structured schema already documents accountId, pageNumber, and pageSize, the description provides no additional parameter value.
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?
Description uses a specific verb ('Retrieve') and identifies the resource ('API tokens for a system account'), which clearly differentiates this from generic token listing. However, it does not explicitly contrast with the sibling contract-testing_list_api_tokens, so the agent must infer the discriminator from the system-account qualifier.
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 'Admin' toolset label and 'system account' qualifier imply this is for administrative retrieval, giving some context. There is no explicit statement of when to prefer this tool over contract-testing_list_api_tokens or any exclusion of non-admin contexts.
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 signal a non-read-only mutation, and the description adds the JSON Patch mechanism and admin-level scope, which provides some behavioral context. However, it does not disclose consequences like partial application, duplicate removals, required permissions, or response behavior.
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 short, front-loaded with the core action, and easy to scan. The 'Parameters' section duplicates schema content unnecessarily, but overall the structure is efficient and readable.
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 schema covers the parameter constraints well, and annotations cover the basic safety profile. Still, the description omits when to use this over closely related admin team-user tools and does not describe the response or edge-case behavior, leaving noticeable gaps for an admin mutation.
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 fully documents both teamId and operations. The description repeats the parameter names and descriptions without adding meaning beyond the schema, so it meets the baseline but does not go further.
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 and resource: 'Add or remove individual users from a team using JSON Patch.' The phrase 'individual users' plus 'JSON Patch' distinguishes it from sibling tools like admin_set_team_users or admin_remove_user_from_team, and the admin qualifier clarifies scope.
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?
The description states what the tool does but gives no guidance on when to prefer it over alternatives such as contract-testing_admin_set_team_users or contract-testing_admin_remove_user_from_team. There is no explicit 'use this when' or exclusionary context.
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, idempotentHint, and destructiveHint=false, and the description's 'Fetch' is consistent with those. The description adds little beyond that—no notes on pagination behavior, response content, or provider-version semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The main sentence is appropriately terse and front-loaded. The repeated Parameters section is redundant with the provided input schema and adds length without 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 simple read-only fetch with only four flat parameters, the description plus schema is sufficient to determine required inputs and defaults. It doesn't describe return structure, but the purpose statement makes the expected result clear enough.
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 are already documented. The description's Parameters block simply repeats the schema text and adds no additional semantic meaning.
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 opening sentence names a concrete operation ('Fetch all consumer Pact contracts') and scopes it to a provider version in Bi-Directional Contract Testing. It is clear but does not explicitly contrast with sibling tools such as get_bdct_consumer_contract_verification_results, relying on the word 'contracts' to differentiate.
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 use when BDCT consumer contracts for a provider version are needed, and the Toolset label adds context. It provides no exclusion criteria or explicit alternatives among the many sibling 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?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, and the description's 'Fetch' is consistent with those. The description adds the scoping detail of a provider version but does not disclose pagination behavior, response shape, or what happens when no results exist. With annotations covering the safety profile, this is adequate but not rich.
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 short, front-loaded with the purpose, and then lists parameters in a readable format. The parameter list is somewhat redundant with the schema, but the overall length is appropriate and every major piece is covered without excessive detail.
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?
For a simple read-only operation with full parameter schema coverage and annotations, the description covers the basics needed to call the tool. However, there is no output schema and the description does not clarify what the returned verification results contain or how this tool differs from the many related BDCT verification-result siblings, leaving some ambiguity for an agent.
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%, and the description repeats the parameter names, requiredness, and defaults already present in the input schema. It adds no additional semantic meaning beyond what the schema provides, 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Fetch') and a specific resource ('consumer contract verification results') scoped to a given provider version. It distinguishes itself from sibling tools through the resource phrase, but does not explicitly contrast with similarly named tools like get_bdct_provider_contract_verification_results.
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 clear context — this is for retrieving consumer contract verification results in Bi-Directional Contract Testing for a specific provider version. However, it gives no explicit guidance on when to choose this tool over sibling verification-result tools or when not to use it.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is fully carried by structured data and the description need not restate it. The description adds modest scoping context ('released and supported' vs. merely existing) but nothing about error behavior, whether the environment must exist, or pagination semantics. No contradiction 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and the one-line Toolset label adds useful grouping without bloating the description. The parameter list is somewhat redundant with the input schema, but the whole description remains compact and well-ordered.
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?
For a simple read-only query with a fully documented schema and annotations carrying the safety profile, everything needed to invoke it correctly is present: the required environmentId and pagination defaults. The notable gap is that the nearly identically named sibling get_currently_deployed_versions is never addressed, so an agent gets no help distinguishing 'supported' from 'deployed' versions. With no output schema, one clarifying sentence about the result or the sibling distinction would make this 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 description coverage is 100%, so the baseline is 3. The inline parameter list exactly duplicates the schema's descriptions ('UUID of the environment', 'Page number', 'Results per page', with defaults) and adds no meaning beyond the structured field documentation.
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 uses a specific verb ('Retrieve'), names the resource ('all versions currently released and supported'), and scopes it to 'a given environment.' The phrase 'released and supported' implicitly separates this from the near-twin sibling contract-testing_get_currently_deployed_versions, though that sibling is never named explicitly, which keeps this just short of a 5.
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 'Toolset: Environments and Deployments' label and the 'in a given environment' scope imply this is the tool for querying what is supported in an environment, which gives some usage context. However, there is no explicit when-to-use guidance, no exclusions, and no mention of closely related alternatives like contract-testing_get_currently_deployed_versions, contract-testing_get_environment, or contract-testing_list_environments.
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, idempotentHint=true, and destructiveHint=false, and the description's 'Retrieve' is fully consistent with those. The description adds no extra behavioral context such as response shape, error behavior, or prerequisites, but it also introduces no contradiction or hidden surprise.
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 core sentence is short, direct, and front-loaded, immediately stating what the tool does. The Parameters section is redundant with the schema, but the overall description remains compact and easy to scan.
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?
For a single-parameter read-only getter with no output schema, the description is mostly adequate, but 'details' is vague and does not indicate what fields the response will contain. With no output schema to fill that gap, a brief enumeration of the returned properties would make the tool more actionable.
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 documents the only parameter, environmentId, at 100% coverage including the UUID description, so the description's parameter block is pure duplication. No additional semantic meaning, format constraints, or usage nuances are added beyond what the schema already provides.
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 uses a specific verb and resource: 'Retrieve details for a specific environment by UUID,' which clearly identifies the operation and its scope. The 'specific' and 'by UUID' phrasing distinguishes it from a list-style operation, though it does not name any sibling tool 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 description implies the right context: use this when you need details for one environment and already have its UUID. However, it does not mention alternatives such as contract-testing_list_environments, nor does it state when not to use the tool, leaving the guidance mostly implicit.
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 the operation read-only, idempotent, and non-destructive. The description adds a mild scoping statement ('all environments configured in ... workspace') but does not disclose additional behavioral traits such as pagination behavior, response format, ordering, or any workspace-specific constraints. The bar is lower with annotations, but this description contributes only marginal context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is clear and front-loaded, but the subsequent 'Parameters' section duplicates the schema descriptions, and the 'Toolset' line is low-value filler. The description is short, but not every element 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?
This is a simple two-parameter read-only operation with complete annotation coverage and fully documented parameters, so the definition is mostly sufficient. The main gap is the lack of return-value or pagination details, especially given there is no output schema, but the operation is straightforward enough that an agent can correctly invoke it from the provided information.
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%; both pageNumber and pageSize already carry descriptions and defaults in the input schema. The 'Parameters' section in the description simply restates those schema details, adding no new meaning or guidance such as maximum page size or pagination 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?
The description's opening sentence 'Retrieve all environments configured in the Pact Broker or PactFlow workspace' uses a specific verb and resource, with a clear scope. The plural 'all environments' distinguishes it from the singular sibling contract-testing_get_environment, and the Pact Broker/PactFlow scope separates it from bearq_list_environments.
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?
The description provides no explicit when-to-use guidance, exclusions, or alternative tool routing. The 'Toolset: Environments and Deployments' heading is merely a category label, not a selection criterion. An agent choosing between contract-testing_list_environments, contract-testing_get_environment, and bearq_list_environments receives no help in deciding which to call.
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 communicate read-only, idempotent, non-destructive behavior. The description adds useful scope context (Pact Broker or PactFlow workspace, 'all' pacticipants), but does not disclose pagination behavior, ordering, or any access requirements beyond what the schema defaults imply.
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 opening sentence is direct and front-loaded, and the overall length is short. The separate 'Parameters' section duplicates schema information and the 'Toolset' line adds little, which prevents a top score.
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?
For a simple read-only listing tool with two optional pagination parameters, the essential facts are present. However, with no output schema, the description does not describe the shape of the returned pacticipant objects, and 'all' could be misinterpreted as a single non-paginated response despite the pageSize/pageNumber defaults.
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 already describes both parameters fully with defaults, so schema coverage is 100%. The description merely repeats the same parameter text and adds no extra constraints, formatting details, or interaction notes such as maximum page size.
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 states a specific action ('Retrieve'), a specific resource ('pacticipants'), and clarifies what they are ('applications/services'), plus the workspace scope. It does not explicitly differentiate this from sibling tools like list_pacticipants_by_label or get_pacticipant, so it stops short of a 5.
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 purpose statement implies this is the tool to use when you need the full set of pacticipants, but there is no explicit guidance on when to use it versus alternatives or when not to use it. The 'Toolset: Pacticipants' line is organizational rather than usage 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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds little beyond saying 'all executions', with no mention of pagination, sorting, limits, or response format, but 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The primary sentence is direct and front-loaded. The 'Toolset' and 'Parameters' sections add some redundancy with the schema, but the overall description is compact and easy to scan.
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?
For a simple one-parameter read-only list operation, the description is adequate to select and invoke the tool. However, there is no output schema and no description of what an execution entry contains, which leaves the agent guessing about the return 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%, and the description's 'Parameters' section merely repeats the schema text for suiteId. No additional meaning or format details are provided, so the baseline 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 states a specific verb and resource: 'List all executions for a given suite.' This clearly distinguishes the tool from the sibling reflect_get_suite_execution_status (single status) and reflect_list_suites (list suites), even without explicitly naming alternatives.
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?
There is no guidance on when to use this tool instead of related siblings such as reflect_get_suite_execution_status, reflect_execute_suite, or reflect_cancel_suite_execution, and no mention of exclusions or prerequisites. The intended use is only implied by the description and title.
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 this as read-only, idempotent, and non-destructive, so the description does not need to repeat those facts. It adds minimal new behavioral context beyond stating that a list is retrieved, but for a zero-parameter read-only tool this is not a significant gap.
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 main action is front-loaded in a single clear sentence, and the description is appropriately short. The 'Toolset' and 'Parameters' lines are somewhat redundant with the schema, but they do not add meaningful clutter.
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 zero-parameter, read-only listing tool, this description is largely sufficient. It states what the tool returns ('a list of all reflect suites available'), and the annotations cover safety. There is no output schema, but the simple nature of the operation keeps the gap small.
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 no parameters, and the description explicitly notes 'Parameters: None,' matching the empty input schema. With zero parameters, the baseline is 4, and the description does not need to explain parameter semantics further.
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 uses a specific verb ('Retrieve') and resource ('reflect suites'), making the tool's purpose clear. It is implicitly differentiated from sibling tools that list segments, tests, or suite executions, though it does not explicitly name them.
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 guidance is given about when to use this tool versus alternative listing tools, and no exclusions or prerequisites are mentioned. The phrase 'all reflect suites available' implies broad use, but the description does not help an agent decide between this and similar reflect listing 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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the scope word 'all' and does not describe output shape, pagination, or side effects, which is acceptable here because annotations carry most of the behavioral burden.
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 short and front-loaded with the main instruction, followed by two compact labels. It is concise with no real filler, though 'List all reflect tests' is somewhat redundant with the title.
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 zero-parameter, read-only listing operation, the description plus annotations provide enough information to invoke the tool correctly. The lack of an output schema makes return-value details non-essential, though the description could still mention what a returned test entry contains.
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 input schema has zero parameters with 100% schema description coverage, so there are no parameter semantics to clarify. The 0-parameter baseline of 4 applies.
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 states a specific action ('List') and a specific resource ('all reflect tests'), making the tool's basic purpose clear. It does not explicitly differentiate itself from sibling listing tools like reflect_list_suites or reflect_list_segments, but it is unambiguous about what 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 Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives, and no exclusions are mentioned. The sibling list includes several related listing and execution tools, but the description merely says 'List all reflect tests' and provides no comparative 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 description adds meaningful behavioral context beyond the annotations: automatic spec-type detection, unchangeable fixed values on create, HTTP 201/200 responses, the 'operation' response field, and preservation of existing visibility on update. These details give the agent a clear picture of side effects and outcomes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well organized and front-loaded with the core purpose, but it repeats the fixed-value information in both the main paragraph and the 'definition' parameter description. The 'Toolset: Registry API' line adds little, and the redundancy could be trimmed.
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 100% parameter coverage, output schema, and annotations, the description covers the essential call semantics, fixed-value constraints, auto-detection, and response behavior. It is complete enough for correct invocation, though it would benefit from explicit update-overwrite semantics and alternative-tool guidance.
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 fully documents the parameters. The description's parameter list largely duplicates the schema rather than adding new semantic meaning, though it does restate the important create/update behavior for the 'definition' parameter.
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 action—'Create a new API or update an existing API in SwaggerHub Registry'—and identifies the resource. It doesn't explicitly differentiate itself from siblings like swagger_patch_api or swagger_create_api_from_prompt, but the primary purpose is unmistakable.
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?
There is no guidance on when to use this tool versus alternatives such as swagger_patch_api or swagger_create_api_from_prompt. The description explains behavior but not selection criteria, prerequisites, or situations where another tool would be preferred.
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 provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description's read-only language aligns with the annotations but adds no further behavioral context such as error cases, authentication requirements, or response characteristics beyond what the output schema already covers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded. However, the 'Toolset: Portals' line and the parameter bullet add little value because the input schema already documents the parameter and the toolset is inferable from the tool name and siblings.
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?
This is a simple one-parameter, read-only getter with rich annotations and an output schema, so the description is largely complete. The main gap is not telling callers to use swagger_list_portals when they need to discover the portalId first.
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%, and the parameter listed in the description ('Portal UUID or subdomain - unique identifier for the portal instance') repeats the schema's own description verbatim. It adds no extra semantic detail like examples, format expectations, or guidance on choosing between UUID vs subdomain.
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 states a clear verb and resource: 'Retrieve information about a specific portal.' The word 'specific' distinguishes this from swagger_list_portals, but it does not explicitly name sibling alternatives or explain how it differs from swagger_resolve_organization_portal.
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?
Usage is implied: call this when you have a portal UUID or subdomain and need that portal's information. However, there is no explicit when-to-use guidance, no mention of alternatives like swagger_list_portals for discovering portal IDs, and no exclusions or prerequisites.
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 convey that this is not read-only, not destructive, and not idempotent, so the description does not need to restate those. It adds useful constraints like parentId being null for root folders, naming restrictions, and folderType values. It does not mention behavior on duplicate names, required permissions, or side effects beyond creating the folder.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized clearly with a Toolset label, parameter list, and examples. However, the opening example sentence is redundant with the first example, and 'Expected Output' is repeated identically three times. The content is useful but could be tightened by removing duplicated or overly specific phrasing.
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 four parameters, full schema coverage, and an output schema indicated, the description is sufficiently complete for an agent to construct valid calls. It covers required fields, the optional parentId, null handling for root folders, naming constraints, and provides three realistic examples spanning all folderType values.
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 already documents every parameter. The description repeats those descriptions and adds concrete JSON examples, but it does not add material semantic information beyond the schema. The examples do help illustrate valid combinations, but this is baseline-level value given full schema 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 states a clear action ('Create a folder') and resource, with folderType values that clarify what kind of folder. However, the opening sentence is oddly specific ('Axial Pump Tests' in project SA) rather than a general statement, and it does not explicitly differentiate from sibling tools like zephyr_create_test_cycle or zephyr_create_test_case.
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 examples imply when the tool is useful: creating root folders or subfolders for organizing test cases, test plans, and test cycles. But there is no explicit guidance on when to use this tool instead of other Zephyr creation tools, nor any exclusions or prerequisites.
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 this is not read-only, not destructive, and not idempotent, and the description aligns by saying 'Create'. The description adds the expected output ('newly created Web Link with its ID and self link'), but it does not disclose potential side effects, permission requirements, duplicate-handling behavior, or URL validation. This meets the baseline but leaves behavioral details largely to inference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear purpose and has a logical structure: purpose, toolset, parameters, examples. However, the three examples are highly redundant—they all follow the same shape and differ only in IDs and URLs. One example would have been sufficient, making the description longer than necessary.
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 3-parameter tool with full schema coverage, the description provides enough information to invoke it correctly: required parameter is marked, examples show valid values, and expected output is stated. It is slightly incomplete in that it does not distinguish itself from the very similar 'issue link' siblings, but overall the operational context is adequate.
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 already documents each parameter. The description repeats the same parameter descriptions and provides examples, but it does not add meaning beyond what the schema defines. The examples slightly clarify accepted ID/key formats, but this is already encoded in the schema's pattern.
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 action ('Create a new Web Link') on a specific resource ('Test Cycle in Zephyr'), and the 'Toolset: Test Cycles' line helps distinguish it from sibling tools like zephyr_create_test_case_web_link or zephyr_create_test_cycle_issue_link. The examples reinforce the intent 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 Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives such as creating an issue link or a web link for a test case. It implies usage through the toolset label and examples, but never states exclusions, prerequisites, or selection criteria relative to related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the QA lead 'can list, create, and update test cases, manage functional areas, and read the application model,' implying potentially mutating behavior. However, annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. This directly contradicts the described create/update capabilities, so the behavioral disclosure is not just incomplete but inconsistent.
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 compact and front-loaded with the action and main usage directive. The capabilities sentence is informative, and the structured parameter section is easy to scan. Minor duplication exists because the parameter line repeats the schema, but overall it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain what happens after the instruction is sent, whether the work is performed synchronously, or what the return value is. The 'Toolset: Tasks' hint and sibling tools like bearq_get_task and bearq_wait_for_task suggest an asynchronous task flow, but the description leaves that to inference. Combined with the annotation contradiction, this is incomplete for an open-ended, potentially effectful 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%, and the description repeats the same parameter meaning: 'Natural language instruction to send to the BearQ QA lead agent.' It adds no extra detail about format, length, examples, or what kinds of instructions work best. With full schema coverage, baseline 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 opens with a specific verb and resource: 'Sends an open-ended instruction to BearQ's QA lead agent.' It then clarifies the tool's role as a general-purpose escape hatch when no other BearQ tool fits, which clearly distinguishes it from the many sibling BearQ tools. The list of capabilities (list/create/update test cases, manage functional areas, read the application model) adds concreteness.
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 explicitly states when to use this tool: 'Use this when no other BearQ tool fits.' This also implies a when-not: if a more specific BearQ tool applies, use that instead. The capability list gives the agent a sense of what kinds of requests are appropriate, making the usage guidance strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context beyond that: it does not mention return format, not-found behavior, or any operational caveats, so it provides little transparency beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with a single clear purpose statement followed by a small toolset label and parameter list. The parameter list is somewhat redundant with the schema, but it is compact and does not introduce 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?
For a one-parameter lookup with rich safety annotations, the description is mostly complete. It lacks an explicit statement of the return value (relevant since there is no output schema) and any error/not-found behavior, but given the tool's simplicity, these omissions are minor.
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 has 100% description coverage for reviewId, and the description repeats the exact phrase 'The Collaborator review ID to find.' No additional meaning is added, 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 opens with a specific verb ('Finds') and resource ('a review in Collaborator') and clearly identifies the selection criterion ('by its review ID'). This is immediately distinct from the list-oriented sibling collaborator_get_reviews and other review actions, so an agent can tell what it does.
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 'by its review ID' phrasing implies this is for looking up a single known review, but the description never explicitly contrasts it with collaborator_get_reviews or states that it should be used when an ID is already known. Usage context is implied, not spelled out.
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 identifies this as an admin-level read operation, adding an authorization signal not present in the annotations. It is consistent with readOnlyHint, idempotentHint, and destructiveHint=false, and 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The main sentence is concise and front-loaded, with a short toolset label and parameter list. The parameter list is redundant with the schema but does not make the description overly long or difficult to scan.
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 one-parameter, read-only, idempotent retrieval by UUID, the description provides enough information to invoke the tool correctly. It does not describe response shape or not-found behavior, but the operation is simple and no output schema is provided.
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 the description simply restates roleId/UUID with no additional semantic details such as format constraints, lookup behavior, or error conditions. The schema fully documents the only parameter, so the baseline of 3 applies.
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 uses a specific verb ('Retrieve') and resource ('details for a specific role by UUID'), so an agent knows exactly what the tool does. It distinguishes from list-style tools by emphasizing 'specific role by UUID', but it does not explicitly name a sibling alternative.
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 guidance is given about when to use this tool versus alternatives such as admin_list_roles. 'Toolset: Admin' provides context but no explicit when-to-use or when-not-to-use direction.
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 cover readOnlyHint, idempotentHint, and non-destructive behavior. The description adds the admin authorization context and confirms the operation is a read-only membership check, but it does not disclose return shape, error behavior, or behavior when the team or user does not exist. There is no contradiction 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The key sentence is front-loaded and easy to parse, and the overall description is compact. However, the 'Toolset: Admin' line and the full Parameters section duplicate the name and input schema, creating minor redundancy that prevents a perfect score.
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, two-parameter membership check, the description provides the essential information: the operation, both required UUIDs, and the admin scope. The lack of an output schema and any mention of the return value (e.g., boolean) is a small gap, but not severe for this tool's complexity.
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%, and the description's parameter list repeats the schema's teamId and userId descriptions almost verbatim. It adds no additional semantic meaning beyond what the input schema already provides.
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 states a concrete operation: checking whether a specific user is a member of a team, with admin scope. This is clear and specific, but it does not explicitly differentiate itself from nearby sibling tools such as contract-testing_admin_get_user, contract-testing_admin_get_team, or contract-testing_admin_list_team_users.
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 use case is implied by 'Check if a specific user is a member of a team' and the 'Toolset: Admin' label, but there is no explicit when-to-use guidance, no exclusions, and no mention of when a different admin tool would be more appropriate.
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 communicate that this is a write operation (readOnlyHint=false), idempotent (idempotentHint=true), and non-destructive (destructiveHint=false). The description's 'Update' phrasing is consistent with these annotations and adds the scope of what can be changed, but it adds no deeper behavioral context such as auth requirements, response behavior, or side effects. 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded, clearly stating the operation. However, the entire 'Parameters' section redundantly repeats schema descriptions, lengthening the description without adding value. It is not bloated but is not as tight as it could be.
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?
For a six-parameter mutation tool with no output schema, the description covers purpose and parameters but omits expected return/response behavior and does not clarify whether the update is partial or full. Annotations cover safety traits, but the description alone leaves meaningful gaps an agent might need to infer.
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 input schema already documents every parameter. The parameter list in the description exactly duplicates the schema descriptions without adding extra meaning, such as explaining partial-update behavior, validations, or interactions between fields. This keeps it at the baseline score.
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 begins with 'Update a user's profile or active status (admin),' which clearly identifies the verb, resource, and scope. It distinguishes this from sibling admin tools like admin_create_user, admin_delete_user, and admin_set_user_roles without needing to open the schema.
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 'Toolset: Admin' label and the action language imply when this should be used, but the description provides no explicit guidance on when to prefer this tool over alternatives or when not to use it. It does not name sibling tools as exclusions, leaving the usage context to inference.
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, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavioral context by explaining that it analyzes the complete contract matrix of consumer-provider relationships and confirms all required integrations are verified. This goes beyond the annotations, though it does not disclose the exact result format or whether the tool returns a boolean, report, or matrix.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening paragraph is focused and communicates the core purpose efficiently. However, the parameters section duplicates what the input schema already documents, and the 'Toolset: Can I Deploy' line adds little value. It is not overly long, but it contains redundant material.
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 the operation's intent and required inputs well, but there is no output schema and no description of what the tool returns. The meaning of 'safe to deploy' is only implied, and an agent might need to know whether the result is a boolean, a detailed compatibility report, or something else. The annotations cover read-only and idempotent behavior but not the result 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%, and the parameter descriptions in the tool description are essentially identical to those in the input schema. The description adds no new semantics for the parameters, 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: performing a compatibility check to determine whether a specific pacticipant version can be safely deployed to a given environment. It also specifies the resource (pacticipant) and the analysis of the contract matrix. However, it does not explicitly differentiate this from siblings like contract-testing_matrix or contract-testing_get_currently_deployed_versions, so it stops short of a 5.
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 the usage scenario: checking deploy safety before deployment. It gives the required inputs and mentions the target environment, so an agent can infer when to invoke it. However, it provides no explicit guidance about when not to use it, nor does it mention alternatives such as contract-testing_matrix or related verification 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?
Annotations already indicate this is a mutating, non-idempotent, non-destructive operation, and the description does not contradict that. It adds the useful constraint that teamUuid cannot be changed after creation, though that is also present in the schema; it does not disclose response behavior or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose. However, the parameter list duplicates the input schema, so a meaningful portion of the description does not add value beyond the structured fields.
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?
For a simple create operation, the description covers the main intent and required fields, but with no output schema it does not clarify what the response contains or whether the secret value is shown only once. Permission requirements and default team behavior are also not addressed.
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%, and the description repeats the schema's parameter descriptions almost verbatim. It adds minimal extra meaning beyond restating that name and value are required and that teamUuid is immutable after creation.
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 and resource: 'Create a new secret for use in webhook authentication.' It clearly identifies what the tool does and distinguishes it from sibling secret tools like list_secrets, get_secret, update_secret, and delete_secret.
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 purpose statement implies the tool should be used when a new secret is needed for webhook authentication, and the 'Toolset: Secrets' label provides some context. However, it does not explicitly state when to prefer this over related tools or mention any prerequisites or exclusions.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is clear and the description does not contradict it. The description adds the semantic behavior of checking an association, but provides no additional detail about return format, error cases, or authentication needs.
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 core description is one front-loaded sentence that immediately states the purpose. The parameter list is redundant with the schema but short and harmless, so it does not meaningfully impair usability.
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 two-parameter read-only lookup, the description is largely sufficient: the annotations cover mutation safety and the wording 'Check whether' implies a boolean-style outcome. Still, because there is no output schema, an explicit statement of the returned value or error semantics would be more 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 description coverage is 100%, so both parameters are already documented in the schema. The description merely repeats the parameter names and descriptions without adding constraints, formats, defaults, or relationships beyond what the schema provides.
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 uses a specific verb ('Check whether') and clearly names the resource and relationship: a specific label applied to a pacticipant. It is clear enough to separate this from listing all labels, though it does not explicitly name or differentiate 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 Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when an agent needs to check whether a specific label exists on a specific pacticipant. However, it gives no explicit guidance about alternatives such as list_labels or list_pacticipants_by_label, and no exclusions or when-not-to-use conditions.
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 establish readOnlyHint and idempotentHint, and the description's 'Retrieve details' aligns with a safe read. It adds a small scoping point by targeting a specific version rather than latest/all, but does not describe response contents, version format, or any auth/rate considerations.
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 short and front-loads the purpose, but the 'Parameters' bullets largely duplicate the input schema, so not every line adds net-new information. Still, the layout is easy to scan.
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 two-parameter read-only tool with complete schema documentation and safety annotations, the description is sufficient for invocation. It could be more complete by noting when to prefer latest/list siblings, but nothing essential for this call is missing.
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%: both parameters are documented identically in the schema and description. The description adds no extra semantic meaning such as format constraints or how versionNumber is matched.
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?
Opens with 'Retrieve details for a specific version of a pacticipant', which names a concrete verb and resource and clearly distinguishes this from sibling list/latest tools like contract-testing_list_pacticipant_versions and contract-testing_get_latest_pacticipant_version. The two required parameters make the exact target unambiguous.
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 when-to-use guidance or exclusions are given. It doesn't say 'for the latest version, use get_latest_pacticipant_version' or contrast with listing versions, so an agent must infer selection from the name and purpose alone.
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 provide readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds workspace-wide scope, but it does not clarify the pagination behavior implied by pageNumber/pageSize while claiming to retrieve 'all' labels, nor does it describe the response shape.
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 opening purpose sentence is clear, front-loaded, and brief. However, the embedded 'Parameters' section duplicates the input schema, adding mild redundancy that prevents a perfect score.
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 operation with two optional parameters, the description is mostly sufficient. The main gap is the absence of any indication of what the returned label objects contain, especially since there is no output schema, but the resource and pagination intent are clear enough 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 the input schema fully documents both parameters. The description merely restates the defaults without adding deeper semantics like maximum page size or how pagination interacts with the 'all labels' claim.
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?
'Retrieve all labels used across the workspace' uses a specific verb ('retrieve'), names the resource ('labels'), and scopes it ('across workspace'). This clearly distinguishes it from sibling tools like contract-testing_get_pacticipant_label and contract-testing_list_pacticipants_by_label, which operate on labels differently.
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?
The description gives no explicit when-to-use guidance or alternatives. It does not mention when to prefer this over contract-testing_list_pacticipants_by_label or contract-testing_get_pacticipant_label, so the agent must infer usage solely from the purpose statement.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds little behavioral context beyond the filter and pagination parameters, but 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the main purpose. The parameter list and 'Toolset: Labels' line add minor redundancy with the schema but keep the description self-contained without being verbose.
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 operation with well-documented parameters and safety annotations, the description is sufficient. It lacks output-shape details, but no output schema exists and the request is straightforward enough that this is a minor gap.
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 input schema fully documents all three parameters. The description repeats the parameter list without adding extra meaning, defaults, or usage nuance 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 uses a specific verb ('Retrieve') with a clear resource ('all pacticipants') and a precise filter ('that have a specific label applied'). This distinguishes it from siblings like contract-testing_list_pacticipants (no label filter) and contract-testing_list_labels (returns labels, not pacticipants).
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?
The description does not state when to choose this tool over alternatives, nor does it mention any exclusions or related tools. While the label-filtered purpose is implicit, there is no explicit guidance for an agent navigating the large sibling toolset.
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 readOnlyHint=false and destructiveHint=false, so the description doesn't need to cover mutation safety. It does add useful PATCH-specific behavior ('only fields provided are changed'), but doesn't mention outcomes like 404s, return values, or side effects beyond the metadata change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is effective and front-loaded, but the Toolset label and the full parameter list duplicate structured information already present in the schema. The description is reasonably short but not maximally economical.
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?
For a simple patch operation with fully documented parameters, this is minimally adequate. However, there is no output schema and the description does not address what the response contains, how errors are surfaced, or how this differs from the sibling update tool. An agent could invoke it correctly but is not fully equipped to handle edge cases.
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 already documents every parameter. The description repeats the parameter list with identical wording, adding no meaning beyond what the schema provides. Baseline 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?
Description states the specific verb 'Partially update' and the resource 'pacticipant's metadata', and clarifies the PATCH semantics with 'only fields provided are changed.' This distinguishes it clearly from a full update operation.
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 it (partial update) but never names the alternative contract-testing_update_pacticipant or states when a full update would be preferred. Usage context is implicit rather than explicit.
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?
Beyond the annotations, the description discloses meaningful behaviors: segments cannot reference other segments, deviceProfile is required for 'web' and ignored for other platform types, and the ${...} variable/function resolution syntax is fully explained. It also provides guidance on preferring selector-based steps over AI prompt steps. No contradiction with annotations was found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentences are concise and useful, but the description then duplicates nearly all of the input schema's parameter documentation, including the large 'steps' sub-schema. Since the schema already carries this information, the description is significantly longer than it needs to be.
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?
Together with the very rich input schema, the description covers all six parameters, required fields, platform-specific behavior, step type guidance, and template syntax. There is no output schema, and while explicit success/error behavior is not described, the information needed to invoke the tool correctly is present.
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 already documents every parameter thoroughly. The description largely repeats the schema's parameter text rather than adding new semantic value, 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Create a new Reflect segment' with an ordered list of steps, and explains what segments are for. However, it does not explicitly distinguish itself from the sibling reflect_add_segment, so a 5 for sibling differentiation is not warranted.
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 — segments are reusable groups of steps referenced from tests and cannot reference other segments — which implies when this tool is relevant. It does not state explicit when/when-not conditions or name alternatives, so the usage guidance remains implied rather than explicit.
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 destructiveHint=true and idempotentHint=false, so the destructive nature is structurally available. The description adds useful constraints: the session must be active and only the last step is removed. It does not state whether deletion is reversible or what state the session is left in, but this is modest additional context on top of existing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is stated in one clear sentence, with no marketing or filler. The Toolset label is brief, though the Parameters section duplicates schema content without adding information. Overall this is efficient and front-loaded, with minor 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 single-parameter destructive tool with annotations covering the safety profile, this is nearly sufficient. It identifies the required session ID, the 'active' precondition, and the exact scope ('last step'). It does not describe the response or failure modes, but given the low complexity that 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?
The input schema already documents sessionId at 100% coverage, and the description's parameter block simply repeats that information verbatim. No additional meaning, such as where to find the session ID or required session state, is added. A baseline of 3 is appropriate because the schema fully covers the parameter.
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 ('Delete'), resource ('last step'), and context ('active Reflect recording session'). The one-sentence description unambiguously differentiates from sibling tools like reflect_add_prompt_step by targeting the most recently added step, so an agent knows exactly what this action performs.
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 guidance is provided on when to use this tool versus alternatives, such as how to remove an earlier step or whether a different Reflect tool should be used to modify the session. The description only implies the obvious use case (undo the last added step) and omits exclusions or caveats. This is a meaningful gap for a destructive action.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds no behavioral context beyond 'get status' and does not disclose output shape, possible status values, or error behavior, but 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the purpose, and free of fluff. The duplicated parameter list is somewhat redundant with the schema, but it is not wordy or distracting.
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 two-parameter, read-only status lookup with annotations covering safety, the description is mostly sufficient. However, with no output schema, it leaves return-value shape and possible status values unspecified.
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 fully documents both parameters. The description only repeats the schema's parameter definitions without adding format, constraints, or relationship context between suiteId and executionId.
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 a specific action ('Get the status') and resource ('reflect suite execution'), with the two identifying IDs. However, it does not explicitly differentiate itself from sibling status-related tools like reflect_get_test_status or reflect_list_suite_executions.
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?
Usage is implied: call this tool to retrieve the status of a specific Reflect suite execution. There is no explicit guidance on when to prefer this over related tools, nor any note about how to obtain valid suiteId/executionId values or that executionId may come from a prior execution.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds little behavioral context beyond what the schema provides, such as embed behavior and pagination defaults, but no additional side-effect or rate-limit information. This is acceptable given the strong annotations, but not particularly rich.
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 compact and front-loaded with the core action, then uses a clean bulleted parameter list. However, the parameter section largely duplicates the schema descriptions, so not every line adds unique value. Still, it is well-organized and easy to scan.
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 straightforward read-only listing tool with one required parameter, an output schema, and clear annotations, the description is largely sufficient. It covers the resource scope and all parameters. It lacks only explicit guidance about when to use it relative to sibling tools, but that is not essential for invoking 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 description coverage is 100%, so the input schema fully documents all four parameters. The description repeats those parameter explanations without adding substantive new meaning beyond the schema, so a 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 states a clear, specific action: 'Get sections for a specific product within a portal.' It identifies the exact resource (sections), the scope (product within portal), and is easily distinguished from sibling tools like swagger_list_portal_products or swagger_get_portal_product. The Toolset: Sections label reinforces the resource type.
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?
The description gives no guidance on when to choose this tool over alternatives, nor does it mention any exclusions or related tools. It only restates the tool's purpose and parameters. An agent must infer usage solely from the action and resource description.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no additional behavioral context such as error behavior, identifier precedence, or access requirements; the examples and 'Expected Output' lines mostly restate the obvious.
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 main sentence is front-loaded and the structure separates toolset, parameter, and examples clearly. It is slightly padded by the repeated 'Expected Output: The project with its details' lines, but remains compact for a one-parameter lookup.
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 only one required parameter, a full input schema, an output schema, and read-only annotations, the definition provides enough to invoke the tool correctly. It could be more complete by pointing to zephyr_get_projects for when no single identifier is known, but that gap is minor and covered under usage guidance.
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 already describes projectIdOrKey and provides a validation pattern, so description-level parameter explanation is not necessary. The two examples ('1' and 'PROJ') illustrate the accepted formats but add little meaning beyond the schema's pattern and property description.
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 opens with a clear verb and resource: 'Get details of project specified by id or key in Zephyr.' It unambiguously targets a single project and names the identifying input, but it does not explicitly contrast with the plural sibling zephyr_get_projects, so it stops short of full sibling differentiation.
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 phrase 'specified by id or key' implies the tool is for looking up one project when an identifier is already known. It does not state exclusions or name alternatives such as zephyr_get_projects for listing projects, so guidance remains implicit rather than explicit.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description confirms it is a read operation and mentions expected output, but it does not add behavioral context such as not-found behavior, permissions, or pagination, which would have added value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear opening sentence, a parameters section, and examples. The two examples are somewhat redundant since they only differ in the key value, but the overall length is appropriate and the important information is front-loaded.
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?
The tool is a simple single-parameter read operation, and the description covers the parameter, its format, and examples. An output schema exists, so return-value details are not required in the description. Nothing essential is missing for an agent to successfully call this tool.
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 description coverage is 100%, so the baseline is 3, but the description adds value with the key format '[A-Z]+-T[0-9]+' and concrete examples like 'SA-T10'. These examples clarify what valid test case keys look like beyond the schema's looser pattern.
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 action ('Get details of test case') and the identifying input ('specified by key in Zephyr'), making the tool's purpose unambiguous. It does not explicitly name sibling tools, so it stops short of a perfect 5, but the singular focus on a key distinguishes it from list-oriented siblings like zephyr_get_test_cases.
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?
There is no guidance on when to prefer this tool over alternatives. The description provides examples but does not mention related tools such as zephyr_get_test_cases or zephyr_get_test_case_steps, nor does it state when a list versus a single test case is appropriate.
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 convey readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool's safety profile is clear. The description adds useful scoping context ('linked to a Jira issue') and notes that output is a list of cycles with IDs, but it does not disclose any additional behavioral caveats such as pagination or link-type filtering. No contradiction with annotations exists.
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 well-structured and front-loaded: purpose, toolset, parameter list, then example. The example JSON is useful and the expected output is summarized. It is concise without being under-specified.
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 single-parameter, read-only tool with an output schema and clear annotations, the description is largely sufficient. It gives a concrete invocation and expected output. The main gap is lack of sibling differentiation, but that is not crucial for invoking this simple 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 description coverage is 100%: the schema already documents issueKey with type, requiredness, and a pattern. The description repeats this and adds a concrete example value ('PROJ-123'), but does not meaningfully extend the parameter semantics beyond what the schema provides.
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 states a specific verb and resource: 'Get test cycles linked to a Jira issue in Zephyr', and the toolset label 'Issue Links' adds context. It is clear in what it does, but it does not explicitly differentiate itself from similar siblings like zephyr_get_test_cycle_links or zephyr_get_test_executions_linked_to_a_jira_issue.
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 example ('Check which test cycles are linked to Jira issue PROJ-123') implies when the tool should be used. However, there is no explicit guidance about when to choose this tool over alternatives, nor any exclusions or 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful extra behavior beyond those annotations, including the server's ability to enforce a lower limit, truncation risk, and the instruction to check the returned limit value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded, but the body largely duplicates the schema's parameter descriptions verbatim and appends several examples with trivial 'Expected Output' lines. The description is longer than it needs to be for the additional value it provides.
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 an output schema exists and annotations cover the safety profile, the description is largely complete: it covers all filters, pagination behavior, defaults, and limit truncation. It does not explicitly position itself against sibling tools, but nothing critical seems missing for calling 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 description coverage is 100%, so the schema already documents every parameter. The description mostly repeats those same descriptions and adds examples that illustrate valid combinations, but it does not materially deepen the meaning of any parameter beyond the schema.
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 states a clear verb and resource ('Get test executions') and signals that filters are optional, which implies a list/query operation. It distinguishes from the singular sibling 'zephyr_get_test_execution' by pluralizing the resource and emphasizing filtering, though it does not explicitly name any sibling.
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 this is the tool for retrieving filtered test executions through examples and filter parameters, but it never explicitly says when to use this tool versus alternatives like the singular 'zephyr_get_test_execution' or the various linked-execution tools. The intended context is inferable, but not 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 cover the safe read-only, idempotent, non-destructive profile, and the description is consistent with that profile. It adds some return-content context (stack traces, metadata, context) but does not disclose anything else such as authentication requirements, rate limits, or side effects.
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 front-loaded with the purpose and uses concise sections and a JSON example. The explicit parameter list is redundant with the schema, but the overall size is acceptable.
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 two-parameter read with no output schema, the description supplies the essential details: required eventId, optional projectId behavior, an example, and expected response contents. It is nearly complete, only lacking guidance about how to discover eventId or how this tool differs from similar event/error tools.
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 coverage is 100%, so the parameter section mostly duplicates the schema. The example adds a concrete eventId format ('6863e2af012caf1d5c320000') and the expected-output description clarifies what the response contains, which goes beyond the schema.
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 first sentence names a specific verb and resource ('Get detailed information about a specific event'), and the Use Cases section clarifies that this returns full event details including stack traces. It is clear, but it does not explicitly differentiate itself from sibling tools like bugsnag_get_event_details_from_dashboard_url or bugsnag_get_events_on_an_error.
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 use case implies the tool is for retrieving a single event's full details, and the example encodes the expected input. However, there is no guidance on when to prefer this over nearby siblings, no exclusions, and no relationship to list-events or error-detail 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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the connection-testing action and does not disclose response/outcome behavior, potential network dependencies, or whether credentials are validated.
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 core definition is one clear sentence, and the toolset/parameter sections are compact. The parameter block is redundant with the schema but does not bloat the text enough to reduce usability.
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?
For a one-parameter, safely annotated operation this is largely sufficient to invoke correctly. Still, with no output schema, the description does not explain what a successful/failed connection test returns or how the result is expressed.
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% and the description repeats the id meaning verbatim without adding additional type, format, or source guidance. Baseline 3 is appropriate because the schema does all the explanatory work.
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 ('Tests') and precise resource ('the connection for a remote system configuration in Collaborator by its ID'). This clearly differentiates it from sibling create/edit/delete/config-webhook operations even though it does not name them.
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 'Remote System Configuration Management' toolset heading loosely positions this as the connectivity-check operation among related configuration tools. However, there is no explicit statement of when to use this versus creating, editing, or deleting a configuration, and no alternative tools are named.
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 mark this as destructive and non-read-only, and the description aligns by saying it resets all roles to factory defaults. It adds the global 'all roles' scope and the 'defaults' outcome, but it does not warn about the loss of custom role definitions or permissions beyond what the annotations imply. This is adequate but not rich.
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 core purpose is captured in one clear sentence, and the layout is easy to scan. The Toolset and Parameters lines add mild redundancy, but there is no meaningful bloat.
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?
With zero parameters, the calling contract is simple, and the destructive hint is already present in annotations. Still, the description does not explain what 'factory defaults' means in practice, which roles/permissions are affected, or what the response looks like, leaving some ambiguity about side effects.
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?
There are zero parameters, so the schema fully covers the interface and leaves nothing to document. The description's 'Parameters: None' line is accurate and redundant, which is acceptable for a no-argument 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 opens with a specific verb ('Reset'), a specific resource ('all roles'), and a precise outcome ('factory defaults'). The parenthetical 'admin' plus the toolset line distinguish this from granular role-admin operations like admin_set_user_roles or admin_create_role.
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 guidance is given for when to use this reset tool versus the many sibling role-management tools, nor are exclusions or prerequisites described. The 'Toolset: Admin' line only labels the family and does not help an agent decide when a full reset is appropriate.
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, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful input-related context: language inference ('If not provided, will be inferred from other inputs') and the OpenAPI matcher requirement. However, it does not disclose what generation returns or whether any state is persisted, leaving behavioral transparency partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening paragraph is concise and useful, but the description then includes a full 'Parameters:' section that duplicates the schema almost verbatim. The 'Toolset: Generate Pact Tests' heading is redundant. Much of the added length does not earn its place in an MCP description that is meant to complement, not repeat, structured schema fields.
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 handles the complex input surface well: three input modes, the OpenAPI matcher requirement, and the distinction between inline and remote OpenAPI documents. However, with no output schema, the description does not state what a successful generation returns or how an agent should consume the result. This is a clear gap for such a complex 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%, so the baseline is 3. The description mostly restates parameter meanings that already appear in the schema (e.g., additionalInstructions, testTemplate, code). It adds little semantic value beyond mapping the three top-level input modes to parameter names. The matcher requirement is also already documented in 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 opens with a specific verb and resource: 'Generate Pact tests using PactFlow AI.' It enumerates the three accepted input types, making the tool's purpose unmistakable. It is also clearly distinguished from the adjacent sibling contract-testing_review_pact_tests by the generate action.
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 explains that one or more input types may be supplied and states a hard prerequisite: 'When providing an OpenAPI document, a matcher is required.' It also gives scenario guidance for requestResponse ('Use this when you have concrete examples of API requests and responses'). It does not explicitly contrast with alternatives like review_pact_tests, but the intended usage context is largely 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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description's 'Retrieve' matches those annotations but adds no additional behavioral context beyond what is already encoded, such as how branch details are returned or whether any special conditions apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded with the tool's purpose. However, the parameter list duplicates the input schema exactly, adding bulk without new information. The 'Toolset' line provides useful grouping but is the only non-redundant extra content beyond the first sentence.
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 with two required scalar parameters and no nested objects, this description is adequate. The annotations cover safety and idempotency, and the description names the target resource clearly. The word 'details' is somewhat vague, but the lack of an output schema is offset by the low complexity of the operation.
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%, and the description simply restates the same parameter names and descriptions ('Name of the pacticipant', 'Name of the branch'). It does not add extra semantic detail such as allowed formats, examples, or the relationship between the 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 a specific action ('Retrieve details') and resource ('a specific branch of a pacticipant'). It distinguishes this tool from related siblings such as contract-testing_list_branches, contract-testing_get_branch_versions, and contract-testing_delete_branch by emphasizing the singular, read-only lookup intent.
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 phrase 'specific branch of a pacticipant' implies this is the right choice when the agent has a known branch name and pacticipant name, but it gives no explicit when-to-use guidance or mention of alternatives like list_branches or get_branch_versions. The 'Toolset: Branches and Versions' label adds mild context but does not resolve routing choices.
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, idempotentHint, and destructiveHint, covering the safety profile. The description only adds the branch scope and restates pagination parameters; it does not disclose iteration behavior, response format, or limits beyond what the schema already provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and clear, but the toolset label and the parameter block are redundant with the input schema. The definition is compact yet contains repeated information that does not earn 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?
Required parameters and defaults are fully covered, and the annotations carry the safety information. However, because there is no output schema and the description says 'all versions' while pageSize defaults to 5, an agent is not explicitly told that multiple pages may need to be requested.
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 fully documents all four parameters. The description's parameter list duplicates the schema without adding semantic detail such as accepted formats, constraints, or richer 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 first sentence uses a specific verb ('Retrieve') and resource ('all versions published from a specific branch of a pacticipant'), making the operation distinct from sibling tools such as contract-testing_get_branch or contract-testing_list_pacticipant_versions. The branch scope is precise and immediately understandable.
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 (when branch-filtered versions are needed) but gives no explicit when-to-use/when-not-to-use guidance or named alternatives. The 'Toolset: Branches and Versions' label provides context but does not help an agent choose between closely related sibling 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?
Annotations already disclose readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is assured. The description adds the team-filtering scope and 'all' qualifier, but does not disclose response shape, sorting, or pagination semantics beyond the schema defaults; this adds some context but not deep behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is crisp and front-loaded, but the Toolset label and parameter bullet list largely repeat information already available in the schema and title. The extra format/headers are not redundant enough to hurt readability, but also do not earn their place under the value-beyond-structured-fields standard.
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, paginated list operation, the description plus annotations provide enough for an agent to call it correctly: purpose, required teamId, and pagination defaults. It is not a 5 because it never contrasts with the similar list_integrations sibling and says nothing about the returned integration structure.
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% and the description's parameter list exactly mirrors the schema, including UUID, defaults, and requiredness. It adds no semantic meaning beyond the structured input schema, so the baseline 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 first sentence names a specific action ('Retrieve'), a resource ('consumer-provider integrations'), and a scope ('belonging to a specific team'), making it immediately clear what this tool does. The team-scoped wording also distinguishes it from siblings such as contract-testing_list_integrations, even though it does not name them.
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 for team-scoped integration retrieval, and the pagination parameters hint at list-style use, but it never says when to prefer this tool over contract-testing_list_integrations or other integration/network tools. No explicit when/when-not guidance or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond the basic operation — no return format, authentication needs, or side-effect caveats. With annotations present, the description does little to enhance behavioral transparency.
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 very short and front-loaded with the core action. The 'Toolset' and 'Parameters' lines add minor context but are somewhat redundant with the schema and name. Overall it is concise and clear, though not every line is strictly necessary.
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?
For a zero-parameter read-only tool, the description is mostly adequate. However, there is no output schema, so the description should provide some hint about what the returned preferences look like. It also does not clarify how system preferences relate to user preferences, which would help an agent choose correctly among siblings.
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 schema coverage is 100%, so the schema already fully describes what is needed. With no parameters, the baseline is 4, and the description's 'Parameters: None' note is redundant but harmless.
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 ('Retrieve') and a specific resource ('system-wide preferences'). It clearly distinguishes itself from the sibling contract-testing_get_user_preferences through the 'system-wide' qualifier, so an agent can immediately tell what this tool does.
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 this tool is for system preferences rather than user preferences, and the toolset label 'User, Tokens and Preferences' provides context. However, it does not explicitly state when to use this tool versus alternatives like contract-testing_get_user_preferences or contract-testing_get_current_user.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the facts about filtering and pagination, but does not disclose behaviors such as default page size implications, sort order, or how to retrieve all items beyond the first page. This is minor added value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The main description is front-loaded in a single clear sentence, and the parameter list is compact. The Toolset line is short. The parameter block is redundant with the schema but not excessively verbose, so overall it is efficient.
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?
Given the simple schema and safety annotations, the description is mostly adequate for a list operation. However, there is no output schema, and the description does not explain what a branch object contains or how pagination works in practice, which an agent may need to know to fully consume the results.
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 fully documents all four parameters. The description repeats the parameter list almost verbatim without adding further semantic value or clarifying edge cases, so it stays at the baseline.
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 ('Retrieve') and a specific resource ('all branches for a given pacticipant'), which distinguishes it from sibling tools like get_branch, get_branch_versions, and list_pacticipants. It also mentions optional filtering and pagination, further clarifying the exact operation.
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 this tool is for retrieving all branches of a pacticipant, which provides clear context. However, it does not explicitly state when to use this over alternatives such as get_branch or get_branch_versions, nor does it mention any exclusions or absence of filtering capabilities.
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, idempotentHint=true, and destructiveHint=false, so the read-only safety profile is covered by structured data. The description adds minimal behavioral context beyond the workspace scope; it does not mention pagination semantics beyond parameter defaults or any masking/redaction of secret values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The one-sentence purpose is front-loaded and clear, but the following 'Toolset: Secrets' line and the entire Parameters block duplicate information already present in the title and input schema. This makes it compact but not every line 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 simple read-only list operation with two optional pagination parameters and no output schema, the description plus annotations provide enough information to invoke it correctly. It could be richer by stating the response shape or that secrets are only a listing of metadata, but these are not severe gaps at this complexity 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%, and the schema already provides the same descriptions, types, and defaults for pageNumber and pageSize. The description repeats these details rather than adding extra meaning such as maximum page size, ordering, or response format.
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 uses a specific verb—'Retrieve all secrets stored in the workspace'—and clearly identifies the resource (secrets) and scope (workspace). This distinguishes the plural listing operation from siblings such as contract-testing_get_secret, create_secret, and delete_secret.
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 intended use is implied by 'all secrets': the agent can infer this is the right tool for enumerating workspace secrets. However, there is no explicit guidance contrasting it with get_secret for retrieving a single secret or with secret mutations, leaving the alternatives to be inferred.
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 mark the tool destructive and non-idempotent. The description's 'rotate' clarifies that this is a token rotation rather than a general update, but it doesn't disclose that the old token stops working, whether special permissions are required, or what the response contains.
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 short and front-loads the purpose in one sentence. The 'Toolset' line and parameter list add minor context but largely duplicate the name and schema, so it is efficient but not maximally tight.
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?
For a one-parameter destructive action it is mostly usable, but with no output schema it omits important detail: whether the new token value is returned, and what consequences occur after rotation. It also doesn't point to a sibling like list_api_tokens for finding tokenId.
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%, and the parameter section only repeats the schema's tokenId description. It adds no new semantics (e.g., where to find token IDs or format expectations), so baseline 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?
States a specific verb ('Regenerate (rotate)') and a concrete resource ('API token by ID'), so an agent knows exactly what operation is performed. It adds 'by ID' to disambiguate selection from list/create/delete token tools, and is not a mere restatement of the title.
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 no explicit when-to-use guidance, such as 'use when a token is compromised/expired' or 'call list_api_tokens to obtain tokenId.' The use case is only implied by the verb 'regenerate'; there are no exclusions or alternatives named.
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 the operation is not read-only or idempotent; the description adds that this is a test execution without a real event, which is useful side-effect context. It does not disclose whether outbound webhook calls are actually made, whether the operation is asynchronous, or how results are returned.
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 core behavior is stated in a single front-loaded sentence. The Toolset and Parameters labels are minimal and do not add meaningful clutter.
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?
For a parameterless trigger, the description is mostly adequate and annotations cover the basic operation type. Still, 'all matching webhooks' is ambiguous and there is no mention of execution results or asynchronous behavior, which an agent would need to know what to expect after invoking this tool.
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 is effectively complete, so there is no parameter meaning for the description to add. The 'Parameters: None' line is redundant but harmless.
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 states a specific action ('Trigger a test execution') and resource ('all matching webhooks'), and the qualifier 'without a real event' distinguishes it from real webhook execution. However, 'matching' is left undefined and no sibling is named, so the exact scope is somewhat inferred.
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 phrase 'without a real event' implies the intended use case of testing webhook configuration without triggering a real event. There is no explicit when-to-use versus alternatives guidance, especially against the sibling contract-testing_execute_webhook, so selection relies on 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?
Annotations already provide idempotentHint=true and destructiveHint=false, and the description does not contradict them. The description adds that this is an update of existing secret fields, but it does not disclose whether omitted fields are preserved or reset, nor any authentication or failure behavior. With annotations present, this is acceptable but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is crisp and front-loaded, and the Toolset label adds helpful organization. However, the full parameter list duplicates the input schema almost verbatim, so not every line earns its place; the description would be stronger without this 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 tool is simple: all four parameters are fully documented in the schema, required fields are clear, and annotations cover idempotency and safety. The main gaps are the lack of any note about what happens when secretId does not exist or what the update returns, but for a straightforward update this is not critical.
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's parameter list repeats the same names and descriptions as the schema and adds no deeper meaning about formats, constraints, or relationships between fields.
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 action and resource: "Update an existing secret's name, value, or description." This distinguishes it from sibling tools like create_secret, delete_secret, get_secret, and list_secrets by emphasizing "existing" and naming the exact updatable fields.
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 phrase "existing secret" implies the tool should be used when a secret already exists and needs modification, and not for creating new secrets. However, it never explicitly names alternatives like contract-testing_create_secret or explains when to choose this over delete or create, so guidance is only implied.
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, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavioral context: viewId is 'SYSTEM AUTOMATICALLY RESOLVES THIS' by fetching project info and extracting latestViews.TC.viewId, tcID 'Accepts a string or number' despite schema type number, and the Hints section details response naming conventions. No contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with headings, examples, and a numbered Hints list, but the Parameters section repeats verbatim what the input schema already documents for all seven parameters. This redundancy and overall length keep it from being tight, though no sentence is misleading.
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 tool with no output schema, the description covers the response shape (data, filterTemplate, columns, total count, viewId) and provides an example plus seven hints for interpreting step UDF values. It could clarify pagination semantics and edge cases, but an agent has enough to call 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%; the description's Parameters section largely duplicates schema descriptions. The only added semantic, that tcID 'Accepts a string or number,' is already present in the schema, so the description adds no new parameter meaning beyond the structured schema.
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 opening sentence clearly states a specific verb ('Fetch') and resource ('test case steps including UDF field values via viewColumns endpoint'). The toolset label 'Test Cases' and the UDF modifier implicitly distinguish it from siblings like qmetry_fetch_test_case_steps, but no sibling is explicitly named or contrasted.
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 lists three use cases (get step UDF values, retrieve before updating step UDFs, inspect for reporting) that convey when to use it. However, it never explicitly compares to alternative QMetry step-fetching tools or states when not to use it, so guidance is implied rather than direct.
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 establish that this operation is not read-only, not idempotent, and not destructive. The description adds a meaningful prerequisite by requiring an 'active' recording session, but it does not disclose expected outcomes, failure modes, or side effects beyond the schema and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is compact, front-loaded, and immediately conveys the core action. The parameter list is a bit redundant with the input schema, but it is short and organized, so the overall description remains efficient.
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?
For a simple two-parameter mutation, the description covers the key prerequisite of an active recording session and both parameters are well-documented. It is adequate, but it omits useful context such as the need for the segment to already exist, related lookups for obtaining IDs, or what a successful call returns.
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 both sessionId and segmentId are already fully documented. The description repeats those same parameter descriptions without adding extra semantics such as how IDs are obtained, valid segment types, or expected data formats.
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 ('Insert') and resource ('a reusable test segment') with a precise target ('an active Reflect recording session'). This clearly distinguishes it from related reflect tools: it is not creating a segment (reflect_create_segment) and not adding a prompt step (reflect_add_prompt_step).
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 phrase 'into an active Reflect recording session' implies the intended use case: adding an existing segment while a recording session is active. However, it provides no explicit guidance about when to choose this over reflect_create_segment, reflect_list_segments, or reflect_add_prompt_step, nor any 'when not to use' conditions.
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 are all false, giving no safety profile, so the description carries the burden. It states the create operation plainly and adds substantial behavioral context: deviceProfile requirements per type, the ordering constraint for web tests, step-type selection guidance, exact-match semantics for text-validation, and detailed variable/function resolution behavior. It does not mention return values or side effects, but nothing contradicts annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded, but the description is bloated: it re-lists every parameter with text copied from the input schema, including a massive multi-line block on '${...}' variable syntax that already lives in the schema's steps description. Much of the content is redundant and could be replaced with a pointer to the schema.
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?
Input-side guidance is comprehensive: required parameters, step ordering, per-type deviceProfile rules, step-type best practices, and variable syntax are all covered. However, there is no output schema and the description never states what the tool returns (e.g., the created test's ID or confirmation), and it does not mention failure modes or idempotency behavior. This is a notable gap for a creation 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%, so the baseline is 3. The description's 'Parameters' section largely duplicates the schema descriptions verbatim, including the long variable-syntax text already present in the steps schema. It adds no new parameter meaning beyond the structured 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 opens with 'Create a new Reflect test which contains an ordered list of steps,' a specific verb+resource statement. It clearly distinguishes this creation tool from sibling Reflect tools like reflect_list_tests, reflect_get_test_detail, and reflect_run_test, which operate on existing tests.
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?
There is no explicit when-to-use vs alternatives or exclusion criteria. The creation purpose is implied by the verb, and the description offers rich guidance on how to construct steps (prefer selector-based steps over 'prompt' steps, web tests must start with 'browser-navigate'), but it never names sibling tools or conditions for choosing this tool over them.
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, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the section/product/portal scoping and pagination defaults, but it does not disclose any additional behavioral context such as response shape, embed limitations, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded, and the toolset heading is useful. However, the parameter bullets are redundant with the input schema and add unnecessary length without contributing new information.
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 an output schema present and annotations covering the read-only, idempotent, non-destructive behavior, the description is sufficient for calling the tool: it states the hierarchy, required sectionId, and pagination defaults. The only notable gap is the lack of explicit guidance on when to use this versus sibling TOC tools, but that is not blocking for 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%, and the description's parameter section restates the schema's descriptions almost verbatim. It therefore adds no new semantic meaning beyond what the agent can already read from the input 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 opens with a specific verb ('Get') and a precise resource: 'table of contents for a section of a product within a portal.' This clearly differentiates it from sibling tools operating on portals, products, sections, or on creating/deleting a table of contents.
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 resource hierarchy makes the intended use fairly clear, and the 'Toolset: Table Of Contents' heading adds context. However, it never explicitly says when to prefer this tool over sibling create/delete TOC tools or how to obtain a sectionId, so guidance is mostly 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 communicate that this is a mutating, non-idempotent action. The description adds some behavioral context, such as the expected output (newly created Test Case with details and key) and customFields formatting rules, but does not go further into auth needs, side effects, or error conditions. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is front-loaded and the examples are genuinely useful. However, the description repeats the full parameter list that the schema already documents, making it longer than necessary. The structure is organized, but the redundancy prevents it from being concise.
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?
For a tool with 12 parameters and nested customFields, the examples cover several important usage patterns and the output schema covers return values. Still, the invalid ownerJiraUserId example and the estimatedTime type mismatch leave enough ambiguity that an agent could build a failing request. The description is mostly complete but not fully reliable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high at 92%, so the parameter list in the description adds little beyond the schema; the examples do add useful mapping from natural-language requests to parameters. However, Example 4 uses 'ownerJiraUserId', which is not in the schema (and the schema sets additionalProperties to false), and gives a numeric value where ownerId expects a string. Also, estimatedTime is described as a number while the schema declares integer. These inconsistencies actively risk misleading an 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 first sentence states a clear verb and resource: 'Create a new Test Case in Zephyr specified project.' This distinguishes it from the many sibling create/update test case tools by naming both the toolset and the product, and from zephyr_create_test_case_steps which is for adding steps rather than creating the test case itself.
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 clearly states what this tool is for: creating a test case in a Zephyr project, with projectKey and name as the required inputs. It does not explicitly say when not to use it or name alternatives, but the purpose is explicit enough that an agent can infer it should be chosen over update/delete/step-creation siblings.
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?
Beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false), the description discloses an important behavioral trait: the server may enforce a lower limit than requested, causing the result set to be truncated, and instructs the agent to 'Always check the limit value in the response.' It also explains that startAtId is zero-indexed for ID-based pagination. This adds meaningful behavioral context beyond what the annotations already communicate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with headings for toolset, parameters, and examples, and the truncation warning is useful. However, the parameter section largely duplicates the schema descriptions, and the five examples are somewhat repetitive—each shows a similar pattern with one varying filter. This could be more concise, though the organization makes it easily scannable.
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, filtered list tool with an output schema present, the description covers all necessary invocation details: all optional filters, pagination parameters, defaults, truncation behavior, and illustrative examples. It does not describe the response structure, but the output schema exists and would carry that information. The description is sufficiently complete 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 description coverage is 100%, so the schema already fully documents every parameter, including defaults, maximums, formats, and descriptions. The tool description repeats this information nearly verbatim rather than adding new meaning. The examples illustrate parameter combinations but do not provide additional semantic detail about the parameters themselves beyond what the schema already states. A baseline of 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?
The description states a specific verb and resource: 'Get details of test cases in Zephyr.' This clearly identifies the operation and the domain, and the plural 'test cases' helps distinguish it from the singular 'zephyr_get_test_case.' However, it does not explicitly state that it returns a list or paginated results, nor does it explicitly contrast itself with sibling tools like 'zephyr_get_test_case' or 'zephyr_get_test_case_steps.'
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 multiple examples showing how to filter by project, folder, pagination, and limit, which implies when an agent might want to use this tool. However, there is no explicit guidance about when to use this tool versus alternatives (e.g., 'for a single test case, use zephyr_get_test_case'), nor any mention of when this tool should not be used. The usage context is implied through examples rather than stated directly.
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 convey read-only, idempotent, non-destructive behavior. The description adds a genuinely useful caveat that the server may enforce a lower maxResults than requested and truncate results, and it instructs the caller to check the returned maxResults. This adds value beyond the annotations without contradicting them.
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 purpose is front-loaded and the content is organized into clear sections for parameters and examples. It is somewhat longer than strictly necessary because the parameter documentation duplicates the schema, but the examples are meaningful and well structured.
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 an output schema present and read-only annotations, the description covers the required key format, optional parameters, defaults, pagination, truncation behavior, and example calls. It does not explicitly explain ordering or how to choose between similar Zephyr get tools, but the essential context for calling this tool is present.
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 coverage is 100%, so the baseline is 3, but the description adds concrete examples and clarifies pagination semantics, including startAt as zero-indexed and the 7th-to-11th-step example. The 'get any test case step' example is slightly misleading because it actually returns the first result by default, preventing a perfect score.
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 opens with a specific verb and resource: 'Get details of test case steps in Zephyr,' which clearly identifies the operation and distinguishes it from Zephyr tools that create, link, or retrieve execution steps. It does not explicitly name sibling alternatives, but the test-case-step resource is unambiguous.
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?
The description gives no guidance on when to prefer this tool over alternatives such as zephyr_get_test_execution_steps or zephyr_get_test_case. The intended use is only implied by the name and first sentence; no exclusions, prerequisites, or alternative-selection criteria are provided.
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, idempotentHint=true, and destructiveHint=false. The description adds valuable behavioral context beyond that: default/max pagination limits, server-side limit enforcement, potential result truncation, and the instruction to check maxResults in the response. No contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections and helpful examples, but it duplicates the schema's parameter descriptions almost verbatim and includes several repetitive 'Expected Output' lines. It earns some value from examples, but is longer than necessary.
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 an output schema present and annotations covering safety, the description covers the remaining practical needs: all filters, pagination behavior, truncation warning, and six usage examples. It is complete enough for an agent to invoke the tool correctly, though it does not explicitly discuss combining multiple filters.
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 already documents all five parameters thoroughly. The description mostly repeats that text and adds examples, but it does not provide much new semantic meaning beyond what the parameter descriptions already cover. Baseline 3 applies here.
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 states a specific verb, resource, and scope: 'Get details of Test Cycles in Zephyr.' The plural 'Test Cycles' signals this is a listing operation and distinguishes it from the singular sibling zephyr_get_test_cycle, though it does not explicitly name or contrast the sibling relationship.
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 examples show practical scenarios for using the tool with different filters, which implies when it is appropriate to call it. However, there is no explicit guidance on when not to use it or when to prefer a sibling tool such as zephyr_get_test_cycle for a single cycle or zephyr_get_test_cycle_links for links.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds only 'admin' scope and UUID lookup, which is mild context but no meaningful behavioral disclosure beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded with the essential operation and scope. The Toolset and Parameters block is somewhat redundant with the input schema, but the overall size remains compact and scannable.
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 single-required-parameter, read-only lookup tool, the description is nearly sufficient. It does not list what fields are returned and there is no output schema, so an agent cannot know the exact shape of the response, but the gap is minor for such a simple get-by-UUID operation.
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 fully documents userId as a required string UUID, with 100% schema description coverage. The description repeats 'UUID' and 'required' but adds no additional constraints, examples, or error behavior, so it only meets the baseline.
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 action ('Retrieve details'), a specific resource ('user'), a lookup key ('by UUID'), and the scope ('admin'). This is distinguishable from sibling tools like contract-testing_admin_list_users or contract-testing_get_current_user without opening the schema.
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 'admin' scope implies this is for administrator-facing lookup of an arbitrary user, so usage context is somewhat clear. However, it does not explicitly say when to use this tool versus sibling tools such as admin_list_users, get_current_user, or admin_get_team_user.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is well established. The description adds workspace scoping and pagination defaults, which is useful, but it does not disclose return format, ordering, or admin permission requirements beyond what annotations imply.
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 short and front-loaded with the main purpose, and the parameter list is compact. However, 'Toolset: Admin' and the repeated parameter list duplicate the title and schema, so not every line provides unique 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 read-only, paginated list operation with rich annotations and full schema coverage, the description supplies enough information to invoke the tool correctly. There is no output schema, so the return structure is unstated, but the tool's simple nature makes this a minor gap.
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 already fully documents both parameters. The description repeats the two parameters with their defaults, adding no extra semantic meaning such as maximum page size, filtering, or ordering 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?
The description states an explicit verb ('List'), a concrete resource ('all roles defined in the workspace'), and clarifies it is an admin operation. This clearly distinguishes it from role-specific siblings like admin_get_role or admin_create_role.
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 clear context for the main use case but never mentions alternatives or when not to use it. It does not route the agent to admin_get_role for single-role lookup or admin_create_role for creation, so selection must be inferred from the tool name and sibling list.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no behavioral detail beyond the workspace scope; no rate limits, response shape, or pagination semantics are disclosed, but the annotation coverage keeps this at a baseline 3.
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 front-loaded with the action and scope, and the parameter list is clearly formatted. However, it redundantly repeats the schema's parameter descriptions, which takes up space without adding new information. Still compact and readable.
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 tool with all parameters documented and safety annotations covering the read-only behavior, the description is largely sufficient. It lacks explicit information about response format or pagination behavior beyond defaults, but those are minor gaps given the tool's simplicity.
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 has 100% description coverage, and the description repeats those same parameter descriptions verbatim without adding extra meaning. The only slight addition is the userType label, but it is already present in the schema, so description adds no net value 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 states a precise verb and resource: 'List all users in the workspace (admin).' It clearly differentiates from sibling tools by scope ('workspace') and admin context, leaving no ambiguity about what the tool returns.
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 through its clear list operation, but it does not explicitly state when to prefer this over related tools like admin_get_user or admin_list_team_users. No alternative conditions or exclusions are 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 flag this as a mutating (readOnlyHint=false), non-idempotent operation, and the description's 'Create' aligns with that. However, the description adds no further behavioral context, such as what happens on duplicate names, permission requirements for production environments, or side effects on deployments.
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 compact and front-loads the purpose in the first sentence, followed by a clear toolset heading and a short parameter list. The parameter list is redundant with the schema, but the overall structure is clean and does not contain 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 straightforward create operation with four simple parameters, no nested objects, no output schema, and clear annotations, the description is mostly sufficient. It could add notes about duplicate behavior or return values, but these are not essential for basic use.
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%, and the description's parameter list simply repeats what is already in the input schema, including the same examples. It does not add any additional meaning 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?
The description uses a specific verb and resource: 'Create a new deployment environment in PactFlow.' The toolset heading 'Environments and Deployments' and the word 'Create' clearly differentiate this from sibling tools like contract-testing_update_environment, contract-testing_delete_environment, and contract-testing_list_environments.
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 this tool is for creating new environments, but it does not explicitly state when to use it versus alternatives such as update_environment or record_deployment. It also does not mention prerequisites like whether the environment name must be unique or whether teams must already exist.
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 convey destructiveHint=true and idempotentHint=true, so the bar is lower. The description adds the workspace-wide 'ALL' scope but does not mention irreversibility, potential impact on dependent data, or any confirmation safeguards, which would strengthen it further.
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 core behavior is front-loaded in a single clear sentence. The 'Toolset' and 'Parameters: None' lines are somewhat redundant but short, and the overall description is appropriately minimal for a 0-parameter tool.
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, 0-parameter destructive operation, the description plus annotations cover the essential facts: it deletes all consumer-provider integrations in the workspace, and it is destructive. A note about irreversibility would be nice, but nothing critical is missing.
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?
There are zero parameters and schema coverage is 100%, so the schema fully defines the call surface. The description explicitly notes 'Parameters: None,' which adds a small but useful confirmation for 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 names a specific verb ('Delete'), a precise resource ('ALL consumer-provider integrations'), and the scope ('in the workspace'). It clearly differentiates this from the sibling contract-testing_delete_integration, which targets a single integration.
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 guidance is given about when to choose this bulk-delete tool versus alternatives like delete_integration or list_integrations. The word 'ALL' implies a bulk operation, but the description never states conditions, warnings, or alternative routing.
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, idempotentHint=true, and destructiveHint=false, establishing a safe read operation. The description's 'Retrieve' wording is consistent with those annotations but adds no behavioral context beyond them—such as return shape, error conditions, or permission requirements—so it does not go beyond what structured metadata already conveys.
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 core sentence is concise, front-loaded, and immediately clear about the operation and target. The additional Toolset heading and Parameter list are redundant with schema metadata and do not add information, but the overall size is still economical.
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-parameter read operation with strong safety annotations, the description is largely sufficient: it identifies the target resource and lookup key. The main gap is that 'details' is somewhat vague and there is no output schema or mention of what fields will be returned, but this is minor for a tool of this complexity.
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%, and the parameter description in the schema ('Name of the pacticipant (application or service)') is repeated verbatim in the tool description. The description therefore adds no meaning beyond the schema, so it meets the baseline but does not enhance agent understanding.
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 ('Retrieve'), a resource ('details for a specific pacticipant'), and the lookup key ('by name'). This clearly distinguishes it from siblings like list_pacticipants (list all) and get_pacticipant_version (fetch by version), even though those siblings are not named 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 phrase 'by name' implies this tool is appropriate when the agent already knows the pacticipant name and needs its details. However, the description does not explicitly mention when to prefer this over list_pacticipants, get_latest_pacticipant_version, or other version-specific tools, nor does it provide any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context beyond the operation itself, such as response shape, error/404 behavior, or relationship to other webhook tools. It simply restates the retrieval action without enriching it with non-obvious traits.
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 compact and front-loaded with the core purpose, followed by a minimal parameter list. The 'Toolset: Webhooks' line adds mild navigational context, and the parameter block is slightly redundant with the schema, but there is no unnecessary prose or padding.
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 single-parameter get-by-UUID operation with annotations covering the read-only, idempotent, non-destructive profile, the description provides enough information for an agent to select and invoke the tool. It does not detail the return shape, but the phrase 'Retrieve details' gives a reasonable expectation, and no output schema exists to provide more structure.
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 already documents webhookId as a required string UUID. The description repeats the same parameter information without adding extra semantics, such as how to obtain a valid webhookId or any format edge cases. Baseline 3 applies because the schema carries the parameter documentation burden.
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 action ('Retrieve details'), a specific resource ('webhook'), and the required selector ('by UUID'). This clearly distinguishes the tool from siblings like contract-testing_list_webhooks or contract-testing_execute_webhook without needing to inspect their schemas.
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 clearly establishes when to use the tool: when you need details for one specific webhook and have its UUID. It does not explicitly compare against list_webhooks or note that list_webhooks should be used when the UUID is unknown, but the UUID-based scoping makes the usage context clear enough for a simple get-by-id tool.
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 this as read-only, idempotent, and non-destructive. The description adds useful context beyond those annotations: it retrieves workspace-level integrations, not a team-filtered subset. There is no contradiction with the annotations, and the safety profile is well covered.
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 core purpose is front-loaded in a single clear sentence, and the parameter list is scannable. The parameter block duplicates the input schema somewhat, which is mild redundancy, but the overall definition is compact and well-organized.
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 straightforward, read-only listing operation with two optional and fully documented pagination parameters, the definition is largely complete. The main gaps are that there is no output schema and the description does not explain the response shape or reconcile 'all' with the paginated pageSize default, but these are moderate gaps given the tool's simplicity.
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 already provides 100% coverage for both parameters, including types, defaults, and descriptions. The description repeats the schema information without adding deeper semantics, such as range constraints, ordering, or pagination envelope details. This matches the baseline for fully schema-documented parameters.
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 uses a specific verb and resource: 'Retrieve all consumer-provider integrations registered in the workspace.' The workspace-level scope is clear. However, it does not explicitly differentiate itself from sibling tools like contract-testing_get_integrations_by_team, so it stops short of a 5.
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 it—when the agent needs all consumer-provider integrations in the workspace—and the pagination parameters suggest batch retrieval. It does not provide explicit guidance about alternatives, exclusions, or when a more specific endpoint like get_integrations_by_team should be preferred.
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, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the workspace-level scope and 'all webhooks', which is useful but does not disclose additional behaviors such as pagination semantics or return shape. With annotations present, this is adequate but not rich.
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 short and front-loaded with the core purpose. The 'Toolset: Webhooks' label and parameter list are slightly redundant with the title and schema, but the overall size is appropriate and no information is buried or verbose.
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, paginated list operation with fully documented optional parameters and strong annotations, the description is mostly complete. It does not describe the output format, but for a list-everything endpoint this is a minor gap given there is no output schema.
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 fully documents both parameters with names, defaults, and descriptions, so the baseline is 3. The description merely repeats the parameters without adding new semantics like interaction between pageNumber and pageSize or result ordering. It provides no value 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 states a specific verb ('Retrieve') and resource ('all webhooks configured in the workspace'), clearly distinguishing this collection operation from sibling tools like contract-testing_get_webhook and contract-testing_execute_webhook. Scope and resource are both explicit, leaving no ambiguity about what the tool does.
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?
Usage is implied: call this when you need the full list of webhooks in the workspace. However, the description does not explicitly contrast it with contract-testing_get_webhook for retrieving a single webhook, nor does it state when not to use it. There is no explicit alternatives guidance beyond the verb 'list'.
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 convey destructiveHint=true and idempotentHint=true, and the description simply restates the removal action without adding new behavioral context such as side effects, error behavior when the label does not exist, or permanence of removal. No contradiction exists between description and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core action. The parameter list is somewhat redundant with the schema but the overall structure is clean and easy to scan.
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 two-parameter removal operation with no output schema, the description plus annotations are largely sufficient. It could mention the outcome of removing a missing label, but the idempotentHint partially covers that concern.
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%, and the description's parameter section only repeats the schema's parameter names and descriptions. It adds no additional meaning about types, formats, or constraints 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 uses a specific verb ('Remove') with a clear resource ('a label from a pacticipant'), making the operation unambiguous. It also distinguishes itself from sibling tools like add_label_to_pacticipant and list_labels by stating the exact reverse action.
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 the use case: when a label should be removed from a pacticipant. However, it does not explicitly state when not to use it or point to alternatives such as add_label_to_pacticipant for creating the relationship.
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 invasive=false, readOnlyHint=false, and idempotentHint=true, so the safety profile is covered. The description adds useful contextual behavior around uniqueness, visibility, and the copy-vs-new flow. However, it mostly mirrors the schema descriptions and does not clarify idempotency behavior or what happens on conflicts such as duplicate slugs.
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 well-organized with a one-line purpose followed by a bulleted parameter list, making it easy to scan. It is somewhat long because it duplicates schema descriptions, but every bullet carries relevant details and the opening sentence is front-loaded.
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 create operation with 8 parameters, the description covers all parameters, required fields, the copy/new conditional, and field-level behavior such as uniqueness and visibility. An output schema exists and annotations cover idempotency and safety. Minor gaps remain around default values and what a copy operation duplicates beyond the product record.
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 restates the same parameter documentation, including the conditional requirement for productId when type is 'copy'. It adds no meaning beyond what the schema already provides, though the brief examples like 'my-api' aids comprehension.
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 ('Create'), a specific resource ('product'), and a scope ('for a specific portal'), which clearly distinguishes it from sibling tools like swagger_get_portal_product, swagger_update_portal_product, and swagger_delete_portal_product. The toolset label 'Products' further anchors its purpose.
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 clearly implies it is for creating a new portal product, which is a useful context signal. However, it does not explicitly mention when not to use it or point to alternatives such as swagger_update_portal_product for existing products. Usage guidance is implied by the verb and name rather than explicitly 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 declare destructiveHint=true and idempotentHint=true, so the description only needs to add context rather than repeat the danger. It adds the useful nuance that deletion is scoped to a specific portal, but it doesn't state whether deletion is permanent or has cascading effects; the annotations cover the basic destructive profile.
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 lead sentence is short, specific, and front-loaded. The subsequent 'Toolset' and 'Parameters' sections are mostly redundant with the schema, but the overall size is still small and not distracting.
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 single-parameter delete operation with a rich annotation set and an output schema, the description is nearly complete. It identifies the operand (portal product), the required identifier format, and the portal-scoped behavior; only irreversible side effects are left 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 schema already documents productId fully. The description repeats the same text and adds no new meaning beyond what is structured, 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 opens with a specific action and resource: 'Delete a product from a specific portal.' This clearly distinguishes it from sibling tools like swagger_create_portal_product or swagger_update_portal_product, and the title reinforces the same meaning.
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 this tool: whenever a product needs to be removed from a particular portal. It does not explicitly name alternatives or exclusions, but the delete verb plus the portal-scoping phrase provides enough context for an agent to choose it over create/update/list siblings.
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 establish read-only, idempotent, non-destructive behavior. The description adds valuable behavioral context beyond those annotations by explaining access scope: regular users see their own organizations, while On-Premise admins see all organizations. No hidden side effects are implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is front-loaded and clear. However, the 'Parameters' section duplicates the input schema, and the 'Toolset: Registry API' line adds limited value, so not every part of the description earns its place.
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 low-complexity, read-only list operation with zero required parameters, full schema coverage, an output schema, and safety annotations, the description provides the necessary missing context: who the results are scoped to and how admins differ. Nothing needed for correct invocation is missing.
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%, and the description's parameter block largely repeats the schema's descriptions verbatim. It adds no new detail such as defaults, valid enum values, or boundary 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Get organizations') and clarifies scope by saying it returns the authenticating user's memberships, with a special case for On-Premise admins. It is clear, though it does not explicitly differentiate itself from sibling list tools such as swagger_list_portals.
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 intended use is implied by the name and the 'returns a list of organizations' phrasing, and the Toolset label gives context. However, there is no explicit statement of when to use this endpoint versus alternatives (e.g., portal lists or search endpoints), nor any 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.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate this is a non-read-only, non-idempotent, non-destructive write operation. The description accurately adds that it creates a new link and describes the expected created-resource output, but it does not disclose additional behavioral context such as side effects, authentication needs, 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and uses a clear structure with toolset, parameters, and examples. The parameter list repeats the schema somewhat, but the examples are useful; the only minor redundancy is repeating the same expected-output text in both examples.
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 3-parameter create operation with full schema coverage and an output schema, the description provides enough information to call the tool correctly. It includes required parameter markers, key format, and concrete examples; the main omitted piece is an explicit routing note for when a web link on a test case is not the right choice.
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 the parameter descriptions in the description largely duplicate the schema. The examples add useful concrete testCaseKey values and show the optional description omitted, but they do not add significant 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 states a specific verb ('Create'), a specific resource ('Web Link'), and a specific scope ('for a Test Case in Zephyr'). This clearly distinguishes it from sibling tools like zephyr_create_test_cycle_web_link and zephyr_create_test_case_issue_link.
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?
Usage is implied through 'for a Test Case' and the 'Toolset: Test Cases' label, and the examples show concrete scenarios. However, the description does not explicitly say when to prefer this tool over the cycle web-link or issue-link alternatives, so the guidance is mostly inferential.
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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the read-only nature is already disclosed. The description adds valuable behavioral context beyond annotations: it explains server-side truncation, that maxResults may be lowered by the server, and that the response's maxResults field must be checked to confirm actual returned count. This is genuinely useful operational detail not present in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear title, parameter breakdown, and examples. The examples are helpful but somewhat verbose for an API description; the 'Expected Output' lines add marginal value. Still, the information is organized and front-loaded with the core 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?
The tool is a simple paginated list operation with an output schema present, so return values are documented elsewhere. The description covers pagination behavior, defaults, and server-side truncation caveats. It does not mention sorting or filtering, but for a simple 'get all projects' listing, the provided guidance is sufficient for an agent 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 description coverage is 100%, with both parameters fully documented in the schema. The description repeats the parameter details and adds three concrete examples, which reinforce usage but do not add meaning beyond the schema. Baseline 3 is appropriate since the schema carries the semantic load.
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 states a specific verb and resource: "Get details of projects in Zephyr." This is clear and aligns with the tool name. It does not explicitly distinguish itself from the sibling tool 'zephyr_get_project' (singular), which could fetch a single project, but the plural form and description imply a list operation.
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 includes pagination parameters and examples showing how to get the first projects or a range, which implies usage for listing projects. However, it does not explicitly state when to use this tool versus alternatives like 'zephyr_get_project' or 'qtm4j_get_projects', leaving the agent to infer the distinction.
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 signal read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral context beyond that: the server may enforce a lower maxResults limit than requested, results may be truncated, and the caller should check the maxResults value in the response. This is useful, non-contradictory disclosure.
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 front-loaded with a clear one-line purpose and organized into Parameters and Examples sections. It is somewhat redundant with the schema's parameter descriptions, but the examples earn their place by illustrating pagination, startAt behavior, and testDataRowNumber usage.
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 paginated list operation with an output schema and full annotations, the description covers the key format, pagination caveat, startAt semantics, and test data row use cases well. The main completeness issue is the inconsistent maxResults limit between the description and the schema.
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 input schema, so the baseline is 3. The description restates those details and adds five worked examples showing valid combinations and expected outputs, which is helpful. However, it conflicts with the schema by claiming maxResults can be requested up to 1000 while the schema states a maximum of 9007199254740991, creating ambiguity for an agent.
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 states a specific verb and resource ('Get details of test execution steps in Zephyr') and the Toolset label helps orient it within Test Executions. It does not explicitly distinguish itself from sibling tools like zephyr_get_test_case_steps or zephyr_get_test_execution, so an agent must infer those boundaries from the resource names.
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 examples show how to call the tool, and the purpose implies when it is appropriate, but there is no explicit 'use this instead of X' guidance or exclusionary context versus related Zephyr tools. Usage is implied rather than stated as clear decision criteria.
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 idempotentHint=true, and the description does not contradict them. It adds valuable behavioral context by warning that 'the server may enforce a lower limit than requested' and advising the agent to 'Always check the limit value in the response', which clarifies possible result truncation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for toolset, parameters, and examples, and it front-loads the purpose. However, it is longer than necessary: the parameter definitions duplicate the schema, and the five examples with 'Expected Output' lines are repetitive and could be trimmed.
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, idempotent list operation with an output schema and rich annotations, the description covers all essential call details: filters, defaults, pagination, date format, and the truncation caveat. The examples further clarify usage, and the output schema removes the need to describe return values in prose.
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 description coverage is 100%, so the baseline is 3. The description repeats the schema's parameter docs but adds value through five concrete examples showing valid parameter combinations and expected outcomes, such as using startAtId for ID-based pagination and projectKey for project filtering.
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 opens with a specific action and resource: 'Get details of Test Plans in Zephyr', reinforced by the 'Toolset: Test Plans' label. It is distinct from sibling tools like zephyr_get_test_cycles and zephyr_get_test_cases, though it does not explicitly state the comparison.
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 numerous examples showing parameter combinations, such as 'Get five Test Plans starting from the ID 123' and 'Get Test Plans updated after a given time', which implies usage. However, it never explicitly states when to choose this tool over alternative sibling tools for test cycles or test cases.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the scope of 'every regression-ready test case' and the CI/CD context, but it does not disclose async behavior, how results are returned, or whether a task object is created—information an agent may need for long-running suites.
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 core purpose is front-loaded in one clear sentence, followed by a concise usage hint. The 'Parameters' section duplicates the schema and could be trimmed, but overall the description is compact and well-structured.
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?
With no output schema, the description does not explain what the tool returns, whether the run is synchronous or asynchronous, or how to retrieve test results. Sibling tools like bearq_get_task_status and bearq_wait_for_task imply a task-based flow, but the description leaves this important behavioral detail 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% for the single optional environment parameter. The description repeats the same parameter text verbatim without adding syntax, defaults, or examples 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?
Description uses a specific verb and resource: 'Runs the full BearQ regression suite — every regression-ready test case in the workspace.' This clearly distinguishes it from sibling tools like bearq_run_test_cases and bearq_run_tests_in_functional_areas by emphasizing the full suite scope.
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?
States clear usage context: 'Use for CI/CD or pre-release smoke.' This tells the agent when to invoke the tool, though it does not explicitly mention alternatives or when not to use it, such as pointing to bearq_run_test_cases for targeted runs.
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 adds meaningful behavioral details beyond the annotations: default filters (event.since=30d, error.status=open), pagination via nextUrl with a warning not to construct it manually, and the expected output (ordered by timestamp with stack traces, breadcrumbs, metadata, and context).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is direct and useful, and the Use Cases/Expected Output sections add value. However, the Parameters section duplicates the schema descriptions almost verbatim, making the definition longer than necessary.
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?
Despite lacking an output schema, the description provides expected output format, default filters, pagination guidance, filter discovery advice, and a realistic example. It is largely complete for correct invocation, though it could better differentiate this list endpoint from single-event retrieval tools.
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 Parameters section largely repeats the schema's descriptions verbatim and does not add substantial new meaning beyond the example call and expected output.
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 states a specific verb and resource: 'Gets a list of events that have grouped into the specified error.' This clearly distinguishes it from tools like bugsnag_get_error or bugsnag_get_event, though it does not explicitly name those 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 Use Cases section provides a concrete scenario: retrieving all events for comparison of stack traces, breadcrumbs, and metadata. This gives clear context for when the tool is appropriate, though it does not explicitly describe when-not-to-use it or name alternatives.
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, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful behavioral context by specifying the expected output as an array of field names and types and clarifying that trace fields are custom attributes added to spans. No contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections and a front-loaded summary, making it scannable. However, it contains redundancy: the parameter bullet duplicates the schema, and the use cases and hints overlap with the opening sentence. It could be tighter without losing 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 simple optional-parameter, read-only list tool with no output schema, the description covers the core purpose, usage scenarios, and expected output format. It is complete enough for an agent to select and call the tool correctly, though it does not discuss edge cases such as behavior when no project is set.
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%, and the description's Parameters section essentially restates the same projectId text already present in the schema. The description adds no new meaning about the parameter, 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.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Get available trace fields/attributes for filtering', which names a specific verb and resource and states the purpose. It is distinguishable from sibling list tools because it targets trace fields specifically, though it does not explicitly contrast itself with alternatives like bugsnag_list_project_event_filters.
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?
Use Cases explicitly state when to use the tool: finding custom attributes for performance filtering, understanding trace metadata, and building dynamic filters. The Hints section reinforces that the returned fields should be reused in other performance queries, but it does not mention when not to use this tool or name an alternative.
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 non-readOnly and non-idempotent behavior. The description adds the irreversible property that 'name cannot be changed after creation', which is valuable. It does not cover other behavioral aspects such as duplicate handling, permissions, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the toolset categorization is helpful. However, the full parameter list duplicates the schema, making the description longer than necessary without adding informational 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 flat six-parameter creation tool with complete schema coverage and annotations, the description covers the essential registration scope and the immutable name constraint. It lacks explicit alternative usage and post-creation behavior, but these are non-critical gaps.
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 describes all six parameters with 100% coverage. The description's parameter list is a near-verbatim repeat of the schema and adds no extra meaning beyond what is already structured.
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 ('Register'), a resource ('pacticipant'), and the scope ('in the workspace'). It clearly distinguishes this creation tool from its update/patch/delete siblings through the word 'new'.
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?
'Register a new application/service' gives a clear creation trigger and implies the tool is for new resources, not modifications. However, it does not explicitly name alternatives like contract-testing_update_pacticipant for existing resources.
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, idempotentHint=true, and destructiveHint=false, and the description's 'Fetch' is consistent with those. The description adds the fact that the returned artifact is an OpenAPI contract scoped to a provider version, but it does not disclose pagination semantics, response format details, or edge cases. This is adequate but not rich behavioral 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The action sentence is front-loaded and immediately informative, which is good. However, the 'Toolset:' line and the full parameter list duplicate what is already in the input schema and tool name, so part of the description does not earn 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?
Since there is no output schema, the description usefully states the return artifact (provider OpenAPI contract for a provider version), which is the key missing context. The required parameters are clear, the annotations cover the read-only/idempotent nature of the call, and no complex nested objects or enum choices exist. Pagination is only minimally contextualized, but the schema defaults are self-explanatory.
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 already documents all four parameters, their types, required status, and defaults. The description's parameter block only restates that information and adds no new meaning such as value constraints, formats, or inter-parameter relationships.
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 first sentence names a specific verb ('Fetch'), a precise resource ('provider OpenAPI contract'), and the scoping condition ('for a given provider version'), making the tool unambiguous. This also distinguishes it from sibling tools like contract-testing_get_bdct_provider_contract_verification_results, which target verification results rather than the contract itself.
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 clearly implies when to use this tool: when an agent needs a provider OpenAPI contract for a specific provider version in Bi-Directional Contract Testing. It provides clear context via required parameters and toolset labeling, though it does not explicitly name alternatives or state exclusions.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the environment-scoped resource context but does not disclose additional behavioral details such as response format, error conditions, or pagination behavior beyond the schema defaults. No contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded, but the Toolset label and the full parameter list duplicate information already present in the input schema. This redundancy prevents the description from being maximally efficient, though it remains reasonably sized.
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 filtered-list read operation, the combination of annotations, schema, and description covers the required parameters, defaults, and safety profile. The description could clarify what a 'release record' represents versus a deployment record, but this is not essential for invoking 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 description coverage is 100%, so all parameters are already documented. The description's parameter list repeats the schema's names, types, required flags, and defaults without adding extra meaning or usage nuance beyond what the input 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?
The description states a specific verb ('Retrieve'), resource ('release records'), and scope ('for a specific pacticipant version in a specific environment'). This clearly separates it from siblings like get_deployed_versions_for_version, making the tool's function distinct without needing to open schemas.
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: use this when you need release records for a specific pacticipant version in a specific environment. It does not explicitly name alternatives or exclusion criteria, but the scoping is explicit enough for basic selection.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds only the 'all teams' scope and no additional behavioral detail such as response shape, aggregation behavior, or authorization context, but this is acceptable for a simple read operation.
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 short and front-loaded, with the core action in the first sentence. The 'Toolset' and 'Parameters' lines are somewhat redundant with the title and schema, but they do not bloat the description significantly.
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?
For a zero-parameter read-only tool, the description is mostly sufficient, especially with the annotations covering safety. However, there is no output schema and the description does not clarify what metrics are returned or how they are grouped, which could matter when choosing between this and contract-testing_get_metrics.
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 input schema is empty and the description explicitly states 'Parameters: None,' so there are no parameter semantics to add. The 0-parameter baseline of 4 applies here because the schema already fully describes the absence of inputs.
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 ('Fetch') and resource ('metrics for all teams'), making the tool's purpose immediately clear. The scope qualifier 'all teams' also distinguishes it from the sibling contract-testing_get_metrics, which appears to be the more general metrics tool.
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 the tool should be used when team-level metrics are needed, but it provides no explicit guidance on when to prefer this over contract-testing_get_metrics or other related tools. There is no when-not-to-use or alternative-routing information.
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 establish that the tool is read-only, idempotent, and non-destructive. The description adds useful behavioral detail beyond that: it describes exactly what the returned matrix exposes, the relationship between versions, and that failures come with detailed cause information. No contradiction with annotations exists. It omits exact response formatting, but the annotations and descriptive return semantics reduce the impact of that gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening paragraph is strong and front-loaded, and the bulleted use cases make the intended scenarios easy to scan. However, the Parameters section duplicates what the input schema already documents, and the use-case list is somewhat verbose and overlapping. The structure is clear but not every sentence 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 tool with strong annotations and no output schema, the description provides enough context to understand what will be returned and why an agent would call it: version relationships, pact files, verification outcomes, and failure details. It covers parameter selection, use cases, and system context (Pact Broker or Pactflow). It is not exhaustive about the exact response shape, but it is complete enough for successful 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 67%, so the description should add value beyond the schema. It does add a useful rule of thumb for latestby (cvp for one-selector can-i-deploy queries, cvpv for two-selector queries), but it largely repeats the limit and latestby descriptions already present in the schema. The required q parameter is only marked as required, leaving its selector semantics to the schema entries; this is a meaningful gap because q is the core query parameter.
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 identifies the operation ('Retrieve the comprehensive contract verification matrix') and the resource domain: consumer/provider versions, pact files, and verification results. It is specific about what the matrix contains and that it highlights failures. It does not explicitly distinguish itself from the sibling contract-testing_can_i_deploy, even though it references can-i-deploy in its use cases, so it stops short of a 5.
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 'Use Cases' section provides explicit contexts for using the tool, such as identifying passed/failed combinations, diagnosing failures, visualizing compatibility, and advanced selector queries. This gives an agent clear situational guidance. However, there is no explicit 'when not to use' or comparison to the closely related can_i_deploy sibling, so the guidance is not complete enough for a 5.
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 provide the key behavioral profile: not read-only, idempotent, and non-destructive. The description adds context about PactFlow and bi-directional contract testing, but it does not describe side effects such as whether an existing contract is replaced or whether the provider must already exist. No contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is strong and front-loaded, but the parameter list largely duplicates the input schema and adds limited value. The 'Toolset: Contracts' line is minor filler. The description is not bloated, but it could be shorter and more additive.
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 six-parameter tool with a nested required contract object, the schema plus description cover all necessary input semantics, and the annotations cover the safety profile. It does not describe response or error behavior, and no output schema exists, but nothing critical is missing for invoking 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?
The input schema has 100% parameter coverage with detailed descriptions, including nested fields like selfVerificationResults. The description repeats definitions such as 'contract (object): Provider contract...' without adding new constraints, examples, or clarifications 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 opening sentence is explicit: 'Publish a provider OpenAPI or AsyncAPI contract and self-verification results to PactFlow.' This gives a specific verb, resource, and target system. The 'provider' wording also distinguishes it from the sibling publish_consumer_contracts tool.
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 makes the intended use clear: publish a provider contract with self-verification details to PactFlow. It does not explicitly name alternatives or say when not to use it, but the provider-focused wording is enough to route an agent to the correct sibling tool in most cases.
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, idempotentHint=true, and destructiveHint=false, so the safe, repeatable nature of the call is established without the description. The description adds some context by stating that the response contains status, progress, and details, but it does not cover potential operational traits such as eventual consistency, polling intervals, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear one-sentence purpose and uses helpful sections for use cases and examples. However, the 'Parameters' section largely duplicates the input schema, and the use-case list has a formatting artifact ('1. 1.'), so not every section 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 simple two-parameter, read-only status lookup with no output schema, the description covers the request ID provenance, the optional project key, a concrete JSON example, and a summary of the expected output. It could be more complete by naming the companion import tool that returns the request ID and by specifying the exact result fields, but these are minor gaps.
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%, and the description mostly restates the schema's parameter docs. It does reinforce the critical naming warning ('requestID', not requestId/jobId), but that warning is already present in the schema, so no new meaning is added. There is also a slight tension between schema type 'number' and the text saying it accepts a string or number.
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 opening sentence uses a specific verb ('Fetches'), resource ('status of an automation import job'), and lookup key ('request ID'), so it is immediately distinguishable from the many other qmetry fetch tools. Use cases reinforce that this is a polling/monitoring operation rather than a mutation or test-execution tool.
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?
Three explicit use cases tell an agent when this tool applies: checking completion, retrieving status/progress/details, and monitoring CI/CD automation result processing. It does not name when-not-to-use or point to a sibling like qmetry_import_automation_test_results, so it stops short of explicit 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?
Annotations already establish readOnly/idempotent/destructive safety, and the description adds meaningful behavior: the system auto-resolves viewId from project info, incorrect/stale viewId can yield incomplete results, and filter semantics (AND logic, archive values). Minor internal inconsistency exists between 'system automatically resolves' in the schema and 'always resolve and use' in hints, which prevents a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a wall of text with nine near-duplicate use cases, numbered hints that repeat parameters already in the schema, and contradictory viewId guidance. The useful content is buried under 30+ lines of redundancy; this is not an appropriately concise definition.
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 9-parameter tool with no output schema, coverage is strong: all parameters are described, examples cover common cases, and the output is summarized as a JSON object with executions and metadata. The internal viewId contradiction (TE vs TEL, auto-resolve vs must-resolve) and lack of a more detailed response format keep it from full 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?
Schema coverage is 100%, so the baseline is 3, but the description adds real value: critical parameter naming caveats (use 'tsID', not variants), how to obtain tsID/tsFolderID, and explicit filter field syntax with examples. This goes beyond the schema descriptions.
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?
Description opens with a specific action and resource: 'Get executions for a given test suite in QMetry'. It clearly identifies what is returned, but it does not explicitly differentiate this from sibling tools like qmetry_fetch_test_case_runs_by_test_suite_run, so it stops short of full sibling differentiation.
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 'Use Cases' section provides clear contexts (reporting, trend analysis, filtering by release/cycle/platform, monitoring, auditing) and the hints give an explicit prerequisite workflow (fetch project info, get viewId). It lacks explicit exclusions or 'use X instead' guidance, so it doesn't earn 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 declare readOnlyHint, idempotentHint, and destructiveHint, and the description adds substantial behavioral context: automatic viewId resolution, auto-fetching project info, filter capabilities, AND logic for multiple filters, archive encoding, and pagination behavior. The only slight blemish is the internally confusing statement that tsFolderID is 'REQUIRED' while also being auto-resolved if not provided, which could muddy an agent's understanding of optionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is heavily bloated: 26 numbered hints, repeated parameter explanations, and redundant example output statements. The first sentence is concise and effective, but subsequent sections repeat schema information and include overlapping instructions. While organized into sections, many sentences do not earn their 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?
Given the 8 parameters and no output schema, the description is largely complete: it provides examples for filtering, pagination, auto-resolution, and project info extraction, and describes the output as 'JSON object with test suites array and pagination metadata'. Minor gaps remain, such as the ambiguous 'REQUIRED' vs auto-resolved tsFolderID and a lack of detailed return field descriptions, but overall it equips 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.
Parameters5/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, but the description far exceeds the schema by explaining the tsFolderID naming trap, how to derive folder IDs from project info, viewId auto-resolution, filter JSON syntax with concrete examples, archive encoding, and pagination semantics. This adds substantial meaning that the schema alone does not convey.
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 opens with a specific verb and resource: 'Get test suites that can be linked to test cases in QMetry', which clearly identifies the operation. It also includes a Toolset label and use cases. However, it does not explicitly name or differentiate from the sibling qmetry_fetch_test_suites, relying on the 'for test case' phrasing to imply distinction.
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 contextual guidance such as 'Use this before creating new test suites to check existing ones' and explains the workflow for auto-resolving tsFolderID and viewId. It also lists use cases, but it does not explicitly state when to prefer this tool over qmetry_fetch_test_suites or other alternatives, nor does it specify exclusions. Guidance is present but not decisive.
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?
Beyond the annotations (readOnlyHint=false, etc.), the description discloses that the prompt can only be literal text, cannot contain dynamic syntax or secrets, and can perform browser navigation and tab/enter in Web recordings. It also implies the session must be active. These are behavioral constraints not visible in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and the toolset label helps orientation. However, the 'Parameters' section duplicates the input schema descriptions almost exactly, creating redundancy. The structure is organized but not optimally concise for an agent that already has schema access.
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 only two required parameters, both fully documented, and the description adds prompt constraints and web-recording behavior. It does not explicitly state the prerequisite of an open session from reflect_connect_to_session or describe success/error responses, but for a simple append-step mutation tool, the coverage is adequate.
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%: both sessionId and prompt are described in the input schema, and the description's 'Parameters' block repeats those descriptions nearly verbatim without adding new meaning. Examples like 'Click on the back button' are already present in the schema description, so the description adds no semantic value 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 opens with 'Add a natural language prompt step to an active Reflect recording session' – a specific verb ('Add'), a precise resource ('prompt step'), and a target context ('active ... recording session'). This clearly differentiates it from sibling tools like reflect_add_segment or reflect_delete_previous_step without needing to inspect 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 implies the tool is for adding prompt steps during an active recording session and gives constraints on prompt content (literal text only, no template variables/secrets) and capabilities in Web recordings. However, it does not explicitly state when to prefer this over alternatives like reflect_add_segment, nor provide exclusions or prerequisites other than 'active'.
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, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the active-session precondition and the 'current state' nature of the capture, which is useful, but it does not disclose behavior such as what happens when no active session exists or how the screenshot is returned.
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 front-loaded with a clear one-sentence purpose, followed by a compact toolset label and parameter list. It is appropriately short, though the parameter list mostly duplicates the input schema.
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?
For a simple read-only tool with only two parameters, the description is largely adequate. However, there is no output schema, and the description does not clarify the return format of the screenshot (e.g., binary, base64, URL), nor does it explicitly state the connection prerequisite. This is a meaningful but not severe gap.
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 coverage is 100%, giving a baseline of 3. The description adds value by qualifying the session as active and placing the screenshot in the current state context, which is not fully captured by the schema's simple 'The ID of the Reflect recording session' description.
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 and object: 'Capture a screenshot from the current state of an active Reflect recording session.' It clearly identifies the resource (Reflect recording session) and distinguishes this operation from sibling Reflect tools that list segments, execute suites, or manage tests.
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 by mentioning an 'active Reflect recording session,' but it does not explicitly state prerequisites, such as connecting to a session first, nor does it provide when-not-to-use guidance or alternatives. It is adequate context but relies on 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?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds context by naming the endpoint and the metadata retrieved, but does not disclose rate limits, authentication needs, pagination quirks, or return-format behavior beyond the parameter list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is strong and front-loaded, but the large parameter section duplicates the schema descriptions exactly. Since the structured schema already contains all 9 parameter definitions, most of the description body adds no new information and could be significantly shortened.
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?
With 100% schema coverage, output schema present, and annotations covering read-only/idempotent behavior, the description is complete for selecting and invoking the tool. It adds the useful context of the /specs endpoint and the metadata fields returned, leaving no critical selection or calling information missing.
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 input schema already documents every parameter thoroughly. The description repeats those parameter descriptions verbatim rather than adding new meaning about formats, interdependencies, or edge cases, so it stays at the baseline.
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 opens with a specific action verb ('Search'), names the exact resource ('APIs and Domains in SwaggerHub Registry'), and cites the underlying '/specs endpoint'. It also enumerates returned metadata such as owner, name, description, summary, version, and specification, making the tool's purpose unmistakable and distinct from sibling get/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 Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: this is the registry search tool for APIs and domains, backed by the /specs endpoint, with many filters. It does not explicitly state when not to use it or name alternatives, but its scope is clear enough that an agent can select it confidently.
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 signal readOnlyHint=false and idempotentHint=false, so the mutating behavior is expected. The description adds a useful unsupported-test-case caveat and shows expected outputs in examples, but does not go deeper into side effects, duplicate executions, or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with headings, notes, and examples, and it front-loads the purpose. However, it redundantly lists all parameters with descriptions that already exist in the input schema, making it longer than necessary.
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 12-parameter surface area, the examples cover required fields as well as optional ones like executionTime, environmentName, executedById, customFields, and actualEndDate. An output schema is present, so the description does not need to detail return values; no major invocation-critical gap is evident.
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 92%, so the baseline is 3. The parameter list largely repeats the schema descriptions; the main additions are concrete JSON examples and a repeated note about HTML/custom-field formatting, which are helpful but not a major semantic boost over 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 opens with a specific verb and noun ('Create a new Test Execution') and clearly scopes the request to 'a Test Case within a specific Test Cycle.' It differentiates from sibling get/update/delete operations by naming the creation action and resource type.
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 intended use is explicit: create a test execution. It also provides a clear exclusion by warning that test cases with call to test, parameters, and test data are not supported. It does not explicitly name alternative tools for those cases, so it stops short of a perfect 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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful behavior beyond that: the server may cap maxResults lower than requested, results may be truncated, and callers should check the response's maxResults value. This is relevant operational context for a paginated read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the markdown structure is readable, but the Parameters section largely duplicates the input schema verbatim. The five examples are instructive, but several are repetitive, and the internal contradiction in Example 4 makes the extra length less valuable than it could be.
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 with an output schema, the description covers the key agent-facing needs: optional project filtering, pagination semantics, defaults, and truncation behavior. It is complete enough to call correctly, though the pagination inconsistency and lack of alternative-tool routing keep it from being fully polished.
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 description does not need to add much. It restates the schema and provides examples, but it introduces an inconsistency: the description says startAt should be a multiple of maxResults, yet Example 4 uses startAt=5 with maxResults=10. It also states a maxResults request ceiling of 1000 while the schema maximum is far larger. These contradictions reduce the value of the added param guidance.
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 opens with 'Get environments in Zephyr', clearly specifying a verb, a resource, and a product domain. The 'Toolset: Environment' label and the tool name itself distinguish it from the many other zephyr_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 Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The examples make the intended usage fairly clear: list environments, optionally filter by projectKey, and page with startAt/maxResults. However, there is no explicit guidance about when to prefer this tool over an alternative, and no 'when not to use' statement. One example even contradicts the stated pagination rule, which weakens the usage 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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the linked-to-issue scoping and an expected output note about keys and versions, but does not disclose behavior such as handling of empty results or pagination; this is adequate given the output schema and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear opening sentence, followed by a useful Toolset label and a concrete JSON example. The Parameters section duplicates schema content, adding minor redundancy, but overall the structure remains compact and scannable.
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?
This is a single-required-parameter read-only lookup with an output schema and a read/idempotent annotation profile. The description, example, and expected-output note together give an agent everything needed to invoke it correctly; no additional operational context is required.
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 issueKey already documented by type, required status, pattern, and a description. The description repeats the same parameter and provides an example ('PROJ-123'), which is mildly helpful but does not substantially extend the meaning already present in 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 first sentence states a specific verb ('Get') and resource ('test executions linked to a Jira issue in Zephyr'). The qualifier 'linked to a Jira issue' differentiates it from the more generic zephyr_get_test_executions and related link-oriented siblings, so an agent can determine the tool's scope without opening the schema.
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 use case is implied through the issueKey parameter and the example ('Check which test executions are linked to Jira issue PROJ-123'). However, the description never explicitly tells the agent when to choose this tool over alternatives such as zephyr_get_test_executions or zephyr_get_test_execution_links, and no when-not-to-use guidance is given.
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 signal read-only, idempotent, non-destructive behavior, lowering the burden on the description. It adds the draft-rejection constraint and workspace-default environment context, but it doesn't disclose whether execution is asynchronous, whether results are returned immediately, or whether re-running the same IDs has side effects. 'Runs' sits somewhat uneasily with readOnlyHint but is not a direct contradiction.
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 main action is front-loaded and the important draft-rejection behavior is prominent. The explicit Parameters block repeats schema descriptions, creating minor redundancy, but the overall length remains compact and scannable.
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 2-parameter tool with strong annotations and fully documented parameters, an agent has enough information to select and invoke it correctly. It could be more complete by noting how results or task status are retrieved and how it compares with nearby bearq_run_* siblings, but these are not blocking for correct use.
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%, and the Description's Parameters block largely duplicates the schema text verbatim ('IDs of BearQ regression test cases to run', 'Omit to use the workspace default'). The description adds no meaningful semantic value 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?
States a specific action ('Runs specific BearQ regression test cases') with the resource (test cases) and a clear selection mechanism (by ID). The qualifiers 'specific... by ID' and 'regression-ready cases — drafts will be rejected' distinguish it from sibling run tools like bearq_run_regression_tests and bearq_run_tests_in_functional_areas.
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?
Gives clear context: use for specific BearQ regression test cases by ID, and do not pass drafts since they will be rejected. It stops short of a 5 because it does not explicitly name sibling alternatives or state when those should be used instead.
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, idempotentHint=true, and destructiveHint=false, covering the main safety profile. The description adds only the admin toolset and single-team scope; it does not add auth, rate-limit, or response-behavior 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The operation is front-loaded and the overall description is short. However, the parameters block largely duplicates the input schema, so not every line earns its place, though the redundancy is minor.
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 one-parameter, read-only, idempotent admin lookup, the description is sufficient for invocation. It does not specify the exact team fields returned or explicitly state admin credential requirements, but the low complexity and rich annotations make that gap minor.
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 the description simply restates the teamId parameter's type, requiredness, and UUID meaning. No additional parameter semantics or format guidance is provided 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 states a specific operation ('Retrieve details'), a specific resource ('a specific team'), and the identifying key ('by UUID'). It also marks the admin scope, which distinguishes it from sibling tools like admin_list_teams or team-user lookups.
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 clearly conveys that this is the admin-level single-team lookup by UUID, which is the selecting context for when to call it. It does not explicitly name alternatives or state when not to use it, but the context is unambiguous.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds little behavioral context beyond the list operation, such as pagination behavior or admin permission requirements, which keeps this at a baseline score.
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 concise and front-loads the core purpose in the first sentence. The parameter list and toolset label add some organizational clarity, though the parameter bullets are redundant with the schema. Overall it is well-structured 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?
This is a simple listing operation with complete schema documentation, clear pagination parameters, and annotations covering the read-only/idempotent behavior. There is no output schema, so some return-format detail could be missing, but for a straightforward team-user list tool the description 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%, and the description simply repeats the parameter names, defaults, and requirements already present in the schema. It adds no additional meaning or format details beyond what the structured input definition provides, 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 states a clear, specific verb and resource: 'List all users in a specific team (admin)'. This distinguishes it from the sibling admin_list_users, which would list users across teams, and from admin_get_team, which focuses on team details rather than membership.
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 clearly indicates the target scope: list users belonging to a specific team, and the required teamId parameter reinforces when this tool is appropriate. It does not explicitly name alternatives or exclusion conditions, but the context is clear enough for an agent to select it over the closest siblings.
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 description discloses that the operation replaces all roles, which is key behavioral context beyond the annotations. Annotations already indicate idempotent, non-read-only, and non-destructive, so the description adds moderate value but does not discuss side effects, permissions, or response behavior.
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 key behavioral information is front-loaded in the first sentence. The parameter list is redundant with the schema, which prevents a perfect score, but the overall description is short, scannable, and not bloated.
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 two-parameter admin operation with clear schema coverage and annotations, the description provides enough information to understand the operation. It lacks return-value details, but no output schema exists and the behavioral scope is straightforward.
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%, and the description repeats the parameter information almost verbatim. It adds no new semantic detail beyond what the schema already provides, 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 action ('Replace all roles assigned to a user') and clearly identifies the resource (user roles) and scope (admin). It distinguishes this tool from siblings like admin_add_role_to_user and admin_remove_role_from_user by emphasizing 'replace all' semantics.
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 'Replace all roles assigned to a user' conveys the primary use case and differentiates it from incremental role modification tools. However, it does not explicitly mention when not to use it or name alternatives, so it falls short of fully explicit routing.
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 signal destructive behavior, and the description usefully adds that deletion cascades to 'all its associated data.' This is important behavioral context beyond the structured annotations, even though permissions or irreversibility are not explicitly mentioned.
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 short and front-loaded with the core action and its destructive scope. The parameter list is clear, though it largely duplicates the schema and the 'Toolset: Pacticipants' line adds limited value, keeping it just below a top score.
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 single-parameter destructive operation, the description plus annotations covers the essential facts: what is deleted, that the operation is destructive, and that it is idempotent. Lack of an output schema is not a major gap for a simple delete operation, though more detail on permissions or irreversibility would improve completeness.
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%, and the description essentially repeats the schema's parameter documentation. It adds no new semantic meaning beyond what the input schema already provides, 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 ('Delete') and resource ('pacticipant') and clarifies scope with 'all its associated data.' This distinguishes it from other deletion tools like delete_branch or delete_webhook and makes the tool's exact 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?
Usage is implied by the name and description: use this when the pacticipant should be permanently removed. However, there is no explicit guidance about when not to use it, such as preferring update_pacticipant or considering downstream impacts before deletion.
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 cover read-only, idempotent, non-destructive behavior, and the description adds the workspace-wide scope, which is useful context. However, it does not disclose return format, metric types, or any aggregation behavior; the annotation coverage keeps this acceptable.
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?
Description is short, front-loaded, and easy to scan. 'Toolset: Metrics' and 'Parameters: None' are somewhat redundant with the title and schema, but they are not verbose or harmful.
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 parameterless, read-only metrics fetch, this description gives enough scope and operation context for an agent to invoke it safely. There is no output schema, so a bit more detail about what metrics are returned would improve completeness, but the simplicity of the tool keeps the gap small.
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, so the baseline is 4 under the rubric. The empty input schema fully documents that no parameters are needed, and the description's 'Parameters: None' adds no further semantics but is accurate.
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 states a specific verb ('Fetch'), a resource ('metrics'), and a clear scope ('across the entire workspace'). This scope directly distinguishes it from the sibling contract-testing_get_team_metrics, so an agent can identify which metrics tool is relevant.
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 phrase 'entire workspace' implies this is for workspace-wide metrics, but the description does not explicitly say when to use this instead of contract-testing_get_team_metrics or other metric-related tools. There is no mention of exclusions or alternatives.
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 safety (readOnlyHint=true, idempotentHint=true, destructiveHint=false). The description adds meaningful value by clarifying that this returns 'metadata' for the secret rather than the secret value itself, which is an important behavioral nuance for a tool named get_secret. 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The core description is concise and front-loaded, but the explicit 'Parameters' section duplicates the input schema. The 'Toolset: Secrets' heading and the parameter block are somewhat redundant, though they do not make the description bloated.
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 one-parameter read-only tool with no output schema and rich annotations, the description is sufficiently complete. It states the operation, the identifier type, and the return scope (metadata). Slightly more detail about what metadata fields are returned would be useful, but it is not essential 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%, and the description's parameter text merely repeats the schema's 'UUID of the secret' without adding format, source, or usage nuance. This meets the baseline but adds no additional semantic value 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 states a precise verb ('Retrieve'), a specific resource ('metadata for a specific secret'), and the required identifier ('by UUID'). This clearly distinguishes it from siblings like list_secrets (retrieving multiple secrets) and create/update/delete_secret (mutating secrets).
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 intended usage is implied by the description: use this when you have a secret's UUID and need its metadata. However, it does not explicitly mention when to prefer this over alternatives like list_secrets, nor any exclusion conditions, so the guidance is only implicit.
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 signal a non-read-only, non-idempotent mutation; the description's 'Record' phrase aligns with that. It adds release-workflow context but does not disclose side effects, response behavior, or what happens if the release already exists.
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 key purpose is front-loaded and the organization is scannable. The parameter list is redundant with the schema, but the overall size is still appropriate for the tool's complexity.
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?
All three required parameters are documented and the workflow context helps an agent choose and invoke the tool. No output schema exists, but for a simple record operation the description is sufficient; explicit sibling routing would make it 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 description coverage is 100% and the description repeats the same parameter meanings verbatim. It adds no semantic detail beyond the schema, so baseline 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?
States a specific verb and resource: records a released pacticipant version to an environment. The parenthetical '(for mobile/library release workflows)' differentiates this from the sibling record_deployment tool 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 clear context that this is for release workflows, especially mobile/library releases. It does not explicitly name record_deployment as the alternative or give when-not-to-use guidance, so it misses the top bar.
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 establish idempotent, non-read-only, and non-destructive behavior. The description adds the meaningful behavioral trait that this is a full replacement rather than a merge, which is exactly the kind of context an agent needs to avoid overwriting metadata unintentionally.
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 definition is well organized: a front-loaded purpose sentence, a short toolset line, and a scannable parameter list. It is slightly redundant with the input schema, but every element is relevant and there is no filler.
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 all six parameters documented in the schema, annotations covering idempotency/safety, and no output schema to explain, the description covers the essential semantics of the operation. The only notable gap is that it doesn't contrast with the patch sibling or clarify the effect of omitting optional fields, but this is a minor omission rather than a blocking one.
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 the description's parameter list mostly repeats the schema's own descriptions verbatim. It adds no new format, default, or side-effect information about individual parameters, so it stays at the baseline for a fully documented 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 opening phrase 'Fully replace a pacticipant's metadata' uses a specific verb ('replace'), names the resource ('pacticipant'), and distinguishes this from the sibling patch tool by emphasizing full replacement. It states the exact fields involved, leaving no ambiguity about what the tool acts 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 'Fully replace' wording implies this tool is appropriate when the caller wants to overwrite the whole metadata set, and the Toolset label provides loose grouping context. However, it never names the obvious sibling contract-testing_patch_pacticipant or says to prefer that tool for partial updates, so the when-to-use guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, but the description describes a mutating operation: importing results creates/updates test suites, test cases, and execution results, and mentions folder creation and field updates. This contradicts the read-only annotation, creating an annotation contradiction.
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 extremely long but well-structured with clear sections (Parameters, Use Cases, Examples, Hints, Workflow). It contains some redundancy (e.g., double numbering, repeated reminders), but all sections provide useful operational context that earns their place.
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 17-parameter tool with no output schema, the description covers file requirements, entity types, hierarchy mappings, optional params, dependencies, field behavior, error handling, workflow, and expected outputs. It is exhaustive and would allow an agent to use the tool without needing external documentation.
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?
The description's 'Parameters' and 'Hints' sections add extensive meaning beyond the schema: dependencies (cycleID requires releaseID and projectID), automationHierarchy behavior per framework, custom field formats, lookup-list behavior, error handling, and multiple examples. Even with full schema coverage, it enriches parameter semantics significantly.
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 opens with 'Import/Publish automation test results from TestNG, JUnit, Cucumber, Robot, HPUFT, or QAF frameworks into QMetry', clearly naming the verb, resource, and scope. It distinguishes this tool from sibling fetch/update/link tools, which all have different purposes.
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 'Workflow' section provides a step-by-step process and the 'Use Cases' list specific scenarios (e.g., 'Import TestNG XML results after CI/CD pipeline execution'). However, it does not explicitly name alternative tools for cases not suited to import (e.g., manual test case creation), relying on the implied distinction from siblings.
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 communicate that this is a mutating operation (readOnlyHint=false), and the description confirms it creates links rather than performing a destructive action. It adds an output description ('JSON object with success status and linkage details') but does not disclose side effects like whether re-running replaces existing links or how partial failures are handled.
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 well-structured with clear sections (Parameters, Output, Use Cases, Examples, Hints) and front-loads the core purpose in the first sentence. The main flaw is redundancy: the CRITICAL parameter-name warnings appear three times, and the use-case list adds limited information.
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 two-parameter mutation tool with no output schema, the description is quite complete: it explains both parameters, gives a runnable example, predicts the output shape, and points to the right fetch tools for IDs. It lacks only explicit alternates-avoidance guidance and exact response fields, but these are minor given the low complexity.
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?
With 100% schema description coverage, the baseline is 3, but the description adds genuine value beyond schema: it gives concrete examples, marks parameter names as CRITICAL to avoid common mistakes, and explains how to obtain tcID and dfIDs via related tools. This goes beyond the schema's own 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 first sentence states the action ('Link'), the resource ('test case'), and the payload ('defects/issues'), and specifies the key mechanism ('entityKey and issue IDs'). This clearly distinguishes it from siblings like qmetry_link_issues_to_testcase_run or qmetry_link_requirements_to_testcase, which 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?
The Use Cases and Hints give useful context about when to call this tool, such as linking defects for traceability and bulk-linking multiple issues. However, it never explicitly contrasts this tool with siblings like qmetry_link_issues_to_testcase_run, so an agent must infer the boundary between linking to a test case versus a test case run.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the notion of 'available' segments and the reusable-segment definition, but does not disclose much beyond the annotations, such as output format or edge cases.
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 compact and front-loaded with the core purpose. The parameter list is slightly redundant with the schema, but it is clearly formatted and does not add unnecessary length.
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 one required parameter and two optional pagination parameters, the description is sufficient. It explains the resource type, the key platform filter, and pagination controls, though it does not specify the return shape since no output schema is provided.
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 already fully documents all three parameters. The description repeats the parameter names and descriptions but adds no new semantic detail beyond defining what segments are, which is the baseline for high 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 opening sentence 'Retrieve available reusable test segments for the given platform type' is a specific verb+resource statement that clearly states what the tool does. It also defines what segments are, distinguishing this from sibling list tools like reflect_list_tests and reflect_list_suites.
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 clear context that this tool is for retrieving reusable test segments filtered by platform type, and explains the segment concept well enough for an agent to infer when it is appropriate. It does not explicitly name alternatives or exclusions, but the usage context is unambiguous.
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 destructiveHint=true and idempotentHint=true, and the description adds meaningful behavioral context by stating this is a soft-delete and supports recursive deletion of nested items. It does not contradict annotations, and the added soft-delete detail is valuable beyond the structured fields.
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 concise, front-loaded with the core action, and includes useful details like soft-delete and recursion. The parameter list duplicates schema content but is brief and aids quick scanning, so it is not wasteful.
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 an output schema present and full parameter coverage, the description covers the essential behavior: soft-delete, recursive support, and identifier format. It lacks deeper caveats like recoverability or permission requirements, but for a two-parameter tool this is reasonably 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 description coverage is 100%, so the schema fully documents both parameters. The description repeats the parameter meanings without adding extra nuance, which meets the baseline but does not elevate beyond it.
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 opens with the direct verb 'Delete' and the precise resource 'table of contents entry', then clarifies the soft-delete nature. This is specific enough to distinguish from sibling tools like swagger_list_table_of_contents and swagger_create_table_of_contents.
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 clearly implies this tool is for deleting TOC entries and mentions recursive deletion as an option, but it does not state when to choose this over alternatives or provide exclusions. The soft-delete and recursive behavior give context, but no explicit when/when-not guidance is present.
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 discloses a non-obvious side effect: 'If the organization has no portal yet, a new portal is created automatically.' This adds meaningful behavior beyond the annotations, which only indicate idempotency and non-read-only semantics, and clarifies the operational impact.
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 key purpose and return fields are front-loaded, and the auto-creation behavior and usage guidance follow logically. The 'Parameters' section repeats schema information, but the overall structure is clear and the description remains focused.
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 tool with a single required parameter and an output schema, the description covers the purpose, returned data, side effect, and recommended usage context. It does not mention error cases or permissions, but those are not essential for this straightforward resolution operation.
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 fully documents organizationId with type, format, pattern, and description, so the description adds little beyond restating the parameter. At 100% schema description coverage, a baseline of 3 is appropriate; the description does not enrich the parameter semantics further.
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 states a specific action ('Resolve portal details') on a clear resource ('a Swagger organization') and enumerates the returned fields, so an agent can understand the scope. It does not explicitly contrast with siblings like swagger_get_portal or swagger_list_portals, but 'in a single step' and 'all portal context' convey differentiation.
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 tells the agent when to use this tool: 'to obtain all portal context needed for subsequent portal and product operations.' However, it does not state when not to use it or name alternative tools such as swagger_get_portal or swagger_list_portals.
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, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that the result contains both issue links and web links and provides an expected-output note, but it does not go beyond that to disclose pagination, filtering, authentication, or other behavioral nuances. This matches the lower bar set by the strong annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose, but it becomes repetitive: the Toolset label adds little, the parameter section duplicates the schema, and the Expected Output sentence restates the purpose. The structure is organized, but the length is not fully justified for such a simple one-parameter tool.
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 one clear required parameter, a full input schema, strong annotations, an output schema, and a concrete example, the description is complete enough for correct invocation. Nothing critical is missing for an agent to select and call this tool properly.
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 the testCaseKey parameter already described in both schema and description. The description repeats the format and provides an example, but adds no meaningful semantic beyond what the schema already gives, 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 clearly states the action ('Get all links') and the resource ('associated with a test case in Zephyr'), and specifies that both issue links and web links are returned. This distinguishes it from sibling link-retrieval tools such as zephyr_get_test_cycle_links or zephyr_get_test_execution_links by anchoring it specifically to test cases.
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 clear context for when to use the tool: when you need link data for a test case key. It does not explicitly name alternative tools or exclusions, but the resource scope ('associated with a test case') is precise enough for an agent to infer appropriate selection among the similar sibling 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?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only safety profile is covered. The description adds useful output context by specifying the script type, text content, and id, but it does not go beyond what a simple read operation would imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably organized but contains redundancy: the parameter section duplicates the schema, and the same expected output is repeated in all three examples. The first sentence is clear, but several sentences do not earn their place.
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 single-parameter read-only tool with an output schema and full annotations, the description is complete enough for an agent to call it correctly. It identifies the required parameter, describes the resource being fetched, and gives concrete examples.
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 fully documents testCaseKey, including format guidance, so the baseline is 3. The description repeats this same information rather than adding new semantic detail, and the examples only illustrate valid key formats already captured in the pattern.
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 specific action: getting the Test Script for a given Test Case, and distinguishes it from related sibling tools such as zephyr_get_test_case and zephyr_create_test_script by focusing on the script artifact in Plain Text or BDD form. The resource and operation are 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 establishes a clear context for use: retrieve the Test Script for a specific Test Case, with examples showing realistic applications such as reviewing test instructions. It does not explicitly mention alternatives or when not to use this tool, so it misses the full exclusionary guidance that would justify 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 this as a non-read-only, idempotent, non-destructive operation. The description adds useful context: only fields included in the request are modified, and the examples demonstrate that empty step objects leave steps untouched and that no output is returned. It does not explicitly spell out positional indexing, though examples imply it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized with examples and expected outputs, but it is longer than needed: the no-output note is repeated three times and the Parameters list largely duplicates schema info that is already present. Each example still earns its place by showing partial update behavior.
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 examples cover common invocation patterns and the description notes there is no expected output, which is helpful given there is no output schema. However, it never states how the steps array maps to test execution steps, whether statusName values are restricted, or what happens if the array length mismatches the number of steps.
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?
With schema coverage at 50%, the description compensates by showing complete JSON examples for status-only, actual-result-only, and combined updates, including an empty object to leave a step unchanged. The Parameters section itself is thin for steps, but the examples give the agent enough structural understanding.
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 the exact verb (update), resource (test steps for a given Test Execution), and the fields affected (execution status and actual results). It also clarifies partial-update semantics, which distinguishes it from the sibling update_test_execution tool.
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 and examples make clear the tool is for updating step-level status/results, but it never explicitly contrasts it with siblings such as zephyr_update_test_execution or says when not to use it. The intended usage is inferred from the title and examples rather than stated as guidance.
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 already signal read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral detail beyond that: pagination via nextUrl with an explicit warning not to construct the URL manually, default page size, target-span focusing, and the return shape (array of spans with timing and hierarchy). This exceeds what the annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with headings, use cases, examples, and hints, and the core action is front-loaded. However, it contains a full parameter list that duplicates the input schema and several hints that restate the examples, making it longer than necessary.
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 tool with no output schema, the description provides enough context: required parameters, optional pagination and target-span behavior, example invocations, and expected response shape. It could be more precise about the response structure, but an agent has the information needed to select and call the 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%, so the schema already documents every parameter. The description repeats those definitions and adds illustrative examples, but it does not materially expand on the schema's parameter explanations.
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 opening line 'Get all spans within a specific trace' names a specific verb and resource, so it is immediately clear what the tool returns. It does not explicitly distinguish itself from sibling BugSnag span tools such as bugsnag_list_spans, though 'specific trace' narrows the scope.
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 use cases (debugging slow requests, understanding request flow, identifying bottlenecks) and hints about narrowing the time window and focusing on a target span. It does not name sibling alternatives or state when not to use it, but the context is strong enough for an agent to decide.
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 this as read-only, idempotent, and non-destructive, so the description mainly adds value with behavioral caveats: the default span.since=7d filter, the nextUrl restriction that only prior output values are valid and must not be hand-constructed, and the projectId side effect of setting the current BugSnag project. These go beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well organized with headings, a front-loaded purpose, use cases, examples, and hints, making it easy to scan. However, the Parameters section duplicates the schema verbatim, adding length without new information; the same content could be tighter.
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 covers invocation-relevant context well: defaults, pagination through nextUrl, filter format, example payloads, and expected array output. It does not enumerate response fields, but it provides enough 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%, and the description largely restates the schema's parameter descriptions for sort, direction, perPage, filters, and nextUrl rather than adding new semantic detail. It does add working examples and sorting hints, which are useful, but they are supplements rather than necessary compensation for missing 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 opens with a specific verb and resource: 'List span groups (operations) tracked for performance monitoring'. This clearly identifies the tool as a list operation over span groups and distinguishes it from sibling tools like bugsnag_get_span_group or bugsnag_list_spans.
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 Use Cases enumerate concrete scenarios: viewing all operations, finding slow operations via duration sorts, and filtering starred groups. Hints recommend duration_p95/duration_p99 for slowest operations, and the description points to List Trace Fields as the place to discover filter fields. It does not explicitly contrast with bugsnag_list_spans or bugsnag_get_span_group, so it stops short of 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 indicate this is read-write, idempotent, and not destructive, so the bar is lower. The description adds the key behavioral fact that existing team memberships are replaced, not appended, and labels the operation as admin-scoped. This is consistent with the annotations, including the idempotentHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded, but the description then restates both parameters with text identical to the input schema. That duplication adds length without adding information; a shorter description that simply emphasized replacement semantics would be more disciplined.
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 two-parameter mutation with no output schema, the description and annotations together cover the essential context: what is replaced, the admin scope, the required parameters, and the idempotent behavior. It could state what an empty uuids array does, but that is a minor gap given the clear 'replaces existing' language.
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%, and the parameter descriptions in the tool description are essentially identical to those in the input schema. The description adds no new semantic detail beyond what the schema already provides, so it sits at the schema-covered baseline.
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 begins with the specific verb 'Replace' and clearly names the resource: 'all members of a team (admin).' This immediately distinguishes it from sibling team tools like add_role_to_user, remove_user_from_team, and patch_team_users, which handle partial membership changes.
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 'Replace all members' and the parenthetical 'replaces existing' give clear context for when to use this tool: when a caller wants to overwrite the full membership set. It does not explicitly name alternatives, but the wholesale-replacement semantics are clear enough to steer an agent away from partial-update siblings like admin_patch_team_users.
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 establish that the tool is read-only, idempotent, and non-destructive. The description adds useful behavioral context about diagnosing account limitations and retrieving entitlement/credit status, but it does not describe the exact response shape or how the underlying PactFlow API behaves. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loads the core purpose. However, the five enumerated use cases largely restate the same trigger conditions in slightly different wording, making the description more repetitive than necessary. It is not excessively long, but it could be tightened.
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, zero-parameter, read-only diagnostic tool, the description adequately explains what the tool does, when to invoke it, and what information it retrieves (entitlement status and credit balance). It does not specify the exact return format, but the intended use and outputs are clear enough for an agent to call it appropriately.
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 has full coverage, so there are no parameter semantics for the description to clarify. Per the rubric baseline for zero-parameter tools, a 4 is appropriate; the description makes no misleading parameter claims.
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 ('Check') and a precise resource ('PactFlow AI entitlements and credit balance'), and ties it to concrete troubleshooting scenarios like 401 Unauthorized errors and credit/permission issues. This clearly differentiates it from the many unrelated sibling tool names in the contract-testing family.
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 explicitly states when to use the tool: after encountering 401 Unauthorized errors, permission denied errors, insufficient credits, or other PactFlow AI access issues. It provides clear contextual triggers and enumerates use cases, though it does not explicitly mention when not to use it or name alternative tools.
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 signal this is a mutating, non-idempotent operation. The description adds useful behavioral context beyond the annotations: date format may depend on QMetry instance configuration, invalid dates will produce an error, projectID can be auto-resolved from projectKey, and cycle defaults are false. It does not cover duplicate names or permission requirements, but it adds meaningful operational detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose, but it is excessively long: six use cases, four examples, and seventeen hints contain repetition and generic advice. Some sections, such as the repeated "created successfully" expected outputs, could be condensed without losing value.
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 nested release/cycle objects, ambiguous date formats, and no output schema, the description supplies everything needed: output shape, required fields, defaults, error behavior, hierarchy context, and a verification step. The only minor gap is not naming qmetry_create_cycle explicitly for adding cycles later, but the description still gives enough guidance to invoke this tool correctly.
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 coverage is 67%, so the description carries extra responsibility for parameter meaning. The hints compensate by clarifying required release.name, the date format ambiguity, optional projectID resolution, cycle.name being required when cycle is provided, and default values for isLocked/isArchived. The examples further demonstrate real payload shapes, going beyond the schema's field-level descriptions.
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 opens with a specific verb and resource: "Create a new release in QMetry," and clarifies the optional nested cycle. It clearly communicates the tool's primary purpose, though it does not explicitly differentiate it from the sibling qmetry_create_cycle, so the distinction is left to inference.
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?
Use cases and hints provide clear context for when to use this tool, such as creating a release for a product version or creating a release with an initial cycle. It also gives conditional guidance like "omit [cycle] if you only want to create a release" and notes that cycles can be added later with other tools, but it never names qmetry_create_cycle as the explicit alternative, so exclusions are slightly underspecified.
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, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context by specifying that the response includes UDFTypeData and all UDF field values, and it clarifies this is a fetch-only detail operation. No contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear one-sentence summary and organized into useful sections, but the Parameters section duplicates schema information and the Toolset line adds little. It is structured but somewhat longer than necessary.
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 fetch operation with three parameters and no output schema, the description is complete: it explains what the tool returns, lists concrete use cases, and provides a practical example with expected output. It lacks only deeper return-structure detail, which would be useful but is not critical for this simple 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?
The input schema covers all three parameters with descriptions, defaults, and required status, so schema coverage is 100%. The description's 'Parameters' section mostly repeats the schema rather than adding new semantic 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 uses a specific verb ('Fetch'), a clear resource ('full detail data for a QMetry test suite'), and a distinguishing focus ('including UDF field values'). This distinguishes it from sibling list-style tools like qmetry_fetch_test_suites and detail fetch tools for other entity types.
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 'Use Cases' section gives clear context for when to invoke the tool: retrieving UDF values, fetching full metadata, and inspecting details before updating UDFs. It does not explicitly name alternatives or exclusion conditions, so it stops short of a 5.
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 signal that this is a mutation (readOnlyHint=false) and is not idempotent, and the description confirms the side effect is linking platforms to a test suite. It adds an output description ('JSON object with linkage status, success message, and details') and expected outputs in examples, but it does not address failures, authorization, or whether multiple links are atomic. With annotations carrying the basic safety profile, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The information is valuable but heavily redundant: qmTsId/qmPlatformId retrieval and 'CRITICAL' naming warnings appear in Parameters, Examples, and Hints, and the hint list restates requiredness and comma rules. It is front-loaded but not concise, and many sentences do not earn their 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 description is unusually complete for a mutation tool: it has use cases, two worked examples with expected outputs, parameter formatting rules, and ID-retrieval steps. It does not clarify when projectKey should be overridden or what happens on partial failure or repeated linking, leaving a small practical gap.
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?
Beyond a 100%-covered schema, the description gives concrete example payloads, warns against wrong parameter names ('do NOT use tsId...'), explains comma-separated formatting with no spaces, and tells exactly how to obtain qmTsId and qmPlatformId from API responses. It also covers the projectKey default and resolution of test suite entity keys.
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?
Opens with a specific verb and object: 'Link one or more platforms to a QMetry Test Suite,' which clearly identifies the action and target resource. This is a distinct operation from sibling tools like qmetry_link_test_cases_to_test_suite or qmetry_link_requirements_to_testcase.
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?
Use Cases enumerate concrete scenarios such as linking single/multiple platforms, defining execution environments, and organizing suites by platform. Hints also name prerequisite APIs ('Testsuite/Fetch Testsuite', 'Platform/List') for resolving IDs, but the description does not explicitly contrast this tool with alternative link tools or state when not to use it.
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 this is a non-read, mutating operation; the description reinforces that with 'Link' and gives an expected output shape. It adds some useful context like the default behavior of fromReqs and the prerequisite API calls, but it does not disclose potential side effects, idempotency behavior, or what happens when understanding selected test cases are already linked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with headers and front-loaded with the first sentence, but it is long. The 'Parameters' section repeats content already present in the input schema, and the three examples are highly redundant, mostly changing only IDs and expected test-case names.
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 still provides both a general 'JSON object with linkage status and details' and worked examples that show concrete expected outcomes. It also supplies prerequisite APIs and hints, so the agent can compose a successful invocation. It falls slightly short of fully complete because the output object's exact shape and failure modes are not specified.
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 description coverage is 100%, so the baseline is 3. The description goes further by explaining how to obtain tsID, how to discover tcvdIDs from a requirement entityKey, and giving concrete example values with expected linked test cases, which materially helps the agent construct valid arguments.
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 opens with a precise action: 'Link test cases (including those linked to requirements) to a test suite in QMetry.' This clearly identifies the verb, resource, and domain, and the 'requirements linked' framing plus the fromReqs flag distinguishes it from the sibling qmetry_link_test_cases_to_test_suite.
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 explicit use cases, practical hints for resolving prerequisite ids, and guidance on when to set fromReqs to true. It does not explicitly name the direct-link sibling as an alternative or state when not to use this tool, but the workflow hints are strong 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 indicate a mutating, non-read-only operation. The description adds meaningful behavioral detail beyond them: automatic governance/standardization application, a conflict error if the version exists, and the fact that API details and a SwaggerHub URL are returned. No contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and readable, but it contains two overlapping usage sentences and reproduces the parameter descriptions/specType values that are already in the schema. It is adequately sized but not sharply concise.
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 create operation with output schema and full parameter coverage, the description is complete: it states behavior, governance side effects, conflict failure mode, and return value. It does not spell out alternative tools or when not to use it, but that is a minor gap rather than a missing blocker.
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 prose repeats the specType enum values and documents owner/API name/prompt, but it does not add semantic meaning beyond what the input schema already provides, such as version handling or format constraints.
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 opens with a specific verb+resource combination: 'Generate and save a new API or a new version of an existing API based on a prompt using SmartBear AI.' This clearly distinguishes it from generic SwaggerHub update/portal/contract tools and scopes the operation to AI-prompt-based API generation.
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 gives direct when-to-use guidance: 'Use this tool when creating APIs that comply with governance policies or when generating APIs from natural language descriptions,' plus a second user-intent phrasing. It does not name sibling alternatives or explicitly say when not to use it, so it stops short of 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?
The description adds useful behavioral context beyond the annotations: one-portal-per-organization, offline portals not being customer-visible, and credentials controlling access to private content. It does not contradict the readOnlyHint=false or destructiveHint=false annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence and bold section headers make the description easy to scan. However, the full parameter list duplicates the input schema, making the description longer and more redundant than necessary.
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 an 8-parameter creation tool, the description covers required parameters, defaults, allowed values, and the uniqueness constraint, and an output schema exists so return details need not be explained. A brief pointer to update/get siblings would have made it fully 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 description coverage is 100%, so the input schema already documents every parameter. The description's parameter section essentially repeats those same descriptions, adding no meaningful new meaning 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?
The description opens with 'Create a new portal within Swagger,' which names a specific verb and resource. The 'Toolset: Portals' label and the create-focused wording clearly distinguish it from siblings such as swagger_update_portal and swagger_get_portal.
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 create verb plus the explicit constraint 'Only one Portal per Swagger organization is allowed' gives clear context for when this tool applies. It does not explicitly compare against swagger_update_portal or state exclusions, so it stops short of full when/when-not 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=false and destructiveHint=false, and the description's 'Create' is consistent. It adds concrete effects: title 'will be displayed in navigation,' slug 'must be unique within the section,' and type 'copy' duplicates an existing item, which goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The main purpose is front-loaded in the first sentence, which is good. However, the entire parameter list is repeated, duplicating the input schema and adding bulk without new information. It is structured but not as lean as it could be.
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 complex nested content object and existing output schema, the description supplies essential context: what a TOC item is, where it lives, what content types are allowed, and the roles of each parameter. It does not explain the 'copy' source mechanics or nested conditional rules, but the input schema covers those constraints.
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%, so the baseline is 3. The description's parameter list closely mirrors the schema descriptions—e.g., slug uniqueness and title length—without introducing 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 opens with a specific verb-object pair: 'Create a new table of contents item in a portal product section,' which clearly distinguishes it from siblings like swagger_list_table_of_contents and swagger_delete_table_of_contents. It also names the supported content types (API references, HTML, Markdown), making the resource scope explicit.
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 'in a portal product section' and the Toolset label convey the intended context. Content-type support clarifies capability, though the description does not explicitly state when to prefer this over swagger_create_documentation_page or mention 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 declare the tool as read-only, idempotent, and non-destructive. The description adds valuable behavioral context beyond that: results are filtered by the user's role (at least designer at product or organization level). This gives the agent a clear expectation of visibility without needing to call the tool.
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 short, front-loaded, and directly conveys the core purpose and an important filtering rule. The 'Toolset: Portals' line is minor but helps contextualize the domain without adding meaningful overhead.
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 zero-parameter, read-only list operation with rich annotations and an output schema, the description is complete. It tells the agent what the tool returns and under what conditions, which is sufficient for 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 tool has zero parameters, so the baseline is 4. The description adds no parameter-specific information, but none is needed since the input schema is empty and schema description coverage is effectively complete.
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 operation ('Search for available portals within Swagger') and the specific resource (portals). It also adds a meaningful scope: only portals where the user has at least a designer role are returned. However, it does not explicitly distinguish itself from sibling tools like swagger_get_portal, though the plural 'portals' and the role filter make the listing intent fairly clear.
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 this tool is used to find portals the user can access and is appropriate for listing rather than retrieving a single portal. It does not explicitly state when to use this tool over alternatives like swagger_get_portal or swagger_list_portal_products, so usage guidance is mostly inferential.
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?
Although annotations already signal idempotent and destructive behavior, the description adds meaningful side-effect context: changing the slug affects product URLs, public/hidden control visibility versus navigation display, and name changes affect user-facing listings. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is concise and front-loaded, and the 'Toolset' heading groups context. However, the parameter section duplicates schema descriptions nearly verbatim, adding unnecessary length beyond what the structured schema already provides.
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 an update tool with one required parameter and six well-documented fields, the description plus schema covers the necessary inputs and key effects. The output schema is present so return-value details need not be in the description; only permissions/preconditions are not addressed, which is a minor gap.
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%, and the description repeats the schema's parameter descriptions rather than adding new meaning. The bullet list is readable, but it does not compensate for anything missing in the schema, so it earns the baseline.
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 opens with a specific verb and resource: 'Update a product's settings within a specific portal.' The scope ('within a specific portal') and the title distinguish it from related siblings such as swagger_update_portal, swagger_create_portal_product, and swagger_delete_portal_product.
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 clearly signals its use case: updating an existing product's configuration in a portal. It does not explicitly name alternatives or exclusion conditions, so it falls short of full guidance, but the context is clear enough for an agent to select it over create/delete/get siblings.
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 the tool read-only, idempotent, and non-destructive, so the description is not burdened with safety disclosure. It adds expected output wording ('The test cycle with its details') and concrete examples, but no deeper behavioral context such as not-found behavior or response shape. No contradiction with annotations exists.
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 purpose is front-loaded, and the parameter list and examples are logically organized. The repeated 'Expected Output: The test cycle with its details' after both examples is slightly redundant, but overall the structure is easy to scan and every section earns its place.
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 single-parameter, read-only tool with a full input schema, an output schema, and two worked examples, the description provides everything needed to invoke it correctly. Nothing critical is missing given the simple complexity and the presence of structured metadata.
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 description coverage is 100%, so the baseline is 3. The description adds value by pairing the schema pattern with concrete examples ('1' and 'SA-R40') that make it clear how to supply either a numeric ID or a key, which is more immediately useful than the raw regex alone.
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 ('Get details') and a specific resource ('test cycle specified by id or key'), which unambiguously identifies what the tool does. It is clearly differentiated from the sibling zephyr_get_test_cycles by its singular scope.
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 by showing examples for both ID and key inputs, but it never explicitly states when to choose this tool over the plural zephyr_get_test_cycles or other related tools. No alternative is named and no exclusion criteria are given.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the return categories (issues, web links, test plans), but it does not disclose behavioral details such as response pagination, empty results, or error behavior for an invalid cycle key.
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 well-structured: a one-sentence definition, a short parameters section, then examples in a scannable JSON format. The two examples are somewhat repetitive and repeat the expected output, but the overall size is reasonable and front-loaded with the core purpose.
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 operation with one required parameter, strong annotations, and an output schema, the description is complete. It identifies the target test cycle, enumerates the three link categories returned, and provides valid examples for both id and key formats, leaving no critical calling information missing.
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 documents the single required parameter with a regex pattern, so the baseline is 3. The description adds value with two concrete examples showing both valid forms — numeric id '1' and key 'SA-R40' — and clarifies the expected output for each, which helps the agent format the parameter correctly.
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 opens with a specific verb-resource-object statement: 'Get all links (issues, web links, and test plans) associated with a test cycle in Zephyr.' This clearly distinguishes it from sibling tools like zephyr_get_test_cycle (cycle details) and zephyr_get_test_case_links (links on a different entity).
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 by stating it retrieves test-cycle links, and the 'Toolset: Test Cycles' label places it in context. However, it does not explicitly tell the agent when to prefer this over zephyr_get_test_cycle, zephyr_get_test_execution_links, or the link-creation tools, nor does it state any 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 establish read-only, idempotent, non-destructive behavior. The description adds valuable behavioral context by disclosing that the call returns immediately and does not block on task completion, which is important for agents deciding between this and a waiting/blocking tool.
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 core description is concise, front-loaded, and contains only useful information. The separate 'Parameters' section adds minor redundancy since the schema already documents taskId, but the overall structure is clean and quick to scan.
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, single-parameter tool, the description is sufficiently complete: it states what is returned, highlights non-blocking behavior, and the schema covers the parameter. No output schema exists, but the description gives a reasonable high-level view of the response contents.
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 the single parameter taskId is fully described in the schema. The description repeats this information without adding new meaning, so it stays at the baseline 3 for high 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 uses a specific verb ('Retrieves') with a clear resource: a task's current state, metadata, and activity log. It also differentiates itself from sibling tools by explicitly stating it returns immediately and does not block on completion, distinguishing it from bearq_wait_for_task and bearq_get_task_status.
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 clearly implies when to use this tool: when you want the currently available snapshot of a task without waiting. However, it does not explicitly name alternatives or state when not to use them, so the guidance is clear but not fully explicit.
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 establish read-only, idempotent, non-destructive behavior. The description adds value by disclosing the set of possible statuses (running/complete/error/cancelled) and signaling a lightweight response relative to full task details. There is no contradiction 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The core message is two front-loaded sentences with statuses and the cost trade-off first. Some space is spent restating the parameter in a manual Parameters section that duplicates the schema, so it is not maximally lean.
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 one-parameter read-only lookup, the annotations carry the safety profile and the description supplies the meaningful output domain (statuses) and a cost rationale. An explicit note on the exact return shape or a pointer to bearq_get_task when full details are needed would make it more complete, but nothing essential for a basic call is missing.
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 already covers taskId with description and constraints, and schema_description_coverage is 100%. The description only repeats the parameter name and 'BearQ task ID', adding no new semantics or format guidance, which fits the baseline 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?
States a specific action ('Retrieves the status of a task') and enumerates the possible status values. The phrase 'Cheaper than fetching full task details' distinguishes it from the full-task retrieval sibling without relying on the title alone. This clearly separates it from run/stop/wait 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 cost note ('Cheaper than fetching full task details') tells an agent to prefer this tool when only status is needed. It does not explicitly name the alternative tool (e.g., bearq_get_task) or spell out when not to use it, so it stops short of full routing 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 cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), and the description adds useful output expectations: a JSON object with build details, stability metrics, and whether project targets are met. This goes beyond the schema and enriches the behavioral picture without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections for Parameters, Output Description, Use Cases, Examples, and Hints. While it is somewhat verbose and duplicates schema parameter text, every section earns its place with actionable guidance (e.g., examples, expected output, hints). It is not as terse as ideal but remains effective.
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 get-by-ID tool, the definition covers the required and optional params, provides output shape, and offers concrete use cases plus a hint on locating build IDs. It lacks error-handling details, but given the annotations, simple interface, and 100% schema coverage, it is sufficiently complete for an agent to invoke 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?
Both parameters have thorough descriptions in the input schema (100% schema description coverage). The tool description repeats these parameter descriptions but does not add new semantic details such as formats, allowed values, or default behaviors, so it stays at the baseline 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 opens with 'Get more details for a specific build by its ID' – a clear verb+object statement that names the resource (build) and the lookup mechanism (by ID). It distinguishes itself from sibling tools like bugsnag_get_release by focusing on builds, and the title reinforces the purpose.
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 Use Cases section gives explicit scenarios (view build metadata, analyze error spikes, check stability targets) and the hint references the 'List builds' tool as a prerequisite for obtaining build IDs. However, it does not explicitly state when not to use this tool or compare it to alternatives like get_release, so it stops short of a perfect score.
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 readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is known. The description adds useful behavioral context: projectId is used to set the current project for BugSnag tools, the expected output is an array of endpoint URL patterns, and hints explain OpenAPI templating and wildcard syntax. 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized into sections with the core purpose front-loaded. The parameter section duplicates the schema but the use cases, example, and hints all add value. Slightly verbose, but every section serves a clear function.
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 single-optional-parameter read tool with no output schema, the description covers the essentials: an example call, expected output shape, and interpretation hints. The only notable gap is what happens if no current project is set and no projectId is supplied, but the optionality note partially addresses this.
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 the parameter description in the tool mirrors the schema description exactly. No additional parameter-level semantics are provided, so the baseline of 3 applies. The grouping-pattern hints relate to the returned data, not to the parameter.
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 ('Get') and resource ('network endpoint grouping rules'), scoped to 'a project'. It clearly differentiates from the sibling bugsnag_set_network_endpoint_groupings by verb and from other BugSnag getters by resource, so an agent can tell what it does without opening the schema.
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 Use Cases section gives three explicit scenarios: viewing current configuration, understanding grouping, and checking patterns before making updates. This clearly implies when to use the tool, e.g. before calling the set tool, but it does not explicitly name alternatives or state when not to use it. That prevents a top score.
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, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavior beyond that: access is scoped to projects the current user can see, the apiKey acts as a lookup filter, and returned project IDs can be passed to other BugSnag tools. Pagination and response shape are not disclosed, but this is a minor gap for a simple read-only list.
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 main sentence is front-loaded and the rest is organized into short, scannable sections. The 'Parameters' bullet mostly duplicates the schema, and 'Toolset' adds little, but the overall length is reasonable and each remaining section contributes useful 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?
For a one-parameter, read-only list tool with strong annotations, the description is largely complete: it states scope, the optional filter, use cases, and how results can be consumed by other tools. It does not describe pagination or the exact response fields, but the hint about project IDs covers the most important downstream need.
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 already fully documents the optional apiKey parameter. The description adds minor context by linking the key to 'the user's code,' but it repeats the schema text and does not introduce format, constraints, or examples.
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 opens with a specific verb and resource: 'List all projects in the organization that the current user has access to.' It also clearly distinguishes the alternate API-key-based lookup behavior, so an agent understands both the default action and the optional 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 'Use Cases' section gives explicit scenarios: getting an overview of all projects and locating a project by API key from user code. The 'Hints' section adds downstream guidance that project IDs can be reused with other tools, but it does not explicitly contrast this tool with siblings like bugsnag_get_current_project.
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 define the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false), so the burden on the description is lower. It adds useful context that the profile belongs to the authenticated user, which clarifies the operation's scope. It doesn't contradict annotations and adds a small but meaningful behavioral detail beyond them.
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 core description is one concise, front-loaded sentence that states the purpose. The 'Toolset' line adds organizational context, and 'Parameters: None' is redundant with the empty schema but not distracting. It is appropriately sized with no wasted wording, though not as tight as possible.
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 zero-parameter read-only tool with annotations covering safety, the description is essentially complete. The absence of an output schema is acceptable because the description names the resource ('profile'), and the operation is a simple retrieval. Nothing needed to invoke the tool correctly is missing.
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, so the schema already fully covers everything (100% coverage). The description adds no parameter information beyond stating 'Parameters: None,' which is redundant but harmless. With no parameters, the baseline of 4 is appropriate — nothing is missing.
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 ('Retrieve') and resource ('profile of the currently authenticated user'), clearly distinguishing it from siblings like contract-testing_admin_get_user (admin-scoped) and contract-testing_get_user_preferences (preferences). An agent can infer exactly what this tool does from the first sentence.
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 by stating 'currently authenticated user' — it is obvious this is for retrieving the caller's own profile. However, it does not explicitly mention when to choose this over alternatives like get_user_preferences or get_system_preferences, nor does it provide any exclusions. Context is clear but not explicit.
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 idempotentHint=true and destructiveHint=false, covering the main safety profile. The description adds 'via the backend', 'downloadable', and an 'Expected Output' line saying a report file is generated and returned, but it does not disclose storage, overwrite behavior, permissions, or response format beyond that. This is adequate but not rich.
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 purpose is front-loaded, and the description is organized into scannable sections (Parameters, Use Cases, Examples, Hints). Some content repeats the schema, but the example and use-case guidance earn their place without making the description unwieldy.
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 3-parameter tool with no output schema, the description covers what the tool does, when to use it, what to provide, and roughly what to expect ('Report file generated and returned by the backend'). It could specify the exact response format or file delivery mechanism, but nothing needed to invoke the tool correctly is missing.
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 description coverage is 100%, so the baseline is 3. The description adds value with a concrete JSON example, clarifies that htmlContent must be the complete HTML string, and reinforces the fileName constraints (no extension, no path separators), helping an agent construct valid arguments.
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 opening sentence states a specific verb ('Export'), a clear resource ('HTML content'), and an outcome ('a downloadable report file via the backend'). It is unambiguous and distinct from the QMetry sibling tools, and the hint that it is typically called after 'Execute Quality Gate Report' further clarifies its role.
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 three concrete use cases and a hint about when to call it ('Typically called after generating report content from Execute Quality Gate Report results'). It gives clear context but does not explicitly state when not to use this tool or name an alternative export tool, so it stops short of a 5.
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 annotations already mark it read-only/idempotent/non-destructive, and the description adds concrete archive-filtering behavior: 'Default behavior always excludes archived items unless explicitly requested' and the three payload examples. It also discloses the output as a JSON project hierarchy and clarifies the default for showArchive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The content is well-structured with headings and bullets, but it is redundant: Examples 1 and 2 describe the same false/default behavior, and Hints 3–6 restate the same payload scenarios. The odd numbering in Hints ('2. PAYLOAD SCENARIOS:' followed by 3-6) further hurts clarity.
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 two-parameter, read-only fetch with no output schema, the description is comprehensive: it defines parameters, provides three examples, and explains the release-cycle hierarchy and default behavior. It does not discuss pagination or error cases, but these are less critical for a simple read tool.
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?
Input schema covers both parameters fully, so baseline is 3; the description adds value by explaining that omitting showArchive results in showArchive:false, and that projectKey defaults to 'default'. However, most parameter semantics already exist in the schema, so the bonus is modest.
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 opens with 'Fetch QMetry releases and cycles from the current project', giving a clear verb and resource. It is unambiguous versus sibling fetch tools because it names releases and cycles, though it does not explicitly contrast itself with related fetch 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?
Use Cases list several reasons ('test planning', 'reporting', 'search for specific releases using release name or ID') and Hints explain the release-cycle hierarchy for planning. It gives clear operational context but never states when not to use it or recommends an alternative sibling tool.
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 this as read-only, idempotent, and non-destructive; the description adds context about defaults, tsID acquisition, tsID vs tsFolderID, filter-field names, AND logic, and ID mappings. This is strong, but the description reuses 'Test case Run' wording for getLinked and example 4 claims 50 items per page with limit=25, introducing avoidable ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is organized but severely overlong: 10 use cases and 22 hints largely repeat the parameter descriptions and each other, adding generic filler like 'essential for test suite management.' The first sentence is front-loaded, but most of the later content does not earn 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?
With no output schema, the description supplies an output description and many examples covering linked/unlinked behavior, filtering, and pagination. It addresses all seven parameters and common usage scenarios, though the output format remains high-level and the internal errors slightly compromise 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?
Schema description coverage is 100%, giving a baseline of 3; the description goes well beyond it by documenting filter fields, ID conventions, default values, and worked JSON examples. The inaccurate pagination expectation in example 4 and the 'Test case Run' wording for getLinked prevent a perfect score.
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?
Opens with a specific verb and object: 'Get test cases that are linked (or not linked) to a specific test suite in QMetry.' The linked/not-linked scope makes it distinct from sibling fetch tools such as qmetry_fetch_test_cases and qmetry_fetch_test_cases_linked_to_requirement. Title and toolset reinforce the same 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 provides an explicit Toolset, 10 use cases, and detailed hints about getLinked semantics, tsID lookup, and filtering. It clearly establishes when to use it for execution planning, gap analysis, and coverage, but it does not name alternatives or say when not to use it, so it stops short of full routing 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 include readOnlyHint:false, destructiveHint:false, idempotentHint:false. The description says 'Link test cases,' which is a write operation consistent with readOnlyHint:false. It adds context about the output (JSON object with linkage status) and expected results in examples. However, it does not disclose potential side effects (e.g., behavior on duplicate links) or discuss idempotency, relying on annotations to convey non-idempotency. No contradiction exists, but the description could add more behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Parameters, Use Cases, Examples, Hints), but it is verbose. Three examples with similar content add redundancy; a single example would suffice. The parameter list repeats schema descriptions, adding length. However, the critical naming warnings and hints are valuable. The structure is logical but not concise enough for optimal quick scanning.
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?
The tool has 3 parameters, no output schema, and moderate complexity. The description provides a complete picture: parameter details, output description, use cases, examples with expected outputs, and acquisition hints. It fully compensates for the lack of an output schema by describing the JSON return. The hints ensure the agent can correctly obtain and supply parameter values, making the tool's usage self-contained.
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 coverage is 100%—the schema already describes all parameters in detail. The description adds value by emphasizing CRITICAL parameter naming constraints ('do NOT use testSuiteId...') and providing hints on how to derive values for tsID and tcvdIDs from other APIs. It also explains the fromReqs option's default and purpose. While the schema covers semantics, the description enhances usability with practical examples and acquisition guidance.
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: 'Link test cases to a test suite in QMetry.' The verb 'link' and resources 'test cases' and 'test suite' are specific. It differentiates from siblings like qmetry_link_requirements_to_testcase and qmetry_link_platforms_to_test_suite by specifying the target entity. The use cases list distinct scenarios, reinforcing the tool's purpose.
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 'Hints' section provides explicit guidance on when to use the tool and how to obtain required parameters (tsID via Fetch Test Suites for Test Case API, tcvdIDs via Testcase/Fetch Versions API). It also clarifies when to set fromReqs to false. However, it does not explicitly compare with sibling tools or state when NOT to use it, such as alternative linking tools. The use cases imply usage context but lack explicit 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 supply readOnlyHint=false, idempotentHint=true, destructiveHint=false, and the description adds context beyond them by revealing the WebSocket mechanism and the interactive control model. It also discloses behavioral expectations for the connected session, such as taking screenshots before actions and performing one add_prompt_step action at a time. It does not cover connection failure or lifecycle behavior, but the annotations lower the bar.
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 core purpose is front-loaded and the numbered workflow is easy to scan. There is redundancy between items 1 and 5 (both about checking segments) and items 3 and 4 (both about single actions), plus a duplicate of the schema's parameter description, so it is not perfectly concise.
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 only one parameter, no output schema, and annotations present, the description gives enough context to call and use the connected session: it names the prerequisite, identifies how to inspect available segments, and prescribes recovery and validation behavior. The main gap is the absence of any statement about connection result, errors, or how the connection is released, but this is not blocking for 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 the schema already documents sessionId as 'The ID of the Reflect recording session to connect to.' The description's Parameters section repeats this without adding format, provenance, or failure 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 first sentence uses a specific verb ('Connect'), identifies the exact resource ('active Reflect recording session') and transport ('WebSocket'), and states the outcome ('enable interactive control'). This makes the tool clearly distinguishable from sibling reflect_* operations such as reflect_add_segment or reflect_get_screenshot.
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 states an explicit context: when creating or editing a Reflect test with a connected recording session. It also gives concrete operational rules (list segments, take screenshots, use delete_previous_step on failure, add a validation step), and even gives a 'do not list tests, only list segments' exclusion. It does not explicitly frame a when-not-to-use or alternative connection tool, so it falls just short of 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 cover the safety profile (readOnly=false, destructive=false, idempotent=true). The description adds meaningful behavioral context: supported content types, the source/contentType compatibility constraint, and the fact that the response includes page location details and a draftUrl. This goes beyond what the annotations state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The lead sentence is excellent and front-loaded, but the description then repeats the entire schema as a parameter list, which is redundant given the high schema coverage. It is well-structured but not concise; the parameter bullets could be trimmed or omitted without losing information.
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 9-parameter create tool, the description is complete: it identifies required and optional parameters, explains the contentType/source interaction, and summarizes the return values (productId, sectionId, slug, draftUrl). The output details are especially useful since they tell the agent what to expect without needing to infer from an output schema.
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%, and the description's parameter list essentially restates the schema descriptions rather than adding new meaning. The baseline of 3 applies because the schema carries the parameter documentation; the description provides no additional semantic value for parameters beyond what is already structured.
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 opens with a specific verb and resource: 'Create a documentation page in a portal product in a single tool call.' It also names the supported content types and the return payload, which clearly differentiates this creation action from sibling tools like swagger_get_document, swagger_update_document, and swagger_create_portal_product.
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 clearly establishes when to use the tool: when creating a new documentation page in a portal product. It does not explicitly contrast with update or get sibling tools, but the creation intent is unambiguous and the constraint that 'html + internal is not supported' helps avoid a known failure mode.
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 the operation as destructive, idempotent, and not read-only. The description adds valuable behavior beyond annotations: return values include publication status, a live/preview URL that can be null if URL building fails, product/portal metadata, and an optional warning whose semantics are explicitly clarified — 'a warning does NOT mean the publish failed.' This goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: purpose first, then return behavior, then toolset and parameters. There is some redundancy — the first two sentences both communicate the publish effect — and the parameter section duplicates the schema, but the length is justified by the added warning semantics and identifier format details.
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 a rich output schema present and only three simple parameters, the description provides a complete summary of return values (status, URLs, metadata, warning), explains the optional tableOfContentsId purpose, and clarifies preview versus live behavior. It doesn't cover permissions or idempotency beyond annotations, but the information an agent needs to call it correctly is present.
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 already documents all three parameters, including defaults and identifier formats. The description restates the parameters and adds the accepted identifier formats, but these are also present in the schema, so the description adds marginal value over the structured fields.
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 ('publish') and resource ('a product's content') and clearly states the effect: making content live or available as preview, visible to portal visitors. This clearly distinguishes it from sibling CRUD tools like swagger_create_portal_product, swagger_update_portal_product, and swagger_delete_portal_product.
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 clear context for when to invoke the tool (to publish current content to live or preview) and explicitly advises using preview mode to test before going live. It does not name alternative tools or exclusions, but the guidance is sufficient for an agent to choose this operation.
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 convey read-only, idempotent, non-destructive behavior. The description adds useful process detail: it fetches the API definition from the registry internally, scans it against governance/standardization rules, and returns validation errors, issue counts by severity, and a UI URL. This is meaningful 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The core behavior and usage are front-loaded, with useful output and process details following. However, the explicit parameter list duplicates the schema, and 'existing API' appears multiple times, introducing minor redundancy. Overall, it remains well-structured and 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 three-parameter read-only scan tool with an output schema, the description is largely complete: it states inputs, internal behavior, return contents, and when to use it. It could be stronger by naming the distinction from swagger_scan_api_standardization explicitly, but the registry-based identification is already clear from the text and name.
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 already documents all three parameters. The description repeats the parameter list and adds slight context (e.g., org provides the standardization rules, case-sensitivity), but does not add substantial meaning 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 states a specific action ('Run a standardization scan'), the exact resource (an API existing in SwaggerHub Registry), and the identifying triple of org, API name, and version. It clearly differentiates from the sibling swagger_scan_api_standardization by emphasizing the API already exists in the registry and is fetched internally.
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 context: 'Use this tool when the user identifies the API by org name, API name, and version and asks to validate, scan, or check the governance or standardization of an existing API.' It does not name alternatives or state exclusions, so it stops short of a full when-to-use vs. alternatives explanation.
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, idempotentHint, and destructiveHint, so the description does not need to restate safety. It adds value by describing the output contents (stability metrics, project targets) and notes that projectId can set the current project for BugSnag tools, which is useful behavioral context.
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 well-structured with clear sections and front-loads the core purpose. It is somewhat redundant, repeating the JSON output description in both the Output Description and Expected Output, but the overall organization helps an agent parse the information 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 get-by-ID tool with one required parameter and no output schema, the description is complete: it explains what the output contains, gives concrete use cases, provides an example, and tells the agent where to find release IDs. Nothing essential for calling this tool correctly is missing.
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%, and the parameter descriptions in the tool description are near-verbatim copies of the schema descriptions. The example and hint add usability value, but the description does not meaningfully expand on the schema's parameter semantics.
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 opens with a specific verb and resource: "Get more details for a specific release by its ID," and names what is included (source control information, associated builds). This clearly distinguishes it from siblings like bugsnag_list_releases and bugsnag_get_build.
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 use cases and explicitly hints that "Release IDs can be found using the List releases tool," which gives clear routing context. It does not explicitly state when not to use this tool versus siblings, but the ID-based scope and sibling naming make 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 declare readOnlyHint, idempotentHint, and destructiveHint, and the description is consistent with them. It adds useful behavioral context beyond annotations by noting that an optional projectId is 'used to set the current project for BugSnag tools' and by describing the expected EventField response shape with display_id and filter/pivot options.
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 one-sentence summary is front-loaded and the use cases, example, expected output, and hints are organized in scannable sections. The Parameters section duplicates the schema's projectId description, which adds some redundancy, but the overall structure remains efficient.
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 the description compensates by stating the expected response ('JSON array of EventField objects') and the key output fields. It also explains the optional parameter semantics, provides an empty-input example, and connects the result to the next step via the display_id hint, making the tool fully actionable.
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 the description's Parameters section restates the same projectId explanation already present in the input schema without adding new meaning. With full schema coverage, the baseline of 3 applies because the description offers no additional parameter nuance.
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 opens with 'Get available event filter fields for a project,' a specific verb-object-resource statement that matches the tool's name and makes its scope obvious. It further distinguishes itself by framing the output as filter fields to be used before querying errors, which separates it from sibling error/event query 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 explicit guidance: 'Use this tool before the List Errors or Get Error tools to understand available filters' and lists discovery use cases. It does not state when not to use it or mention direct alternatives such as bugsnag_list_trace_fields, so it stops short of a full when/when-not matrix.
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, idempotentHint, and non-destructive behavior. The description adds useful behavioral context beyond those annotations: it notes that an empty payload {} is sent when no parameters are provided, explains the output is a JSON object with pagination metadata, and clarifies filter behavior with example expected outputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear one-sentence purpose, but it becomes bloated: the parameter section duplicates the schema descriptions, the use cases list nine overlapping items, and the hints repeat defaults already present in the schema and examples. Several sentences do not add unique value, making the overall structure longer than necessary.
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 fetch tool with no required parameters and no output schema, the description is largely complete: it explains the output shape, demonstrates all parameter behaviors through examples, and provides filter syntax. Minor gaps remain, such as not detailing the exact structure of the build objects returned, but overall the agent has enough context to invoke the tool correctly.
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 description coverage is 100%, so the parameters are already documented structurally. The description goes beyond the schema by showing concrete filter JSON examples, naming common filter fields ('name', 'isArchived'), and explaining pagination defaults and behavior with expected outputs, which adds practical meaning an agent can use when constructing calls.
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 ('Fetch'), a concrete resource ('QMetry builds'), and a scoping qualifier ('from the current project'). It also adds the clarifying note that builds are known as 'drops', which further disambiguates the term and makes the tool identifiable among the many qmetry_ 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 provides a detailed 'Use Cases' section listing when to fetch builds, including for test execution planning, reporting, CI/CD integration, and filtered or paginated retrieval. It does not explicitly name alternatives to use instead, but the use cases give clear contextual guidance for when this tool is appropriate.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: filter conditions combine with AND logic, linkageLevel distinguishes 'Test Case' vs 'Test Step', and filter ID mappings for issueType/issuePriority/issueState are disclosed. 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
Sections (Parameters, Output, Use Cases, Examples, Hints) make it navigable and the critical tcID/getLinked facts are usefully front-loaded and repeated. But it is over-long and redundant: hints 1-2 and 7-9 restate the parameter section, six of the ten use cases say essentially 'traceability/compliance', and the numbered sub-list for 'HOW TO GET tcID' is malformed. Several closing hints ('essential for defect tracking', 'critical for impact analysis') are filler that does not help an agent invoke the tool.
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 7-parameter tool with no output schema and non-trivial filter JSON syntax, coverage is strong: return shape is described (issues array with priorities, status, linkage info), filter syntax is shown in three examples, ID mappings are given, and pagination is demonstrated. Minor gaps remain: the interaction between the start and page pagination parameters is never clarified, and error behavior (invalid tcID, empty results) is not addressed.
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 coverage is 100%, giving a baseline of 3, but the description adds real value beyond the schema: the CRITICAL naming warning for tcID, a step-by-step procedure to resolve MAC-TC-1684 → tcID via FETCH_TEST_CASES, the list of valid filter field names (summary, executedVersion, linkageLevel, issueType, issuePriority, issueState, owner), and the numeric ID-to-label mappings used inside filter values.
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?
Opens with a specific verb+resource: 'Get issues that are linked (or not linked) to a specific test case in QMetry'. The linked/not-linked duality is stated up front, and the tcID hints explicitly distinguish this from entity-key lookups and from the sibling qmetry_fetch_linked_issues_of_test_case_run by scoping to a test case, not a test case run.
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 10 concrete use cases (defect tracking, gap analysis, traceability audits) and seven worked examples covering the getLinked=true/false distinction, pagination, and filtering. Also gives a resolution procedure referencing sibling FETCH_TEST_CASES to obtain tcID. However, it never explicitly excludes the near-sibling qmetry_fetch_linked_issues_of_test_case_run or states when that alternative should be chosen instead.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations: it specifies the expected output (assessment scope, gate criteria, thresholds) and discloses that the backend will return an error if AI Agent is not enabled for the project.
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 well-structured with clear sections (toolset, parameters, use cases, examples, hints) and the core purpose is front-loaded. It is somewhat long and repeats parameter information already present in the schema, but each section earns its place by providing actionable guidance.
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 there is no output schema and the tool has three parameters, the description is thorough: it explains the purpose, details each parameter's role, provides a concrete example, lists use cases, and includes error-behavior hints. An agent has everything it needs to invoke 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 description coverage is 100%, so the baseline is 3. The description adds emphasis on the distinction between projectId and projectKey ('internal numeric identifier, not the project key'), and includes an example with real values, but these largely restate or reinforce what the schema already documents rather than adding new semantic 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 uses a specific verb ('Fetch') and resource ('quality gate configuration') and clearly scopes it to a project and AI agent, including what the configuration contains (assessment scope and gate criteria). It also distinguishes itself from the sibling 'Execute Quality Gate Report' by explicitly positioning this as the pre-step to that tool.
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 when-to-use guidance: 'Call this tool before Execute Quality Gate Report' and enumerates three concrete use cases. It does not explicitly state when not to use it or name other alternatives, but the timing against a specific sibling is a strong contextual cue.
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, idempotent, and non-destructive. The description adds useful behavioral context beyond annotations: getLinked semantics, AND-combined filters, automatic root folder behavior, pagination support, and output structure. No contradiction with the annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is heavily front-loaded with a strong first sentence, but it is severely bloated: the parameter section largely duplicates the schema, the 10 use cases are mostly rhetorical restatements, and the 15 hints overlap with both examples and parameter details. Many sentences do not earn their place.
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 8 parameters, no output schema, and moderately complex filter semantics, the description is complete enough. It explains the output as a JSON object with requirements array, traceability information, and pagination metadata, and provides concrete examples for filters by entity key, status, priority, folder, release, and cycle.
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 parameters with 100% description coverage, so baseline is 3. The description pushes above baseline by adding real semantic value: the tcID vs entityKey distinction, the resolution workflow through FETCH_TEST_CASES, composable filter JSON examples, supported filter fields, and the meaning of getLinked=true/false in practical terms.
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 opening sentence states a specific action and resource: 'Get requirements that are linked (or not linked) to a specific test case in QMetry.' This precisely distinguishes the tool from related siblings like qmetry_fetch_test_cases_linked_to_requirement, while its name and description align cleanly.
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 clear context and workflows: traceability analysis, gap analysis, coverage verification, and impact analysis. Hint 2 explicitly tells agents to first call FETCH_TEST_CASES when only an entity key is available, but it does not directly contrast this tool with the reciprocal sibling qmetry_fetch_test_cases_linked_to_requirement.
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 adds context beyond the readOnly/idempotent annotations: the numeric-ID-vs-entityKey distinction, the cross-reference to FETCH_TEST_CASES, and the claim that version-specific metadata and history are returned. However, the hint 'Version defaults to 1 if not specified' conflicts with the required version field in the schema, creating potential confusion about actual behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized and front-loaded with a clear one-liner, but it redundantly repeats the schema's parameter descriptions verbatim and includes generic boilerplate about scope. The use cases, example, and hints earn their place; the duplication and filler do not.
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 tool with no output schema, the description covers all parameters, provides a concrete example, and includes handling instructions for the most likely confusion (entityKey vs numeric ID). The output description is vague ('JSON object with version-specific test case details') and the version-default hint undercuts schema clarity, but an agent has enough to invoke the tool correctly.
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 coverage is 100%, so the baseline is 3; the description adds value by noting that id accepts a string or number despite the schema's number type, explaining how to obtain the numeric ID from search results, and instructing to resolve entityKeys via FETCH_TEST_CASES. The parameter section mostly duplicates the schema, but these additions justify a 4.
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 opening sentence states a specific verb and resource — 'Get QMetry test case details for a specific version by numeric ID' — and clearly identifies the unique capability (version-specific fetch) that distinguishes it from sibling fetch tools. The tool name reinforces the purpose.
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 lists concrete use cases (compare versions, retrieve version history, audit changes) and gives a routing hint: if the user provides an entityKey like 'MAC-TC-1684', resolve it to a numeric ID using FETCH_TEST_CASES. However, it does not explicitly contrast with qmetry_fetch_test_case_details, leaving the when-not-to-use boundary 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 adds useful behavior beyond the annotations: it discloses YAML-to-JSON conversion by default, explains the resolved and flatten options, and specifies that format:'text' returns YAML for patching. These details complement the readOnlyHint and idempotentHint annotations and do 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the purpose and key caveats before the parameter list. It is reasonably concise, but the parameter bullet list duplicates the input schema, which keeps it from being maximally economical.
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 read-only lookup with a fully documented schema and an available output schema, the description covers the core selection criteria, default format behavior, optional transformation flags, and the patch-workflow use case. Nothing essential for invoking the tool correctly is missing.
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%, and the parameter list in the description largely repeats the input schema verbatim. It adds no substantially new meaning 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?
The first sentence states a clear verb and resource: 'Fetch resolved API definition from SwaggerHub Registry based on owner, API name, and version.' This identifies the exact lookup operation and differentiates it from sibling tools like swagger_patch_api and swagger_search_apis_and_domains, even without naming them.
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 clear operational context: default JSON conversion behavior is explained, and format:'text' is explicitly described as required for swagger_patch_api edits. It does not explicitly mention alternatives for searching or listing definitions, but the usage context is strong and actionable.
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 establish read-only, idempotent, and non-destructive behavior. The description adds useful behavioral context by specifying the content types (HTML or Markdown) and source context (table of contents items), which goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and use case are front-loaded in two concise sentences. The parameter listing is redundant with the schema but not overly bloated, keeping the description easy to scan.
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 one-parameter read tool with rich annotations and an output schema, the description covers what the tool does, when to use it, and what content it returns. Nothing necessary for correct invocation is missing.
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%, and the description only repeats the schema's parameter documentation without adding extra meaning. This matches the baseline for a single fully documented parameter.
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: 'Get document content and metadata by document ID.' The additional note about retrieving HTML or Markdown from table of contents items clearly distinguishes it from sibling tools like swagger_update_document or swagger_get_api_definition.
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 clear context by saying it is useful for retrieving HTML or Markdown content from table of contents items. It does not explicitly name alternatives or when-not-to-use, but the use case is specific enough to guide 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?
Over and above the readOnly/idempotent/non-destructive annotations, it discloses accepted input formats (raw YAML/JSON) and the return shape (validation errors, total issue count, severity counts). No contradiction; it adds useful operational detail without claiming side effects.
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?
Information is front-loaded: purpose, use-case, toolset, parameters. It is slightly redundant by duplicating the schema's parameter descriptions, but remains compact and scannable for an agent.
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 2-param, idempotent, read-only tool with an output schema, the description covers what the tool does, what it accepts, what it returns, and when to use it. Nothing necessary for correct invocation is missing.
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 params, so baseline 3 applies. The description repeats the schema's parameter meanings but adds little new semantic value beyond emphasizing 'raw' content for definition and orgName as rule selection context.
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 first sentence names a concrete verb/resource pair: running a standardization scan against an API definition using governance rules. It distinguishes itself from registry-based scanning by explicitly limiting to raw YAML/JSON definitions, and from sibling swagger_scan_api_standardization_from_registry by saying 'when user provides content directly'.
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 clearly states the intended trigger ('when the user provides the API definition content directly... asks to validate, scan, or check'), which routes agents appropriately. It does not explicitly name alternatives or when-not-to-use cases, but the context is clear enough.
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 adds a non-obvious behavioral constraint: the combination of type='html' and source='internal' is not allowed, while external source documents are editable via API only. The annotations already convey mutation and destructiveness (readOnlyHint=false, destructiveHint=true, idempotentHint=true), so the description's additional restrictions justify a solid but not maximal score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is crisp and the toolset label adds orienting context, but the parameter block replicates the schema's descriptions, adding redundancy rather than new value. It is still structured and readable, so it earns a middle score.
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 an output schema present and all four parameters documented at 100% coverage, the description covers the key constraints: supported type/source combinations and internal vs external editing. The only minor omission is guidance on how to obtain a documentId, but sibling get_document tools make that inferable.
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%, and the description's parameter section repeats the schema text almost verbatim rather than adding new meaning. It accurately restates the content/type/source semantics and enum options, so the baseline 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 opening sentence names a specific operation ('Update'), a specific resource ('existing document'), and the exact scope ('content or source'), and lists the supported HTML/Markdown types. This clearly marks it as different from create/get siblings like swagger_create_documentation_page and swagger_get_document, even without naming them.
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 type/source parameter notes explicitly state that documents with type 'html' and source 'internal' cannot be edited via API, and that only 'html' + 'external' and all 'markdown' combinations are supported. The source parameter also names the alternative ('portal UI') for internal editing, so an agent knows when to use this tool and when not to.
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 communicate that this is a non-read-only, non-destructive operation. The description adds useful behavioral context by explicitly stating 'no output is expected' in the expected output for both examples, which is valuable since no output schema exists. It also implies a new link is created each time, consistent with idempotentHint=false.
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 well-structured and front-loaded with the core purpose. The examples earn their place by demonstrating both accepted key formats, and the repeated 'no output expected' note is directly useful. However, the parameter list and 'Toolset' heading partly duplicate what the name and schema already provide, preventing a perfect score.
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 two-parameter create-link operation, the description is complete: it covers purpose, parameter formats, expected behavior, and explicitly states that no output will be returned. The annotations cover the safety profile, and the examples resolve ambiguity in how testCycleIdOrKey can be 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 coverage is 100%, so the baseline is 3. The description repeats the parameter names and descriptions already present in the schema. The examples do illustrate the two acceptable forms of testCycleIdOrKey ('SA-R1' and '1001'), which is mildly helpful but does not add substantial semantic meaning beyond the schema's pattern.
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 opens with a specific verb and resource: 'Create a new link between an issue in Jira and a Test Cycle in Zephyr.' This clearly distinguishes it from sibling tools like zephyr_create_test_case_issue_link and zephyr_create_test_execution_issue_link by naming the exact entity pair being linked.
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 clear context for when the tool is appropriate: whenever an issue-to-test-cycle link is needed. It does not explicitly name alternatives or provide when-not-to-use guidance, but the entity pairing is specific enough to direct selection among the similar create-link siblings. 'Toolset: Test Cycles' reinforces the 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?
Annotations already declare readOnly, idempotent, and non-destructive behavior, so the description's burden is lighter. It adds useful return-shape context by stating the output is a list of linked test cases with their keys and versions. It does not cover auth or pagination, but that is acceptable for this simple read operation.
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 well-organized with a clear purpose sentence, a compact parameters list, and a worked example. The parameters block is somewhat redundant with the JSON schema, but the example and expected-output note keep the added length worthwhile.
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 one-parameter read operation with full annotations and an output schema, the description provides everything needed: the input, a valid example, and a summary of the result. An explicit sibling comparison would be a refinement, not a real gap.
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 the issueKey description and pattern already defined. The description essentially repeats the schema and only adds a concrete PROJ-123 example, so it provides little semantic value beyond what the schema already conveys.
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 ('Get'), resource ('test cases linked to a Jira issue'), and platform ('in Zephyr'), which cleanly distinguishes it from siblings that return cycles or executions linked to an issue. The example with PROJ-123 reinforces the exact purpose.
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?
Clear context is given: use this when you need the test cases associated with a Jira issue key. The example shows the exact invocation pattern. It does not explicitly mention alternatives or exclusions, but the one-parameter read-only scope 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value beyond annotations by specifying the required URL structure (project slug in path, event_id in query) and what the expected output contains (stack trace, metadata, context). No contradiction 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Toolset, Parameters, Use Cases, Examples, Hints) and the core purpose is front-loaded. Some redundancy exists between Use Cases and Hints, and the parameter section repeats the schema verbatim, but overall it remains focused and scannable.
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 low-complexity tool with one parameter and strong annotations, the description is sufficiently complete. It explains expected output, input requirements, and common use cases. It could be more thorough about error behavior or exact parsing rules, but nothing critical is missing for an agent to invoke the tool correctly.
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 coverage is 100% for the single 'link' parameter, so baseline is 3. The description adds meaning beyond the schema with a concrete example URL and hints about the necessary components, which helps an agent construct a valid input. This extra guidance justifies a score above baseline.
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 ('Get detailed information') and a precise resource ('specific event using its dashboard URL'). It clearly differentiates from sibling tools like bugsnag_get_event by emphasizing the URL-based access path and explicitly noting this avoids needing separate project/event IDs.
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 through Use Cases and Hints: it is intended for dashboard URLs from users/notifications, shared links, or quick lookups. It implies alternatives (separate project/event ID tools) by saying this works 'without needing separate project and event IDs', but does not explicitly name when-not-to-use alternatives.
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, idempotentHint=true, and destructiveHint=false, lowering the burden. The description adds useful behavioral context: workspace scope, default sort order, keyset pagination mechanism, and default page size. It does not mention rate limits or auth, but the annotation coverage makes this gap minor.
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 well-structured with a front-loaded purpose, a clear Toolset label, and an organized use-case list. However, the Parameters block largely duplicates the input schema, adding unnecessary length.
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?
It covers purpose, workspace scope, all seven parameters, defaults, and realistic use cases. The only noticeable gap is the absence of any description of the audit event record shape, which matters more because there is no output schema.
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 descriptions for all seven parameters. The description largely restates those schema meanings and adds only an explicit 'keyset pagination' label and use-case hints, so it stays at the schema baseline without significant added value.
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 one-sentence description 'Retrieve the audit log of events in the workspace' uses a specific verb and resource, and the use-case list clarifies the tool's role. Among the many siblings, no other tool targets audit logs, so it is inherently differentiated.
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 'Use Cases' section lists four concrete scenarios (reviewing changes, investigating pact publications, compliance filtering, tracking deployments), telling an agent exactly when to call it. No alternative audit-log tool exists among siblings, so no when-not-to-use instruction is needed.
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 readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds useful context by specifying that the preferences belong to the 'current user,' which clarifies auth-scoped behavior without requiring parameters.
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 highly concise: one clear opening sentence followed by minimal structured metadata. Every element is short and front-loaded, with no wasted prose or redundant explanation.
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 zero-parameter, annotation-covered read operation, this description is complete. There is no output schema, but the tool's return value ('user preferences') is stated directly in the first sentence, and no hidden inputs or side effects are possible with an empty 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?
There are zero parameters and the schema is empty, so schema coverage is complete. The description correctly states 'Parameters: None,' and no additional parameter meaning could be added. Baseline 4 is appropriate for a parameterless 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 'Retrieve the current user's preferences' uses a specific verb and resource, making the tool's purpose immediately clear. The 'current user' qualifier distinguishes it from the sibling contract-testing_get_system_preferences, and 'preferences' distinguishes it from contract-testing_get_current_user.
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 intended use is implied by the zero-parameter read operation, but the description provides no explicit guidance about when to choose this tool over alternatives such as contract-testing_get_system_preferences. It is adequate for a trivial getter, but it does not name exclusions or sibling routing.
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 notes that the tool forwards the request to the backend analytics engine and returns results unchanged: 'The response is returned exactly as received from the backend — no transformation is applied.' This goes beyond the annotations by clarifying the pass-through behavior and expected output. Annotations already cover read-only, idempotent, and non-destructive behavior, so extra depth is not required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear headings for parameters, use cases, examples, and hints, and opens with a concise summary sentence. However, it is verbose and repeats schema field descriptions almost verbatim, making it longer than necessary. Several hints also restate information already present in the parameter list.
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 an 8-parameter operation with no output schema, this description is exceptionally complete: it documents every parameter, gives multiple examples, includes expected output, states pagination defaults, and names the prerequisite fetch-config tool. An agent has everything needed to call this tool correctly.
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 description coverage is 100%, so the baseline is 3. The description adds value through concrete examples with actual project/release/cycle IDs, expected output shapes, and hints that clarify required vs optional parameters. It also explains the relationship between releaseId and cycleIds scoping, which goes beyond the schema's individual field 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 first sentence states a specific verb and resource: 'Execute a quality gate report by forwarding the request to the backend analytics engine and returning the results.' It clearly distinguishes the action from sibling tools like qmetry_fetch_quality_gate_configuration, which discovers gates, and qmetry_export_html_report, which exports a report. The use cases reinforce the purpose by describing release readiness and gate assessment scenarios.
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?
Use cases explicitly describe when to use the tool, such as generating a release readiness report or evaluating project health against gate criteria. Hint 8 adds a clear prerequisite workflow: call 'Fetch Quality Gate Configuration' first to discover available gates and report parameters. It does not explicitly exclude sibling tools, but the integration guidance is strong enough.
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, idempotentHint, and destructiveHint, and the description does not contradict these. It adds valuable behavioral detail: getLinked toggles linked vs. unlinked issues, entityId must be sourced from a prior execution API response, filter conditions are ANDed, and the response is an issues array. It does not discuss error cases or how getColumns affects the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly repetitive and overlong for a simple read-only fetch tool. The first sentence is clear and front-loaded, but the use-case list is largely filler, and the Hints section repeats the same entityId workflow and filter guidance multiple times.
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 9-parameter tool with no output schema, this description is exceptionally complete: it documents output as a JSON object with issues, all parameters through the schema plus examples, pagination, filter fields, default behaviors, and the critical ID-provenance workflow. An agent has enough context to call this tool correctly.
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?
Schema coverage is 100%, so a baseline of 3 applies, but the description substantially exceeds that baseline. It explains how to obtain entityId from data[<index>].tcRunID, documents getLinked semantics, enumerates filterable fields and comparison operators, and provides six worked JSON examples with valid filter syntax. The only minor wrinkle is saying entityId accepts a string or number while the schema types it as number.
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 opens with a specific verb and resource: 'Get issues that are linked (or not linked) to a specific test case run in QMetry.' This clearly distinguishes the tool's scope from nearby QMetry tools that fetch issues for test cases, requirements, or suites.
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 strong usage context: getLinked=true versus false for gap analysis, extensive use cases, and critical workflow prerequisites such as 'NEVER use user-provided IDs directly as entityId' and 'ALWAYS fetch execution data first.' It does not explicitly name alternative sibling tools or say when not to use this tool over them, so it stops short of 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 declare readOnlyHint, idempotentHint, and destructiveHint, so the read-only safety profile is covered. The description adds meaningful context beyond that: showArchive behavior, pagination semantics, filter-as-JSON-string, projectKey defaulting, and approximate output fields. There is a minor inconsistency between the fields listed in the opening line and the Output Description, but overall the behavioral picture is strong.
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 longer than average, but it is well structured with Parameters, Output Description, Use Cases, Examples, and Hints sections. It is front-loaded with the core purpose. There is some redundancy between the parameter list, examples, and hints, but the organization makes the length manageable for an agent.
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?
There is no output schema, so the description compensates with an Output Description, expected-output examples, and hints about filtering and pagination. It covers the main things an agent needs to call this tool correctly. The slight mismatch between the opening field list and Output Description prevents a perfect score.
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 description coverage is 83%, so the schema already documents most parameters well. The description adds value by giving concrete examples of filter payloads, clarifying showArchive true/false behavior, and explaining how start/page/limit work together. This goes beyond the schema without needing to restate everything.
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 opens with a specific verb and resource: 'Fetch QMetry projects list', and enumerates the exact fields returned (projectID, name, projectKey, isArchived, viewIds, folderPath). This clearly separates it from sibling tools like qmetry_fetch_qmetry_project_info and qtm4j_get_projects, which are singular/context-setting operations rather than project-list fetches.
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 'Use Cases' section gives concrete contexts: checking how many projects an API key can access, retrieving project fields needed for other operations, and validating project access/permissions. This is clear usage context, though it does not explicitly name alternatives or state when not to use this tool, so it stops short of 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 declare the tool read-only, idempotent, and non-destructive. The description adds useful behavioral context beyond that: it does not persist UI filters, it returns metadata/properties rather than step details, and it requires the internal numeric ID rather than the entityKey. No statement 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The content is well-structured with clear sections, bolded headers, and a front-loaded core purpose, but it is substantially overlong. 'USE THIS for single test case lookup' is repeated in the opening, Use Cases, and Hints, and the entityKey resolution guidance spans multiple redundant numbered hints that could be condensed significantly.
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 read-only single-record fetch with no output schema, the description provides an output description, a worked example, use cases, and fallback strategies for entityKey inputs. An agent has everything needed to select and invoke the tool correctly, including the preferred tool among siblings and how to handle non-numeric identifiers.
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 already fully documents all five parameters, including the tcID naming warning and the entityKey distinction. The description's parameter section mainly repeats the schema text verbatim, and the added hints about entityKey resolution are more usage guidance than new parameter semantics. There is also a minor internal inconsistency where the description says tcID 'accepts a string or number' while the schema declares type 'number'.
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 opening sentence names the exact operation ('Get detailed information for a specific QMetry test case by numeric ID') and explicitly labels it 'USE THIS for single test case lookup', which distinguishes it from sibling tools like qmetry_fetch_test_cases and qmetry_fetch_test_case_steps. The purpose is concrete and immediately actionable.
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 Hints and Use Cases sections give explicit when-to-use guidance ('when user asks to fetch test case VKMCP-TC-5'), explicit when-not-to-use guidance ('use FETCH_TEST_CASE_STEPS for step-level details'), and a clear alternative path for resolving entityKey via FETCH_TEST_CASES. It also states a preferred option to ask the user for the numeric ID, leaving little to inference.
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 this as a mutating, non-idempotent operation; the description adds an output description and warns about the exact 'tcrId' parameter name. It does not expand on side effects like whether existing links are preserved, but the annotated safety profile plus examples give enough behavioral context.
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 front-loaded with a one-line summary, then organized into short labeled sections; the examples and hints are useful. It repeats some schema content and the generic Output Description is low-value, so it is not maximally 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 mutation tool without an output schema, it includes output shape, multiple worked examples, and step-by-step hints for sourcing the two required IDs. Missing specifics on error behavior and exact JSON fields are minor given the clear examples.
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 documents all parameters, so baseline is 3, but the description's Hints add real value: it explains how to resolve issue keys to IDs, which companion tool returns issueIds and which returns tcrId, and the example shows correct JSON. The only concern is that the parameter text says tcrId accepts a string or number while the schema types it as number, a minor source of 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 opening sentence states a specific action (Link) against a concrete resource (QMetry Testcase Run) and clarifies scope ('one or more issues'). The examples and 'Automate defect association during test execution' use case reinforce that this is the issue-to-test-execution linking tool, distinct from requirement/test-case linking siblings such as qtm4j_link_requirements_to_test_case.
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?
Use Cases and Hints provide clear context: linking single/multiple issues, defect association, and traceability. It gives retrieval instructions for required IDs from companion tools but does not explicitly say when not to use it or name a sibling alternative, so it falls short of a full exclusion statement.
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 already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description is fully consistent with these. The description adds valuable behavioral context beyond annotations: pagination defaults, use of isLast and total, parameter interactions, and the complete project fields returned. There is 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with clear sections: summary, parameters, output, use cases, examples, and hints. It is front-loaded with the core purpose. Some repetition exists between use cases, examples, and hints, but every section contributes actionable guidance.
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?
The description is fully complete for a read-only list tool: all five optional parameters are explained, pagination behavior is specified, examples cover typical and combined usages, and expected output contents are described. With output schema available and annotations covering safety, nothing an agent needs to call this correctly is missing.
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 description coverage is 100%, so the baseline is 3. The description adds meaningful value through examples showing how parameters combine, clarification that startAt is zero-indexed, maxResults cap/default, and hints about project key versus ID. This goes beyond the raw schema definitions without being redundant.
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 tool gets all projects from QTM4J with optional filtering, which identifies the specific resource and operation. It does not explicitly differentiate from similar sibling tools like qmetry_fetch_qmetry_list_projects or zephyr_get_projects, but the QTM4J branding and detailed scope make the purpose clear.
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 extensive use cases, examples, and hints explaining when to use this tool, such as discovering projects, finding project IDs, filtering by QMetry status, and paginating results. It does not explicitly state when to prefer alternatives, but the context is clear and complete for this tool's own usage.
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 adds meaningful behavior beyond the annotations: it automatically resolves Jira keys to numeric defect IDs, removes duplicates, passes JQL through unchanged, and includes linkedDefectCount by default. It also warns that warningMessages appears when the server reports per-bug issues, giving the agent useful expectations about side effects and responses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with clear sections, but the Parameters section largely duplicates the input schema descriptions. The examples and hints are useful and justify some length, so the verbosity is mostly purposeful, though redundancy with the schema keeps it from being concise.
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 complex tool with nested objects, multiple input modes, and prerequisite state, the description is unusually complete: it provides parameter formats, output shape, working examples, and explicit prerequisites. Nothing essential for correctly invoking the tool is missing.
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 coverage is 100%, so the baseline is 3, but the description adds value through concrete examples for single bug linking, multi-bug linking, and JQL-filter linking. It also reinforces important distinctions like passing Jira keys rather than numeric IDs and the default behavior of returnLinkedDefectCount.
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 opening sentence uses a specific verb and resource: 'Link Jira bug keys to a test step execution,' which clearly differentiates this from sibling tools like qtm4j_link_bugs_to_test_case_execution. The description also explains the lookup mechanism for testStepExecutionId, leaving no doubt about the tool's scope.
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 Hints section explicitly says to call set_project_context first and states that an execution must already be started before linking bugs. It also clarifies when filter.jql can be used instead of defectIDs. It does not explicitly name alternatives, but the prerequsites and execution context make appropriate 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 signal that this is not a read-only, idempotent, or destructive operation. The description adds useful behavioral context by explaining that BDD type supports remote execution via an API plugin, that Plain Text scripts support HTML fragments, and that the response includes metadata with id and self link. This goes beyond just repeating the annotation flags.
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 well-structured with parameters, type guidance, examples, and expected output. It is longer than strictly necessary, and the three examples are somewhat redundant, but each section earns its place by clarifying how to construct valid calls. The front-loaded purpose sentence helps an agent quickly identify the tool.
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 an output schema present, the description does not need to detail return values, but it still mentions the response metadata in the examples. It covers the main parameter semantics, type nuances, and alternatives for step creation. A minor gap is that text and type are not marked as required in the parameter list even though the examples always include them, which leaves slight ambiguity about whether they can be omitted.
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 description coverage is 67%, so the schema already documents testCaseKey and type thoroughly. The description adds value through concrete examples illustrating the text format for both plain and BDD scripts, plus the HTML fragment note for plain text. The text parameter itself remains somewhat underexplained, but the examples compensate reasonably 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 states the action: create a new Test Script in a Zephyr Test Case, and explicitly names the two supported types (Plain Text and BDD). It also distinguishes itself from a related operation by pointing to the POST /testcases/{testCaseKey}/teststeps endpoint for step-by-step test steps, which differentiates it from sibling tools like zephyr_create_test_case_steps.
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 clear context for when to use this tool and, importantly, tells the agent to use the teststeps endpoint for step-by-step scripts instead. It does not explicitly name the sibling tool zephyr_create_test_case_steps, but the endpoint reference serves the same purpose. It could be more explicit about when to choose this over other Zephyr tools, but the guidance is sufficient.
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 already cover readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description adds valuable runtime behavior: the server may enforce a lower maxResults limit, the result set may be truncated, and callers should verify the maxResults value in the response. It also documents the startAt/maxResults relationship, which is useful beyond the annotation metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized and front-loaded with its purpose, but it duplicates much of the input schema's parameter documentation, including the full maxResults caveat verbatim. The three examples are useful, but the expected-output lines are vague ('with their details'), making the text longer than necessary without proportionally increasing clarity.
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?
With zero required parameters, 100% schema coverage, an output schema, and annotations declaring the tool read-only and idempotent, the description fills the remaining gaps effectively. It explains defaults, filtering options, pagination/truncation behavior, and provides representative examples, so nothing critical is missing for an agent to invoke 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%, so the schema already documents all four parameters, including defaults, the enum values, and the server-limit caveat for maxResults. The description largely restates those schema definitions, and while the examples show useful filter combinations, they do not add substantial 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 opens with a specific verb+resource: 'Get statuses of different types of test artifacts in Zephyr,' which clearly identifies a distinct resource among the Zephyr getter tools. The statusType enum values (TEST_CASE, TEST_PLAN, TEST_CYCLE, TEST_EXECUTION) and the 'Toolset: Statuses' label further differentiate it from sibling tools like zephyr_get_priorities or zephyr_get_test_cycles.
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 does not explicitly name alternatives or exclusions, but its examples create clear usage context: a default listing, filtering by statusType, and filtering by projectKey. This is sufficient for an agent to recognize when this read-only status lookup is the appropriate call, though no explicit 'use this instead of X' guidance is provided.
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 already include idempotentHint=true, but the description adds critical behavior beyond that: it fetches the current entity and merges updates, requires explicit null to delete, and states that multi-value fields like labels replace previous values. No contradiction with annotations, and this behavior is essential for correct use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most important merge semantics, which is good. However, it includes a lengthy parameter list that duplicates the input schema, making the description longer than necessary. The six examples are useful, but the redundant parameter section hurts conciseness.
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?
With 15 parameters, nested objects, and no output schema, the description covers everything needed for correct invocation: merge behavior, null-to-remove, label override semantics, customFields format rules, and six illustrative examples. Expected outputs are even stated in the examples, so missing output schema is not a gap.
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 93%, so the schema already documents most parameters well. The description's parameter list largely duplicates schema descriptions, though the main narrative adds helpful context like testCaseKey format and customFields value formats. The examples add practical meaning, but the description doesn't substantially augment parameter semantics 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 opens with 'Update an existing Test Case in Zephyr,' a specific verb and resource that clearly distinguishes it from sibling create/get tools. It further clarifies the update model (fetch-and-merge) so an agent knows exactly what this tool does.
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 clear context for when to use the tool: to update an already-existing test case, with explicit semantics for partial updates and property removal. It does not name alternatives or state when not to use it, but the context is strong enough without 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?
Annotations already declare readOnly and idempotent, and the description adds meaningful behavioral detail: it specifies that statistics include p50/p75/p90/p95/p99, that the response provides category and performance target info, and that span group IDs are automatically URL-encoded. This goes beyond the annotation safety profile 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded: purpose first, then parameters, use cases, examples, and hints. It is somewhat long and repeats some schema parameter descriptions, but each section serves a practical purpose and the examples are directly actionable. It earns its length for a tool with no output schema.
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 absence of an output schema, the description does an excellent job of explaining what the agent will receive: statistics, category, performance target info, and filtered results. It also covers the workflow (discover span groups first), filter discovery, parameter defaults, and URL-encoding behavior. Nothing critical is missing for successful 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?
Schema description coverage is 100%, so baseline is 3. The description adds genuine value with the URL-encoding hint for spanGroupId, a concrete default filter value, an example of device.browser_name filtering, and a pointer to List Trace Fields for discovering filter fields. These details help agents use the parameters correctly beyond the schema 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 opens with a specific verb+resource: 'Get detailed performance metrics for a specific span group.' The word 'specific' distinguishes it from bugsnag_list_span_groups, and the performance-metrics focus separates it from other get tools like bugsnag_get_trace or bugsnag_get_error. This is clear and 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 'Use Cases' section clearly states when to use the tool (view percentiles, check performance targets, monitor span count). Hints provide routing guidance: use List Span Groups first to discover IDs and List Trace Fields to discover filters. It does not explicitly enumerate when-not-to-use alternatives, but the context is clear enough.
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, idempotent, and non-destructive behavior. The description adds useful behavioral context beyond the annotations, such as how nextUrl pagination works, the default span.since=7d filter, and expected output examples. There is no contradiction 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections: Toolset, Parameters, Use Cases, Examples, and Hints. It is somewhat longer than necessary because the Parameters section largely repeats the input schema, but each remaining section contributes practical value for an agent.
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 tool with 7 parameters, nested filter objects, and no output schema, the description provides sufficient guidance for correct invocation: concrete examples, expected output descriptions, pagination behavior, and a pointer to List Trace Fields for filter discovery. Nothing that would block selection or calling is missing.
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 description coverage is 100%, so the baseline is 3. The description adds meaning through concrete example payloads, explains the pagination contract for nextUrl, and offers practical hints like sorting by duration descending to find the slowest instances. This goes beyond simply restating parameter names.
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 opening sentence, 'Get individual spans belonging to a span group,' names a specific verb and resource, and the modifier 'individual' distinguishes this from sibling tools like bugsnag_list_span_groups and bugsnag_get_span_group. An agent can identify the target resource without needing to inspect other tool definitions.
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 Use Cases section provides explicit scenarios for when this tool is appropriate: analyzing individual slow operations, debugging performance issues via specific traces, and finding patterns in operation attributes. It does not explicitly state exclusions or alternatives, so it falls just short of a 5.
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 already declare readOnlyHint, idempotentHint, and destructiveHint, but the description adds valuable behavioral context: viewId is auto-resolved, response contains 'id' rather than a 'DefectId' field, release/cycle filters require numeric IDs not names, and pagination defaults are stated. No contradiction with the readOnly annotation exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized and front-loaded, but it is overlong: the Parameters section duplicates schema text, several Hints repeat parameter lists, and Hints 17-20 are filler. Strong content is present, but it is buried under 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?
For an 8-parameter tool with no output schema, the description covers output shape, viewId resolution, projectKey consistency, filter construction, release/cycle prerequisites, pagination, and concrete examples. An agent has enough information to invoke the tool correctly without external lookup.
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?
Schema coverage is 100%, so the baseline is 3, but the description substantially exceeds it by providing exact filter JSON patterns for release, cycle, entityKeyId, comma-separated multiple keys, and sort fields. It also clarifies that viewId should normally be left empty because the system resolves it automatically.
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 opening line clearly states the operation and resource: 'Fetch QMetry defects or issues,' and adds the key scoping behavior of automatic viewId resolution. It does not explicitly differentiate itself from siblings like qmetry_fetch_issue_details or qmetry_fetch_issues_linked_to_test_case, though the examples make the list/search intent clear.
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?
Use Cases state concrete triggers: list all issues, search with filters, and get paginated results. Hints give a step-by-step workflow, including using the same projectKey, resolving viewId automatically, and fetching release/cycle IDs from FETCH_RELEASES_AND_CYCLES before filtering. It lacks explicit 'do-not-use-if' routing for fetching a single issue versus this list-oriented tool.
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 already indicate read-only/idempotent behavior, and the description adds valuable context beyond them: automatic viewId resolution from project info, automatic root folderPath, default pagination values, and the output shape. These details materially change how an agent should invoke the tool, and there is no contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-headered and front-loaded, but it is extremely long and repetitive: parameter details are largely duplicated from the schema, and the 16 examples overlap significantly with the 22 hints. It is organized enough to be usable, but it is not concise and every sentence does not earn its place.
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 read-only, 16-parameter fetch tool with no output schema, this definition is unusually complete: it specifies the required workflow, defaults, output shape, filter/sort syntax, and how to get release/cycle IDs. An agent has sufficient information to call the tool correctly in nearly all intended scenarios.
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?
Even though schema coverage is 100%, the description adds substantial meaning beyond the schema: exact JSON syntax for filter and sort, the list of valid filter/sort fields, and worked examples for each common use case. It also clarifies that viewId and folderPath are optional because the system auto-resolves them.
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 opening sentence names the action and resource ('Fetch QMetry requirements') and the output description clarifies it returns a 'data' array of requirements, so an agent can recognize it as a listing/search operation. However, it does not explicitly contrast this with siblings like qmetry_fetch_requirement_details, so it misses the full differentiator credit.
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 Use Cases section clearly lists intended scenarios: list all requirements, search with filters, browse folders, paginate, and filter by metadata. Hints also point to fetch_releases_and_cycles for release/cycle IDs. It stops short of explicitly stating when NOT to use this tool versus sibling requirement-fetch tools, so no exclusions are given.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description adds useful behavioral context on top: the output structure (array of steps with description, expected result, order), pagination defaults, and the numeric-ID vs entityKey distinction.
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 well-organized with clear sections: What it does, Parameters, Output, Use Cases, Examples, and Hints. It is somewhat lengthy but every section earns its place, especially the concise hints that highlight critical call requirements.
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 annotations cover safety, schema covers all parameters, and the description explains output and use cases with an example, there is nothing missing. An agent can correctly select this tool, resolve prerequisites, and interpret the response without external knowledge.
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 already documents all six parameters in detail. The description largely repeats this information, though it adds value by clarifying the ID/entityKey distinction and default version behavior. With full schema coverage, a baseline 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 states the tool fetches test case steps for a specific test case by numeric ID, with a specific verb and resource. It also distinguishes itself by explicitly noting the ID is an internal numeric identifier, not the entity key like 'MAC-TC-1684', which helps differentiate it from other test case tools.
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 'Hints' section explicitly states the tool requires a numeric ID and instructs agents to resolve entity keys via FETCH_TEST_CASES first. It also provides clear context for when to use pagination and the default version behavior. This is strong when-to-use guidance that also names the alternative resolution path.
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 already establish read-only, idempotent, non-destructive behavior. The description adds substantial beyond-annotation context: automatic viewId resolution, root folder defaulting, release/cycle ID semantics, and output shape with a data array and pagination info. This gives the agent a clear behavioral model without contradicting 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loads the critical auto-viewId behavior, but it is very long and repetitive. Parameter defaults and descriptions are duplicated from the schema, and the 16 numbered hints contain overlapping information, making it less concise than it could be.
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 complex tool with 11 optional parameters and no output schema, the description is remarkably complete. It covers automatic viewId resolution, folder behavior, filtering by release/cycle, pagination, sort fields, filter fields, and multiple worked examples with expected outputs.
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 greatly enriches parameter understanding: it explains exactly how viewId and folderPath are auto-resolved, provides concrete filter JSON patterns, enumerates sort and filter fields, and shows comma-separated entity key examples. This goes far beyond the baseline for schema-covered parameters.
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 tool fetches QMetry test suites and emphasizes automatic viewId resolution, which is a specific, actionable behavior. However, it does not explicitly distinguish itself from closely related sibling tools like qmetry_fetch_test_suite_details or qmetry_fetch_test_suites_for_test_case.
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 clear 'Use Cases' list and strong contextual hints, such as fetching release/cycle IDs from FETCH_RELEASES_AND_CYCLES before filtering and using the same projectKey across calls. It lacks explicit exclusions or direct comparisons to sibling tools, so the agent has to infer when other QMetry fetch tools would be more appropriate.
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 include readOnlyHint=false, destructiveHint=false, and idempotentHint=false, which already indicate a non-read, non-destructive, non-idempotent operation. The description adds context by stating it links requirements (implying modification) and provides output description ('JSON object with success status and linkage details'). It does not contradict annotations, but it does not disclose side effects like whether existing links are replaced or appended, or if there are permissions required. Annotations carry the basic mutation info, so a 3 is appropriate; 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is comprehensive and well-structured with sections for parameters, output, use cases, examples, and hints. It is longer than necessary, but each section earns its place: the hints are highly actionable, and the example is valuable. It is front-loaded with the core purpose, and the structure aids scanning. There is minor redundancy (parameter descriptions echoed from schema), but it's acceptable for usability. Not as concise as the TDQS 4.3 example, hence 4.
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 moderate complexity (3 parameters, no output schema, no nested objects), the description is complete. It includes all necessary information: purpose, parameter semantics, output description, use cases, and critical hints for resolving IDs, which are non-obvious and require external API calls. The annotations provide safety hints, so the description doesn't need to repeat them. This description fully equips the agent to use the tool correctly, surpassing the minimum viable bar.
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 coverage is 100%, each parameter has a description in the schema. However, the tool description enhances parameter understanding significantly by providing examples (e.g., 'VT-TC-26', '5448515', '5009939,5009937,4970699') and detailed hints on how to obtain each parameter (e.g., 'To get the tcID, call the Testcase/Fetch List for Bulk Operation API and use data[<index>].entityKey'). This goes beyond the schema's basic descriptions, adding practical guidance. Baseline is 3 due to full schema coverage, but the extra detail justifies a 4.
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: 'Link one or more requirements to a test case by entityKey and version IDs.' It specifies the action (linking), the resource (requirements to test case), and the identifiers used. It is distinct from sibling tools like qmetry_link_test_cases_to_test_suite, which links test cases to suites. The title and description are consistent, and the toolset label ('Requirements') helps contextualize it.
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 provides explicit guidance on when to use this tool: 'Use Cases: 1. Link requirements to a test case for traceability 2. Bulk link multiple requirements to a single test case 3. Automate requirement coverage mapping.' It also mentions alternatives implicitly by naming the toolset and providing hints to resolve IDs via other APIs. However, it does not explicitly state when NOT to use it, but the use cases and hints are sufficient for differentiation.
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 provide idempotentHint=true and destructiveHint=false. The description adds useful behavioral context beyond this: the project context persists for the current session, and the operation must be performed before fetching test cases in non-default projects. No contradiction with annotations exists.
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 longer than strictly necessary but is well-structured with Toolset, Parameters, Output Description, Use Cases, Examples, and Hints. Content is front-loaded and each section serves a purpose, though some redundancy exists between examples and hints.
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 tool with a single optional parameter and no output schema, the description is complete: it explains the return payload, gives prerequisite context, documents session persistence, and provides examples. An agent has enough information to select and invoke the tool correctly.
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 description coverage is 100% for the single projectKey parameter, so the baseline is 3. The description adds value with concrete examples, common project keys like 'UT', 'MAC', and 'default', and guidance to use the same key as in subsequent test case operations.
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 opens with a specific verb and resource: 'Set current QMetry project for your account.' It clearly distinguishes itself from sibling fetch/project-info tools by emphasizing the 'set' action and project-context switching purpose.
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 Use Cases and Hints explicitly state when to use the tool: before test case operations, for batch operations, for configuring default project, and for validating project access. It lacks explicit 'when not to use' guidance or named alternatives, so it stops short of 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?
Beyond the annotations, the description discloses meaningful behavior: it automatically resolves Jira keys to numeric defect IDs, removes duplicates, passes JQL through unchanged, and returns warningMessages when the server reports per-bug issues. It never contradicts the annotations, and the mutating nature of 'Link' aligns with readOnlyHint=false.
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 long but well-structured with Parameters, Output Description, Use Cases, Examples, and Hints. It is front-loaded with the core sentence and then organized for quick scanning, though the Use Cases section is somewhat redundant with the opening sentence.
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 tool with five parameters, a nested filter object, and non-trivial output behavior, the description is complete: it covers prerequisites, parameter formats, mutual-exclusivity guidance, JQL handling, default response behavior, and expected outputs with examples. 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.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so this starts at baseline 3, but the description adds real value: it warns to pass Jira keys rather than numeric IDs, states that defectIDs is required when filter.jql is absent, notes automatic duplicate removal, and explains that testCycleKey is used directly as the API path parameter.
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 opens with a specific verb and resource: 'Link Jira bug keys to a test case execution,' and adds the crucial detail that it looks up testCaseExecutionId from testCycleKey and testCaseKey. This clearly distinguishes it from siblings like qtm4j_link_bugs_to_test_step_execution.
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 and prerequisites: call set_project_context first, the execution must already be started, and JQL should be normalized because it is passed through unchanged. It does not explicitly spell out exclusions or name the sibling alternative for step-execution links, so it stops short of 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?
Beyond the annotations, the description explains automatic resolution of requirement keys to internal IDs, partial failure behavior (warnings with remaining links still applied), and versionNo defaulting to the latest version. This gives an agent a realistic mental model of side effects without contradicting the readOnlyHint=false annotation.
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 long but well organized with Parameters, Output Description, Use Cases, Examples, and Hints. It front-loads the core purpose and then provides operational details; some redundancy with the schema exists, but the structure makes the definition scannable.
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?
The definition covers prerequisites, key formats, parameter selection rules, defaults, warning/partial-failure behavior, and expected output. With a nested filter object and project-context dependency, this is sufficient context for an agent to invoke the tool correctly without external knowledge.
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?
Input schema already documents all four parameters at 100% coverage, but the description adds useful semantics: mutual exclusivity of requirementKeys/filter.jql, automatic ID resolution, and the default version behavior. Examples demonstrate concrete valid combinations.
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 opens with a specific action ('Link one or more Jira requirements to a test case in QTM4J') plus the two mechanisms (requirement keys or JQL filter), making the operation's scope immediately clear. It also distinguishes from sibling qtm4j_link_test_cases_to_requirement and qtm4j_unlink_requirements_from_test_case by direction and verb.
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 context: prerequisite set_project_context must be called first, and the agent must never auto-select a project. It also clearly states the mutual exclusion between requirementKeys and filter.jql and points to search_test_cases for version discovery, but it does not explicitly enumerate when a sibling should be chosen instead.
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 discloses that requirement keys are auto-resolved to internal IDs, that warnings are emitted for unresolved/unlinkable requirements while others still get linked, and that set_project_context must be called first. These insights go beyond the annotations, which only indicate the operation is not read-only, destructive, or idempotent.
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 long but well-structured with clear sections, a front-loaded summary, and practical examples. Some repetition exists (e.g., cycle key format appears in both parameters and hints), but it doesn't obscure the core message.
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 tool with nested objects, mutual exclusion, and a prerequisite, the description covers all operational essentials: prerequisite, key formats, selection mode, output behavior, and partial-failure semantics. Since an output schema exists, repeating return values is unnecessary.
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 coverage is 100%, so the schema already documents all three parameters well. The description adds value by reinforcing auto-resolution, the OR/not-both relationship between requirementKeys and filter, and providing concrete JSON examples for both modes.
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 opens with 'Link one or more Jira requirements to a QTM4J test cycle by requirement keys or JQL filter,' clearly identifying the verb, resource, and method. This unambiguously distinguishes it from sibling tools such as qtm4j_link_requirements_to_test_case and qtm4j_link_test_cases_to_test_cycle.
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 Use Cases section lists four appropriate scenarios, and the Hints section explicitly states prerequisite set_project_context and the mutual exclusivity of requirementKeys vs filter.jql. It doesn't explicitly name sibling alternatives or state when not to use, but the context is sufficiently clear.
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?
Beyond annotations (destructiveHint, idempotentHint), the description reveals atomicity ('Nothing is saved unless every edit applies'), failed-edit statuses ('no_match' or 'ambiguous'), version semantics (newVersion saved as private, in-place keeps visibility, info.version auto-updated), and the resolved/flatten matching trap. All of this is context an agent needs to predict side effects, and nothing 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The narrative is front-loaded and every sentence in it earns its place, but the embedded Parameters section duplicates the input schema nearly verbatim, adding length without new information. Still, the key behavioral details are compactly ordered before the parameter list.
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 5-param tool with a nested edits array, the description plus schema covers everything needed: supported formats, exact-match sourcing, atomicity, version behavior, visibility, and the intended use case. The presence of an output schema covers return value details, so nothing essential is missing.
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% and the schema's per-parameter descriptions are rich (case-sensitivity, base version, private version, atomic edits, oldString sourcing). The description's Parameters section mostly duplicates the schema rather than adding new meaning, so it stays 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?
The description uses a specific verb+resource: 'Apply targeted search/replace edits to a YAML API definition in SwaggerHub Registry.' It names supported formats (OpenAPI/AsyncAPI) and excludes JSON, distinguishing it from broader tools like swagger_create_or_update_api or swagger_standardize_api. The final sentence reinforces its niche: fixing specific issues without regenerating the whole definition.
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 gives an explicit use case: 'Use this tool to fix specific issues in an existing API without regenerating the whole definition.' It also states hard constraints (only OpenAPI/AsyncAPI, JSON not supported) and references swagger_get_api_definition for the source text. However, it doesn't name an explicit alternative for full regeneration, leaving that to inference.
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 key behavioral consequences beyond annotations: omitting newVersion overwrites the current version, while providing it saves as a new version, and it states the return payload includes error count, fixed definition, and a URL. This aligns with destructiveHint=true and adds useful detail without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with the core behavior first, followed by newVersion behavior, return values, and usage cue. The parameter list duplicates the schema somewhat, but the layout remains scannable and efficient.
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?
The description gives enough context to invoke correctly: what the tool does, when to use it, how to avoid overwriting by supplying newVersion, and what the response contains. With an output schema present, no critical operational details are missing.
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 has 100% description coverage, so the baseline is 3. The description repeats the parameter explanations but adds little beyond what the schema already provides; no new parameter semantics are introduced.
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 concrete action: 'Standardize and fix an API definition using AI to ensure compliance with governance policies' and 'automatically fixes them using SmartBear AI.' It clearly names the resource and the fix/overwrite behavior, and the 'fix' verb distinguishes it from scan-only siblings in the same toolset.
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 explicit guidance: 'Use this tool when users ask to standardize, fix, govern, or ensure governance compliance of APIs.' It does not name specific alternatives or exclusions, but the when-to-use instruction is clear and actionable.
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 already mark the tool as destructive, and the description adds critical specifics: OVERWRITE deletes existing steps and associated custom field values, and attachments for missing steps are deleted permanently. It also warns that APPEND only adds steps. This goes well beyond the annotation and gives the agent the risk context needed for safe invocation.
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 longer than average but well structured with bold parameter headers, clear mode definitions, and three practical examples for the non-trivial inline/testCase item structure. The critical destructive mode warning and user-confirmation instruction are front-loaded. It is appropriately sized for the complexity of the items parameter.
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?
The description covers required parameters, both modes, destructive consequences, the two item variants, the user-confirmation requirement, and the expected output (step resource ID and API self URL). Combined with the rich input schema, no critical information appears to be missing for an agent to invoke 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 description coverage is 100%, so the baseline is 3. The description largely repeats the schema's parameter documentation: key format, mode semantics, and the inline/testCase mutual exclusivity. The examples are helpful but do not add new parameter-level meaning beyond what the schema already provides, so no higher score is warranted.
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 opens with a specific verb and resource: 'Create steps for a Test Case in Zephyr.' It also clarifies the two supported step forms (inline definitions and delegation to another test case), which distinguishes this from read-only or execution-step tools. The naming and description together leave no ambiguity about what the tool does.
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 explicitly requires the user to choose between OVERWRITE and APPEND and instructs the agent to always ask before calling. It explains exactly what each mode does, which serves as a clear selection guideline. It does not name sibling alternatives for other step operations, so it stops short of full tool-level routing, but the mode guidance is strong.
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 adds behavioral context beyond the annotations by explaining that maxResults may be lowered by the server, results may be truncated, and the response's maxResults value should be checked. This is valuable for an agent handling pagination. Annotations already cover read-only/idempotent/non-destructive behavior, so the description supplements rather than replaces that information.
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 longer than minimal but well-structured with a one-sentence summary, parameter list, use cases, and examples. Each section earns its place, and the most important scoping information is front-loaded. It could be trimmed by removing duplication with the schema, but overall it is organized and readable.
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 that an output schema exists, annotations cover safety, and the description covers pagination, filtering behavior, and examples, the definition is complete for an agent to invoke this tool correctly. All four optional parameters are explained, and the examples cover both unfiltered and filtered calls.
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 description coverage is 100%, so baseline is 3, but the description goes further by showing parameter combinations in concrete examples with expected outputs, such as filtering by projectKey and folderType. It also repeats and clarifies the maxResults lower-bound behavior, which helps an agent apply the parameters correctly.
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 and resource: 'Get folders', and immediately clarifies optional filters by project and folder type. This distinguishes it from sibling tools like zephyr_get_projects or zephyr_get_test_cycles without requiring schema inspection. The Toolset heading reinforces its scope.
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 'Use Cases' section provides clear scenarios such as listing folders in a project and filtering by folder type, giving an agent concrete context for when to call this tool. It does not explicitly mention alternatives or when not to use it, so it misses the top score, but the guidance is clear and actionable.
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 already mark the operation as destructive and non-read-only, but the description adds meaningful nuance: deletion is reversible, test cases are archived and restorable, and protected tests are rejected. This goes well beyond what annotations provide.
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 front-loaded: first the action, then the reversibility nuance, then the constraint. Every sentence carries useful information with no filler or 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?
For a single-parameter tool with rich annotations and full schema coverage, the description provides everything needed to invoke it correctly. No output schema exists, but return details are not essential for a delete operation with clearly stated behavior.
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 and fully describes testCaseIds. The description only paraphrases the schema by saying deletion is by ID, so it adds no meaningful new parameter-level meaning. Baseline 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?
States a specific verb ('Deletes'), a specific resource ('BearQ test cases'), and a specific selection method ('by ID'). It also clarifies the behavior for protected versus unprotected tests, making the tool's purpose unambiguous and distinct from sibling run/expand 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?
Clearly indicates that this tool works on unprotected tests and that protected tests are rejected, which gives an explicit when-to-use condition. It does not name an alternative tool, but none of the siblings appear to offer the same delete operation, so this is sufficient 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?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description only needs to add non-obvious context. It does so by explaining the output's intended role: supplying valid environment names to test-running tools and revealing the workspace default. There is no contradiction 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?
Two front-loaded sentences deliver the core message with no filler. The optional 'Toolset' and 'Parameters' sections are compact and don't repeat schema details excessively. Every sentence in the description earns its place.
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, idempotent, parameterless listing tool, this description is complete. It states what is listed, how the information should be used, and that the workspace default is included. No output schema exists, but the description's promise of 'valid environment names' and 'workspace default' gives the agent enough to call and interpret the result correctly.
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 input schema is an empty object with 100% coverage, so there is no parameter meaning for the description to add. The description explicitly states 'Parameters: None,' which is accurate and harmless. The baseline of 4 for parameterless tools applies here.
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 opens with a specific verb-resource pair: 'Lists the environments configured in the workspace.' This clearly identifies what the tool does and distinguishes it from the many BearQ test-running and task-management siblings. The added detail about discovering environment names and the workspace default reinforces its unique role.
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 explicitly tells the agent when to use this tool: 'Use this to discover valid environment names to pass to the test-running tools, and to identify the workspace default.' This provides clear context and a concrete purpose. It does not list alternatives or state when not to use it, but for a unique zero-parameter listing tool, the guidance is sufficient.
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?
Beyond the annotations, the description explicitly states a critical behavioral trait: 'This replaces all existing patterns - include all patterns you want to keep.' This warns the agent about the overwrite semantic, which is exactly the kind of behavioral context that matters at invocation time. The idempotentHint and destructiveHint annotations are not contradicted; the description strengthens the agent's understanding of side effects.
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 long but well-structured with clear sections: Toolset, Parameters, Use Cases, Examples, and Hints. The front-loaded summary sentence immediately conveys the core action. Some content is redundant with the schema and the repeated 'Expected Output' lines add bulk, but given the syntax complexity, the length is justified.
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 tool with no output schema, the description provides expected outputs in examples and covers the essential operational concern of pattern replacement. It also includes syntax rules, examples, and workflow hints. It stops short of specifying error cases or exact response structure, but the agent has enough context to invoke the tool correctly.
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 description coverage is 100%, so the schema already documents both parameters fully. The description adds value by providing concrete examples, colon-to-brace conversion guidance, wildcard usage, and hints about project context. It does not introduce new parameter semantics beyond the schema, but the examples significantly improve practical understanding.
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, specific operation: 'Set the network endpoint grouping rules for a project.' This immediately differentiates the tool from the sibling bugsnag_get_network_endpoint_groupings and clarifies the resource being acted upon. The title and Toolset label additionally anchor it in BugSnag performance monitoring.
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 explicit use cases and hints that explain when to apply the tool, such as consolidating API endpoints and grouping dynamic URLs. It also advises using 'Get Network Grouping' first, which orients the agent toward the read-before-write workflow. It does not give formal when-not-to-use guidance, but the 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?
Annotations already signal readOnlyHint=false; the description adds meaningful behavior such as 'Snoozing temporarily silences an error until the specified reopen condition is met' and warns that invalid operations may be rejected. It doesn't cover auth/rate limits, but the mutation semantics 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with a one-line summary, Use Cases, Examples, and Hints, and front-loaded purpose. The Parameters section largely duplicates the schema, adding some redundancy, but the examples and hints justify the length.
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 nested-parameter, nine-operation mutation tool with no output schema, the description is thorough: every operation is covered by an example, conditional requirements are spelled out, and expected outputs are stated. An agent has enough to construct valid calls.
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?
Schema description coverage is 100%, so baseline is 3; the description pulls ahead with examples showing exact JSON payloads for every operation class and Hints that map each reopenIf variant to its required fields (seconds, additionalUsers, occurrences+hours, additionalOccurrences). This adds compositional knowledge 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?
Opens with a specific verb+resource ('Update the status of an error') and immediately enumerates exact operations in Use Cases (open/fixed/ignored, discard, severity, snooze, link issue). The tool name and BugSnag sibling set make it the clear mutation counterpart to read-only tools like bugsnag_get_error and bugsnag_list_project_errors.
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?
Explicit 'Use Cases' list gives concrete scenarios (mark fixed, snooze, discard) that tell an agent when to invoke it. It does not name alternatives or state when not to use it, which would be the next step up.
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 only indicate a non-readonly, non-destructive write. The description adds critical behavioral context: releaseID and name are required, date format depends on instance configuration, isLocked/isArchived defaults, projectID auto-resolution, and verification via FETCH_RELEASES_CYCLES. No contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is well-structured with headings, examples, and numbered hints, but is verbose and repetitious: the release-name resolution workflow is restated multiple times. It could be edited down without losing information.
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 nested-object creation tool with no output schema, the description covers required fields, ID resolution workflow, date format pitfalls, defaults, output shape, and sibling-tool routing. An agent has enough context to invoke it correctly in realistic release/cycle workflows.
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 description compensates for the schema's missing top-level cycle documentation with detailed examples and hints on resolving releaseID, auto-resolving projectID, and applying defaults. However, examples and hints use fields (description, isLocked, isArchived) that are absent from the input schema, which could confuse strict schema-validating agents.
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 opening sentence states a specific action and resource: 'Create a new cycle within an existing release in QMetry'. It is distinguished from the sibling CREATE_RELEASE tool in the hints, so the agent can immediately identify the operation.
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?
Use cases enumerate concrete scenarios, and hints explicitly say when to prefer CREATE_RELEASE, when to create the release first, and when to call FETCH_RELEASES_CYCLES to resolve a release name. This is explicit when/when-not guidance with named 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 only convey readOnly=false and destructive=false. The description goes far beyond by disclosing the mandatory pre-create 'Fetch UDF Layout' step, the CO.MANDATORY_FIELDS_MISSING auto-recovery protocol, silent date-format data loss, and the default-value sweep behavior. These behavioral traits are not derivable from the annotations or schema and are critical for correct invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a very long, repetitive wall of text. Warnings about 'Fetch UDF Layout' appear multiple times, examples 1 and 2 are almost identical, and ASCII-box headers add visual noise. While some length is justified for a complex tool, the redundancy and excessive formatting make it significantly less concise than it should be.
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 14-parameter creation tool with no output schema, the description is remarkably complete: it covers prerequisites, mandatory-field decision rules, default-value handling, error recovery, release/cycle ID resolution, date formatting, UDF workflows, and the return shape (id, dfid). An agent can correctly execute the tool with this information, despite the readability issues.
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 description coverage is 100%, the description adds substantial meaning beyond the schema: environment is explicitly 'free-text' with no ID lookup, affectedRelease/affectedCycles must always be wrapped in arrays, issueType/issuePriority/issueOwner IDs come from customListObjs, and udfFields formats are fully enumerated by fieldTypeName. The examples also demonstrate real payload shapes, including name-to-ID resolution.
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 opens with a specific verb and resource: 'Create a new defect/issue internally in QMetry.' The 'Toolset: Issues' label and the use-case list reinforce that this tool creates issues, clearly distinguishing it from sibling tools like qmetry_update_issue or qmetry_fetch_defects_or_issues. The name alone is also highly descriptive.
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 contextual guidance, including 'Use for creating issues directly from test execution contexts' and a detailed use-case list ranging from basic creation to UDF-linked and test-run-linked defects. However, it never explicitly tells the agent when NOT to use this tool or when to prefer an alternative like qmetry_update_issue, so it stops short of a full exclusion-based usage guide.
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?
Beyond the sparse annotations, the description discloses many behavioral traits: mandatory pre-flight calls, auto-application of defaults, silent data-loss risks when date formats are wrong, API behavior on mandatory-field errors, and automatic error recovery. It also details side effects like auto-created steps and default sweeps. Nothing here contradicts the readOnlyHint=false / destructiveHint=false annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long and heavily repetitive: the STEPS RULE appears in the description, the schema, and multiple hint sections, and examples 1, 2, and 6 are near-duplicates. Box-drawing characters and hundreds of lines bury key facts. While headings and decision tables help structure it, many sentences do not earn their place, so it is not concise.
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 15-parameter tool with nested objects and no output schema, the description is exceptionally complete. It covers mandatory pre-checks, default application, date-format conversion, folder/sub-folder resolution, name-to-ID mapping for system fields, UDF cascade formats, error recovery, and output shape. The only blemish is an internal inconsistency where one hint line says tcFolderID is 'required' while the parameter description says it is auto-resolved, but overall nothing essential is missing.
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?
Schema coverage is low (~40%), but the description compensates thoroughly. It explains tcFolderID auto-resolution, the skipSteps/steps contract, estimatedTime in seconds, releaseCycleMapping version defaulting, UDF value formats per field type, and step cascade format requirements. Multiple worked examples show exactly how to populate parameters in different user scenarios.
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 opens with a specific verb and resource: 'Create a new test case in QMetry with steps, metadata, and release/cycle mapping.' It is clearly distinguished from fetch/update/delete siblings by emphasizing 'new test case' and by describing creation output (new test case ID). The title and name reinforce the same purpose 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?
The description gives strong usage context: a 'Use Cases' list, a 'MOST COMMON' scenario, mandatory pre-create calls to 'Fetch UDF Layout' and 'Fetch QMetry Project Info', and explicit rules for when to auto-generate steps vs. skip them. It does not explicitly name an alternative like qmetry_update_test_case for existing cases, though the tcStepID note ('omit on create — only used when updating existing steps') hints at the create/update boundary.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: the response shape (JSON object with data property), the presence of a UDFTypeData map, and the important warning that DefectId must be sourced from data[<index>].id rather than guessed from entity keys.
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 long but well-structured with clear sections (Toolset, Parameters, Output, Use Cases, Examples, Hints). The critical disambiguation information justifies the length, though some points like UDFTypeData are repeated more than necessary.
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?
With no output schema, the description's output description fills that gap. It covers the key parameter, workflow, example invocation, expected output shape, and the entity-key resolution path. For a two-parameter read-only tool with strong annotations, this is complete enough for an agent to call it correctly.
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?
Even though schema coverage is 100%, the description adds substantial meaning: it explains the critical source of defectId, warns against deriving it from the entity key suffix, provides an AUTO-RESOLVE workflow for entity keys, and gives a concrete example. This goes well beyond the schema's 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 opens with a specific verb and resource: 'Fetch full detail data for a QMetry issue including UDF field values.' This clearly distinguishes the tool from list-oriented siblings like qmetry_fetch_defects_or_issues and mutation tools like qmetry_update_issue, while also signaling it is single-issue detail retrieval.
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 explicit use cases ('Get UDF field values', 'Retrieve full issue metadata', 'Inspect issue details before updating') and a detailed workflow for resolving entity keys. It does not explicitly name alternatives to avoid, but the context and workflow make 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.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior, and the description adds substantial behavioral context: default project key, default pagination, default sort order, JSON-string filter/sort syntax, and the important gotcha that filtering must use 'isArchived' even though responses show 'isPlatformArchived'. It also clarifies archive status value meanings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is heavily over-long and repetitive: parameter defaults are restated from the schema, eight overlapping use cases are listed, seven examples cover mostly the same scenarios, and ten hints repeat earlier information. It is well-sectioned, but many sentences do not earn their place.
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?
Despite lacking an output schema, the description provides enough through its output description, examples, and hints: expected output shape, pagination behavior, filtering patterns, archive-status handling, and default behavior. An agent can confidently select and call this tool without external lookups.
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?
Though the schema already documents all six parameters with 100% coverage, the description adds significant practical meaning beyond it: concrete JSON examples for filter and sort, common filter fields, archive status semantics, and the empty-payload convention for defaults. This is exactly the kind of extra guidance agents need to invoke it correctly.
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 opens with a specific verb and resource: 'Fetch QMetry platforms from the current project.' It clearly distinguishes this tool from sibling fetch tools (releases, builds, test cases) by naming the exact resource and scope.
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 'Use Cases' section gives clear context for when to call this tool, such as fetching all platforms, filtering by name or archive status, and retrieving paginated results. It does not explicitly name alternatives or exclusions, but the fetch-versus-link sibling tools are distinct enough that the intended usage is unambiguous.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description adds meaningful behavioral context beyond annotations: it requires the internal numeric ID rather than the entity key, explains that version is required with 1 meaning latest, and states that the response includes all custom fields and metadata. There is no contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with bolded sections and front-loads the core purpose, but it is redundant: parameter text duplicates the schema, Output Description and Expected Output repeat each other, and several Use Cases restate the same point. The useful hints are buried after a lot of repetitive material.
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?
Even without an output schema, the description provides the complete calling picture: required parameters, how to resolve entityKey to numeric ID, version defaulting, expected output fields, and a concrete example. For a read-only fetch of a single requirement by ID/version, nothing essential is missing.
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 description coverage is 100%, so the baseline is 3, but the description adds value by giving concrete guidance: version defaults to 1 for latest, entityKey must first be resolved via FETCH_REQUIREMENTS, and an example payload shows realistic values. It repeats the schema's parameter text, but the hints and example make the numeric-ID/version semantics more actionable.
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 opens with a specific verb and resource: 'Get detailed information for a specific QMetry requirement by numeric ID.' It further differentiates itself from the list-oriented sibling by stating this tool returns details 'not available in the list view' and by explicitly warning that the numeric ID is not the entity key.
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 Hints section explicitly tells the agent when to use this tool versus an alternative: if the user provides an entityKey, first call FETCH_REQUIREMENTS to resolve it, then call this tool. It also gives the default version behavior ('use 1 for the latest version unless user specifies otherwise') and identifies this as the tool for complete requirement information beyond the list view.
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 already declare readOnlyHint, idempotentHint, and destructiveHint, but the description adds genuinely important behavior beyond those: filters persist in the production UI, viewId is auto-resolved from project info, and the same projectKey must be used consistently. The filter-persistence warning is a non-obvious side effect that annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear purpose and uses sections, but it is heavily over-sized: it duplicates all 16 parameter descriptions, includes six large examples, and contains a rambling Hints section with broken numbering and repeated warnings. Many sentences restate schema content and could be removed without losing critical information.
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 16-param tool with no output schema, the description is nearly complete: it covers output shape, pagination parameters, filter syntax, release/cycle ID sourcing, and the critical projectKey workflow. The main gap is the lack of a detailed test-case object schema, but the expected-output examples largely compensate.
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 16 parameters (100%), so the baseline is 3. The description adds real value through concrete filter JSON examples, valid filter field names, sort fields, and release/cycle syntax using IDs rather than names. The Parameters section mostly duplicates schema text, but the examples and hints meaningfully extend parameter understanding.
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 first sentence names the specific operation and resource ('Fetch QMetry test cases') and immediately adds the auto-viewId behavior that distinguishes the tool. The use cases and examples further make the list-vs-single-test-case distinction clear, especially relative to qmetry_fetch_test_case_details.
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 Hints section explicitly states when to use this tool ('List all test cases', 'Export test cases') and when not to (single test case lookup), explicitly directing the agent to use the 'Fetch Test Case Details' sibling instead. It also prescribes fetching release/cycle IDs via FETCH_RELEASES_AND_CYCLES before filtering, which is actionable routing guidance.
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 already declare readOnlyHint/idempotentHint/destructiveHint, and the description adds substantial non-obvious behavior: getLinked flips between linked and unlinked test cases, showEntityWithReleaseCycle restricts results, filter conditions combine with AND, and pagination is supported. It also documents typical filter ID mappings and default values. No contradiction 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear headings and front-loads the core purpose, but it is very long: 10 use cases, 15 examples, and 24 hints contain substantial repetition of the parameter documentation. Useful for a complex tool, yet several examples and hints could be consolidated.
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 13-parameter read-only tool with no output schema, the description provides an output summary, default behaviors, detailed filter capabilities, pagination guidance, and prerequisite dependencies like numeric rqID resolution and release/cycle ID lookup. An agent has nearly everything needed to call this tool correctly.
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 coverage is 100%, so the baseline is 3, but the description adds genuine value with concrete filter JSON examples for entityKeyId, priorityAlias, testCaseStateAlias, isArchived, and other fields. Hints additionally clarify that releaseID/cycleID should come from FETCH_RELEASES_AND_CYCLES and that rqID is not the entity key. The parameter table itself is redundant, but examples and hints exceed the baseline.
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/resource pair: 'Get test cases that are linked (or not linked) to a specific requirement in QMetry' and labels the Toolset as 'Requirements', which differentiates it from sibling tools that fetch requirements linked to test cases or test-suite-related links. The emphasis on numeric rqID over entity key further clarifies what the tool targets.
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 clear contextual guidance: use FETCH_REQUIREMENTS to resolve an entityKey to numeric rqID, get release/cycle IDs from FETCH_RELEASES_AND_CYCLES before filtering, and use getLinked=false for gap analysis. It enumerates use cases like traceability and impact analysis, though it doesn't explicitly name exclusion scenarios or direct 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?
Beyond the readOnlyHint/idempotentHint/destructiveHint annotations, the description discloses meaningful behavior: key auto-resolution to internal ID, default-to-latest version, substring case-insensitive filters combined with AND, pagination defaults (50/100), and shared-step representation with decimal seqNo values. This gives the agent accurate expectations without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and organized into Parameters, Output Description, Use Cases, Examples, and Hints. It is verbose and repeats key-format, filter, and sort details across sections, but the structured format keeps it navigable for an agent.
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?
The tool is complex (nested filter object, versioning, pagination, sorting, shared steps), and the description covers all of it, including a required project-context prerequisite, key discovery via search_test_cases, and output semantics. An agent can invoke this tool correctly with the information provided, and the presence of an output schema further reduces missing context.
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 goes well beyond the schema: it explains the '{PROJECT_KEY}-TC-{number}' key format with examples, clarifies filter substring and AND behavior, details the 'fieldName:order' sort syntax with allowed fields, and documents the output shape (total, startAt, maxResults, data, shareable). This substantially increases parameter understanding.
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 opens with a specific verb and resource: 'Get test steps for a test case by its key and version.' It clearly describes the function and key format, but it does not explicitly differentiate itself from sibling tools that also retrieve test steps from other providers (e.g., zephyr_get_test_case_steps, qmetry_fetch_test_case_steps), so it stops short of full differentiation.
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 clear 'Use Cases' list and workflow hints, including the prerequisite 'set_project_context must be called before this tool' and 'Use search_test_cases to discover test case keys before calling this tool.' It does not explicitly mention when not to use the tool or name alternative step-retrieval tools, but the context is strong.
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?
Beyond the annotations, the description reveals important behaviors: automatic resolution of keys to internal IDs and latest versions, auto-filling of projectId from active project context, and partial-failure handling where unresolved keys are reported as warnings while other test cases are still linked. It also clarifies the expected output with linked: true and warning details.
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 long, but it is well organized with clear sections for parameters, use cases, examples, and hints. The parameter section somewhat duplicates the input schema, but the examples and prerequisite hints justify the length by clarifying usage.
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 complex nested filter object, the description is complete: it covers prerequisites, key formats, the OR semantics between testCaseKeys and filter, auto-filled projectId, sort fields, output confirmation, and warning behavior. An agent has enough information to invoke the tool correctly without external knowledge.
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 coverage is 100%, so the baseline is 3, but the description adds value by explaining automatic ID resolution, the mutual exclusivity of testCaseKeys and filter, the auto-fill behavior of projectId, and key format conventions. The examples illustrate realistic usage patterns that help an agent construct valid parameter combinations.
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 states a clear, specific action: linking test cases to a Jira requirement by either test case keys or filter criteria. It clearly identifies the resource and direction of the operation, though it does not explicitly differentiate itself from the sibling tool qtm4j_link_requirements_to_test_case, which performs the reverse association.
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 context including the prerequisite that set_project_context must be called first, the requirement to provide either testCaseKeys or filter but not both, and specific use cases such as traceability and sprint planning. It also states when to use filter instead of testCaseKeys and warns against manually setting projectId.
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?
Beyond the annotations, the description discloses that keys are resolved automatically, unresolved test cases are reported in warnings while others are still linked, and startNewExecution controls whether fresh executions are created. It also clarifies that projectId in filter must not be set manually. These are meaningful behavioral details not present in structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long, but its length is justified by 11 parameters, a complex filter object, prerequisites, examples, and key format hints. It is well front-loaded and organized into sections, though some hints repeat information already present in the parameter list.
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?
The description is highly complete for a complex mutation tool: it names the mandatory prerequisite, explains both input modes, gives key formats, provides warnings behavior, describes the output, and includes realistic examples. Since an output schema exists, not detailing every return field is acceptable.
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 the schema already documents every parameter (100% coverage), the description adds essential semantics: automatic resolution to internal IDs, mutual exclusivity between testCaseKeys and filter, format constraints for dates and times, and guidance on how filter fields like excludeCycleId or projectId behave. This goes well beyond the schema definitions.
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 first sentence states a specific action and resource: 'Link test cases to a QTM4J test cycle by test case keys or filter criteria.' It clearly separates this from sibling tools like qtm4j_link_requirements_to_test_cycle by specifying test cases and the test cycle as the target.
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 clear operational guidance: set_project_context must be called first, testCaseKeys and filter are mutually exclusive, and projectId is auto-filled. It provides concrete use cases and examples. It does not explicitly state 'when not to use this tool' or name alternatives, but the context is strong enough for an agent to select it appropriately.
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?
Beyond the read-only/idempotent annotations, the description discloses backend-enforced maxResults=50, auto-populated projectId, AND/OR filter combination, case-sensitive date format, and searchText semantics. These are behavioral details an agent needs and are not stated 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with clear headings and front-loaded purpose, but it is heavily redundant: 24 use cases largely overlap with 16 examples and the hints. Many lines could be condensed without losing information, so it does not meet the 'every sentence earns its place' bar.
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 search tool with a nested filter object and no required parameters, the description covers the full calling context: prerequisite, parameter semantics, pagination loop, sort format, filter logic, response shape, and representative examples. Nothing needed to invoke it correctly is missing.
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 documents all parameters in detail (100% coverage), so the baseline is 3. The description adds meaningful operational semantics: projectId auto-population, URL-query versus body placement, no ID resolution for filter values, and pagination increment guidance. This exceeds the schema but shares much of its content.
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 opening sentence names a specific verb ('Search and filter'), resource ('test cases in a QTM4J project'), and supporting behaviors ('pagination, field selection, and sorting'). It is immediately distinguishable from siblings like qtm4j_search_test_cycles or qtm4j_get_test_steps, and the Toolset label reinforces scope.
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 extensive usage context through 24 use cases and explicit prerequisites (set_project_context, never auto-select a project). It does not explicitly name alternative tools or say when not to use this tool, but the search/filter scope and required context are clear enough for selection.
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 well beyond the provided annotations by disclosing that the operation fetches the current cycle and merges updates, that null explicitly removes properties, and that plannedStartDate and plannedEndDate cannot be cleared. It also states through examples that no output is expected, adding practical behavioral clarity.
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 critical behavioral guidance is front-loaded in the opening paragraph, and the examples are well-structured and purposeful. The description is somewhat long because it repeats many parameter details already present in the schema, but the organization keeps it usable.
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 13-parameter update tool with no output schema, the description covers the key invocation behaviors: merge semantics, null deletion, date restrictions, and common update workflows via examples. Minor gaps remain around the relationship between testCycleIdOrKey and the separate id/key fields, but the schema and annotations cover the essential contract.
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 description coverage is 92%, so the schema already documents most parameters. The description adds value through six examples that clarify how to use nested status/folder objects, customFields, date formats, and null-based property removal, which the schema alone does not fully convey.
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 first sentence, "Update an existing Test Cycle in Zephyr," pairs a specific verb with a concrete resource and a platform scope. This clearly distinguishes it from siblings like zephyr_create_test_cycle, zephyr_get_test_cycle, and the other zephyr update/execute operations.
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 establishes clear context by emphasizing "existing" Test Cycle and explains merge semantics rather than replacement. It does not explicitly name alternatives or state when not to use the tool, but the wording is sufficient to route an agent away from create/get variants.
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 read-only and idempotent. The description adds valuable context beyond those annotations: the tool allows other BugSnag tools to be called without projectId, and the distinction between returning a project vs. returning nothing changes how subsequent tools must be invoked.
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 front-loaded with the core purpose and then organized into Toolset, Parameters, Use Cases, and Hints. It is longer than strictly necessary, but each section earns its place by helping an agent decide when and how to use the tool.
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 parameterless tool with comprehensive hover annotations and no output schema, the description fully covers what the agent needs: what the tool does, what return scenarios mean, and what alternative to call if no current project is set. Nothing important is missing.
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?
With zero parameters and 100% schema description coverage, there is nothing for the description to add about parameter meaning. The description confirms 'Parameters: None' and focuses on behavioral context, which 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 and resource: 'Retrieve the current project on which tools should operate by default.' It clearly distinguishes this from the sibling bugsnag_list_projects by focusing on the 'current' default project rather than all accessible projects.
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 Use Cases and Hints sections give explicit guidance: call this to understand whether a current project has been set, expect other BugSnag tools to use that project if one is returned, and fall back to listing projects if none is returned. It also explains when an explicit project ID will be required instead.
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 already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds substantial behavioral detail: default filters, pagination mechanics, nextUrl usage rules, the requirement not to modify the URL, the meaning of output fields, and the possibility of an empty result set. This goes well beyond the annotations and schema.
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 long but well-structured into Parameters, Use Cases, Examples, and Hints. Each section earns its place: examples illustrate complex filter syntax, hints cover pagination pitfalls and empty results, and the structure is scannable. There is minor duplication of schema details, but it is purposeful reinforcement rather than filler.
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 tool with 6 parameters, nested filter objects, no output schema, and non-obvious pagination behavior, the description is remarkably complete. It covers all parameters, defaults, filter discovery, time format options, AND logic, output structure, next-page handling, and even the no-results case. An agent has everything needed to invoke and paginate correctly.
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 real semantic value to every parameter: projectId's optionality and current-project behavior, filter format and time syntax, sort/direction/perPage defaults, and the strict rules around nextUrl. The examples demonstrate exact filter JSON structures, making parameter usage far clearer than the schema alone.
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 opens with a specific verb-resource pair: 'List and search errors in a project using customizable filters and pagination.' It clearly identifies what the tool does, but it does not explicitly differentiate itself from sibling tools like bugsnag_get_error or bugsnag_list_events_on_an_error, so the distinction is implied rather than stated.
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 concrete use cases (debugging recent errors, generating reports, monitoring trends) and explicitly instructs to use the List Project Event Filters tool first to discover valid filters. It does not state when to prefer another error-related tool instead, so no explicit exclusions or sibling selection guidance is present.
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 already indicate readOnly, idempotent, and non-destructive. The description adds substantial behavioral context by detailing the response structure (viewIds, folderPaths, dateTimeFormatID/New), explaining how to extract viewId from latestViews.TC.viewId, and providing an exhaustive date format mapping that is critical for downstream API calls.
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 well-structured with clear sections (Toolset, Parameters, Output, Use Cases, Examples, Hints). It is lengthy, especially the date format hints, but that detail is necessary and each section serves a purpose. Slight redundancy in the numbered hints keeps it from a 5.
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?
With no output schema, the description takes on the full burden of explaining return values. It thoroughly covers the response fields, provides two examples with expected outputs, and includes critical date format instructions. It is complete for an agent to know when to call and how to interpret results.
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 coverage is 100% and includes a description and default for projectKey. The description adds value with examples, clarification that 'default' is used when unspecified, and context that folderPath for root is an empty string (though that's not a direct parameter). It goes beyond the schema but is not exceptionally rich.
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 it fetches QMetry project information including viewId and folderPath, and explicitly notes this is needed for other operations. This distinguishes it from sibling tools like qmetry_fetch_qmetry_list_projects and qmetry_set_qmetry_project_info.
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 explicit use cases and the hint 'Always call this first when user doesn't provide viewId or folderPath', giving clear when-to-use guidance. However, it doesn't explicitly contrast with alternative tools (e.g., list projects, set project info), so it lacks full when-not-to-use exclusions.
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 already mark the operation read-only and idempotent, and the description adds substantial behavioral detail: the unified-table rendering rule, the hasTcRunUdf flag behavior, null UDF handling, HTML stripping, automatic UDF metadata enrichment, and the tcRunID-needed-for-linked-issues rule. It also warns about forbidden output patterns, making side effects/response behavior highly predictable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long and repetitive: the UDF pivot rule, mandatory columns, and hasTcRunUdf behavior are restated in the main description, Output Description, Use Cases, Examples, Hints, and final TEST RUN UDF SUPPORT section. This redundancy makes parsing harder despite the first sentence being clear and the content being front-loaded.
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, and the description compensates with a detailed output contract: required fields, UDF array shape, top-level flags, example tables, filter fields, pagination, and the linked-issues workflow. For a complex fetch tool with 8 parameters and a rich response, nothing essential is missing.
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 coverage is 100%, so parameters are already documented; the description goes beyond by providing filter field names, JSON filter examples, date comparison syntax, status values, archive-value semantics, and entity-key-to-tcid resolution guidance. A small deduction because the Parameter section largely repeats the schema descriptions rather than condensing them.
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 opens with a specific action and resource: 'Get execution records for a specific test case by numeric ID, including Test Run UDF values.' It also distinguishes itself by explicitly calling out what it is not (e.g., 'Fetch Test Run UDF Values' for test suite runs) and has unique sibling names like fetch_executions_by_test_suite that an agent can contrast against. The verb is concrete and the resource is unambiguous.
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 is explicit about when to use the tool, when not to use related tools, and how to chain it: it mandates resolving entity key to tcid first, forbids chaining 'Fetch Test Run UDF Values', and gives a complete three-step workflow for linked issues requiring tcRunID. It also lists 13 use cases and details filter semantics, leaving no ambiguity about invocation context.
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 already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so no contradiction exists. The description adds substantial behavioral context beyond that: the exact response shape (fields array + lookupOptions map), the empty-lookupOptions failure mode and required user action, the mapping between fieldID and projectUserFieldID, and the resolved-value behavior for LOOKUPLIST/MULTILOOKUPLIST fields. It transparently discloses a known API limitation and instructs the agent not to guess.
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 well-structured with clear Markdown sections (Toolset, Parameters, Output Description, Use Cases, Examples, Hints) and is front-loaded with the core purpose. It is on the verbose side — the Examples section largely repeats the Output Description, and Hints #3 and #5 are dense — but every major section earns its place given the complexity of UDF metadata and its downstream use in bulk updates.
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?
Despite having no output schema, the description fully specifies the output structure, enumerates use cases, gives an invocation example, and documents edge cases (empty lookupOptions, DATE format, lookup item id semantics). It even coordinates with sibling tools like Bulk Update Test Run UDFs and Fetch Test Run UDF Values. For a single-parameter read-only tool, nothing an agent needs to call it correctly is missing.
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 coverage is 100%, so the schema already documents projectKey with type, default, and description. The description's Parameters section largely repeats the schema, adding no new semantic detail beyond the context that fields are 'configured in this QMetry project.' Per the baseline rule for high schema coverage, a 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 opens with a specific verb and resource: 'Fetch the metadata (field definitions) for all Test Run UDF ... configured in this QMetry project.' It clearly distinguishes itself from the sibling qmetry_fetch_test_run_udf_values (fetches values, not metadata) and qmetry_bulk_update_test_run_udfs (writes, not fetches). The intended output — field names, labels, types, and fieldID — is explicit.
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 Hints section explicitly says 'ALWAYS call this tool before Bulk Update Test Run UDFs' and states it is the authoritative source of fieldIDs, with explicit 'do NOT guess or hard-code' guidance. It also provides concrete use cases, including when a user just asks what Test Run UDF fields are available, and explains how LOOKUPLIST/MULTILOOKUPLIST values are resolved by sibling value-fetching tools. This is explicit when-to-use and when-not-to-guess guidance, naming the relevant alternative.
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 only indicate readOnlyHint=false and destructiveHint=false, so the description carries the behavioral burden and exceeds it. It discloses the version-creation behavior, automatic retry on TC.VERSION_NOT_SYNCED, silent data-loss risk for date-format mismatches, default-value sweeping, and anti-duplication semantics for tcStepID. There is no contradiction 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.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long and repetitive: version-creation workflows, anti-duplication rules, and TC.VERSION_NOT_SYNCED guidance are repeated multiple times with overlapping examples. Headings help organization, but the length and redundancy undermine scannability for an agent.
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?
Despite no output schema, the description includes an output description, twelve use cases, nine fully worked examples, field-resolution workflows, error handling, retry logic, and UDF layout prerequisites. For a 26-parameter tool with nested objects, this is functionally complete.
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 description adds substantial meaning beyond the schema: it warns about the exact 'tcID' parameter name, clarifies tcVersionID versus tcVersion, explains withVersion/isStepUpdated/updateOnlyMetadata, and gives detailed UDF field rules. However, several examples use 'testcaseOwner' while the schema defines 'owner', and one example passes folderPath as a number while the schema types it as a string, which could mislead an 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 opens with a clear verb and resource: 'Update an existing QMetry test case OR create a new version by tcID and tcVersionID, with auto-resolution from entityKey.' It states exactly what the tool does and differentiates it from sibling create/fetch tools in the QMetry toolset.
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 contains explicit mode guidance: MODE 1 (withVersion=true) versus MODE 2 (update existing version), with concrete user-phrase mappings, required fields for each mode, and instructions to ask the user when ambiguous. It also specifies when to apply and when not to apply the TC.VERSION_NOT_SYNCED retry pattern.
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 adds substantial behavior beyond annotations: it discloses automatic injection of projectId, auto-resolution of names to IDs, fallback warnings when resolution fails, the fixed 'MCP Generated' folder placement, date format capitalization requirements, and the plannedStartDate <= plannedEndDate constraint. No stated behavior 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well organized with Parameters, Output Description, Use Cases, Examples, and Hints. The parameter section somewhat duplicates the input schema, but the examples and targeted hints earn their place and make the tool easier to invoke correctly.
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 tool with 10 parameters, one required parameter, no enums, and an output schema, the description is unusually complete. It covers prerequisites, project context, default folder behavior, failure/warning behavior, date relationships, output shape, and realistic examples. Nothing essential is missing.
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 coverage is 100%, so the baseline is 3. The description adds value through examples, human-readable resolution semantics, warning behavior for unresolved values, and date-format hints such as capitalizing the month. It mostly echoes the schema but enriches it with operational guidance.
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 opens with a specific verb and resource: 'Create a new test cycle in a QTM4J project.' It also adds distinguishing context such as auto-resolving priority/status names, creating in the 'MCP Generated' folder, and injected projectId, which separates it from sibling create tools for Qmetry and Zephyr.
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 clear when-to-use guidance: the prerequisite set_project_context must be called first, project auto-selection is forbidden, and folderId must not be passed because cycles always go to 'MCP Generated'. It does not explicitly name an alternative such as qtm4j_update_test_cycle for edits, but the create-versus-update boundary is strongly implied by the name and content.
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 already establish read-only, idempotent, non-destructive behavior. The description adds valuable behavioral context beyond those annotations: test case keys are auto-resolved to internal IDs, versionNo defaults to latest, pagination follows a startAt/maxResults pattern, and a project context must be set beforehand. No hidden mutation or 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but well-organized with clear sections: parameters, output, use cases, examples, and hints. Some redundancy exists, such as key format being repeated in the intro, parameter list, and hints, but the structure makes the information easy for an agent to consume and the key details are front-loaded.
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 read-only retrieval tool with five parameters and an output schema, the description is complete: it covers prerequisites, key formatting, pagination, version selection, examples, and output shape. An agent has everything needed to select and invoke the tool correctly, including how to handle multi-page results.
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 coverage is 100%, so the parameter section largely duplicates the schema. However, the description adds operational semantics through examples and hints: how versionNo interacts with search_test_cases, how to paginate by incrementing startAt by maxResults until startAt >= total, and concrete request/expected-output pairs that illustrate parameter usage.
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 opening sentence names a specific verb ('Retrieve'), a specific resource ('Jira requirements linked to a specific test case in QTM4J'), and notes automatic key-to-ID resolution. This clearly differentiates the direction from sibling tools like qtm4j_get_linked_test_cases_for_requirement, which operates in the reverse direction.
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 'Use Cases' section gives concrete application contexts: checking requirement coverage, auditing traceability, retrieving keys for downstream operations, and release verification. It also documents the set_project_context prerequisite with a strong 'NEVER auto-select a project' warning, though it does not explicitly name alternatives or state when not to use this tool.
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 already mark this as read-only, idempotent, and non-destructive. The description adds valuable behavior beyond that: cycleKey is automatically resolved to an internal UID, pagination should use startAt incremented by maxResults until startAt >= total, and project context is required. None of this 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with clear sections for parameters, output, use cases, examples, and hints. The opening sentence is front-loaded and immediately informative. Some content duplicates the input schema and hints repeat parameter details, so it is not perfectly concise, but the operational guidance and examples justify the length.
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?
The description covers purpose, prerequisites, parameter semantics, pagination behavior, output shape, and realistic use cases. It also provides multiple examples. With an output schema already present, the description does not need to explain return values in depth. Nothing an agent needs to call this tool correctly appears to be missing.
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 input schema already documents all four parameters, including defaults and ranges, so baseline is 3. The description adds value with examples showing exact payloads, the auto-resolution of cycleKey, and clarification of how startAt and maxResults drive pagination. It does not meaningfully explain parameters not already in the schema, but the examples and hints push it above baseline.
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 opens with a specific verb and resource: 'Retrieve Jira requirements linked to a QTM4J test cycle.' This clearly states the direction of the relationship and distinguishes it from siblings like qtm4j_get_linked_test_cases_for_requirement or qtm4j_get_linked_requirements. The 'Toolset: Test Cycles' label reinforces the scope.
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 concrete use cases such as checking requirement coverage, auditing traceability, and retrieving keys before release. It also states an explicit prerequisite: set_project_context must be called first and a project must never be auto-selected. It lacks explicit 'when not to use this tool' routing to alternatives, so it stops short of a 5.
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 already mark the tool as read-only and idempotent, and the description adds substantial behavioral context: the cycleKey is resolved to an internal UID, projectId is auto-filled from project context, fields is sent as a query parameter while filter goes in the body, and date ranges use a specific format. This is exactly the kind of operational detail an agent needs beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well structured with clear headings: summary, parameters, output, use cases, examples, and hints. It is front-loaded with the core purpose, but it is somewhat long and repeats allowed fields, sort fields, and default values across the parameter section and hints, which keeps it from being maximally concise.
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 a complex nested filter object, output schema, and six parameters, the description is highly complete. It covers prerequisites, key formats, pagination, sorting, filtering, output shape, and concrete examples, leaving little ambiguity for an agent deciding how to invoke the tool correctly.
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 coverage is 100%, so the baseline is 3, but the description adds practical meaning beyond the schema: examples show realistic filter combinations, the projectId auto-fill behavior is emphasized, and hints clarify request-body vs query-parameter placement. Most parameter semantics are already in the schema, so this is solid but not exceptional.
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 opens with a specific verb and resource: 'Search and filter test case executions linked to a QTM4J test cycle.' It also names the toolset ('Test Cycles') and explicitly mentions pagination, field selection, sorting, and filters, which clearly distinguishes it from sibling tools like qtm4j_search_test_cases or qtm4j_get_linked_test_cases_for_requirement.
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?
Use cases list concrete scenarios such as listing test cases in a cycle, finding failed or blocked executions, and filtering by assignee or environment. The description also gives an explicit prerequisite: set_project_context must be called first and project selection must never be automated. It does not explicitly name alternatives or say when not to use the tool, so it falls short of a 5.
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 only state readOnlyHint=false, idempotentHint=false, destructiveHint=false. The description adds substantial behavioral detail: internal map-ID lookup, name-to-ID resolution with drop-and-warn semantics for unresolved names, and cloneFrom causing the server to ignore all other body fields. It also discloses the exact success indicator ('created: true (set when server returns 204)').
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 well-structured with summary, toolset, parameters, output description, use cases, examples, and hints, and the high-level behavior is front-loaded. It is somewhat long and repeats schema-provided parameter details, but the organization keeps it navigable and each section contributes to correct usage.
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 9-parameter write operation, the description covers the full invocation contract: key formats, date/time formats, clone semantics, name-resolution warnings, prerequisite setup, and expected output. Four examples span minimal, fully specified, clone, and custom-field scenarios, leaving no significant gap for an agent to invoke the tool correctly.
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 description coverage is 100%, so the baseline is 3, and the description's parameter list largely mirrors the schema. However, the Examples and Hints add operational meaning beyond the schema: normalize user-provided dates, always include seconds for actualTime, and account ID vs display name emphasis. These extras justify a stronger score.
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-resource pair ('Start a new test case execution within a test cycle') and clarifies internal behavior ('Looks up the internal map ID... resolves environmentId and buildId names to numeric IDs'). The Use Cases section enumerates the two intended scenarios, clearly distinguishing this from sibling tools like qtm4j_update_test_case_execution.
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 explicit use cases ('Start a fresh execution... Clone an existing execution') and a prerequisite hint ('Call set_project_context before this tool'). It doesn't explicitly name alternative tools to use for other operations or state when not to use this tool, so it stops short of a 5.
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?
Beyond the annotations, the description discloses meaningful behavior: it 'looks up testStepExecutionId' from keys and sequence number, resolves executionResultId names case-insensitively to numeric IDs including project-specific custom results, and warns that unresolved names are surfaced in content. It also specifies null-clearing semantics for comment and actualResult, and includes output examples showing the confirmation shape.
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 longer than average but well-structured with sections for Toolset, Parameters, Output, Use Cases, Examples, and Hints. The main verb and resource are front-loaded. While the parameter list duplicates schema content somewhat, the examples and behavioral notes justify the length.
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?
The description is complete for a moderate-complexity update tool: it specifies required context (set_project_context), minimum input requirements (at least one updatable field), lookup logic, output confirmation fields, warning behavior, and concrete examples. With an output schema present and no nested objects, 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.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds valuable semantics such as 'Used directly as the API path parameter', the project-specific and case-insensitive resolution of executionResultId, and null-to-clear behavior. Examples illustrate realistic parameter combinations, which pushes this above the baseline.
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 opens with a specific verb and resource: 'Update a test step execution (execution result, actual result, comment)', which immediately distinguishes it from test case execution updates. It also explains the lookup path through testCycleKey, testCaseKey, and step sequence number, removing ambiguity about which entity is modified.
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 'Use Cases' section clearly states the two intended scenarios: setting an execution result and updating actualResult/comment. The hint 'Call set_project_context before this tool' provides a necessary precondition, and 'At least one updatable field must be provided' gives a practical guardrail. It does not explicitly name alternatives or when not to use this tool, but the context is sufficiently clear.
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?
Beyond the readOnly/idempotent annotations, the description reveals the blocking nature, the terminal-state conditions, the timeout possibility, and the verbatim SSE event sequence returned. This is meaningful behavioral context an agent needs to decide if calling this tool is appropriate.
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 tightly packed sentences deliver the core behavior, the trigger conditions, the return shape, and the sibling alternative. The parameter listing is minimal and redundant but harmless. No wasted words.
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 a single parameter, clear blocking semantics, stated return content, and a sibling pointer, the description covers everything an agent needs to decide whether to invoke it and what to expect in response. The lack of an output schema is mitigated by the explicit SSE event description.
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 the description repeats the schema's parameter text ('BearQ task ID') without adding new meaning. No additional format, constraints, or usage nuance is provided beyond what the JSON schema already documents.
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 ('Blocks') and resource ('BearQ task'), plus the exact return payload ('full ordered sequence of SSE events... verbatim'). It clearly distinguishes this from sibling bearq_get_task_status by framing it as the blocking/long-polling counterpart.
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 explains when to use the tool ('Blocks for the lifetime of the task') and when not to, recommending 'bearq_get_task_status' for a quick check. This gives an agent actionable routing guidance without ambiguity.
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 adds substantial behavioral context beyond the annotations: it reveals the PUT endpoint, warns that status IDs are project-specific and must never be hardcoded, explains that incorrect IDs will update tests with wrong statuses, and documents conditional authentication. It also explains the multi-call behavior required for updating all executions of a test suite.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is heavily over-developed: parameter semantics are repeated in the schema, prose, examples, and hints; the status ID resolution guidance appears multiple times; and there are seven use cases plus seven examples, many of which are redundant. It is organized with headers and front-loaded intent, but far from appropriately sized.
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 complex 13-parameter mutation tool with no output schema, the description is remarkably complete. It covers all required and optional parameters, external data dependencies, conditional auth, common status names, exact ID sourcing methods, and expected output shape, so an agent can invoke and sequence this tool correctly.
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?
Schema coverage is already 100%, but the description still adds considerable value by clarifying exact parameter naming requirements (entityIDs vs tcRunIDs, qmTsRunId vs tsRunID), value formats, defaults, how to source IDs from other APIs, and which parameters are required. The examples map parameters to realistic payloads.
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 opening sentence clearly identifies the action ('Update execution status') and the resource ('test case runs') with a scope qualifier ('individual or multiple... in bulk'). The use cases reinforce this by enumerating single, bulk, and automation-driven updates, making it easy to distinguish from sibling fetch/create tools.
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 provides explicit workflows for when to use this tool, including how to fetch entityIDs, qmTsRunId, and runStatusID from sibling tools. It also explains when isBulkOperation should be true/false, when Part 11 credentials are needed, and how to handle multi-execution updates by repeating calls.
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?
Beyond annotations (readOnlyHint=false), the description discloses critical runtime behavior: the operation is asynchronous and success only means the job was queued, not completed (Hints 1 and 7). It also warns that wrong fieldIDs "will silently fail or update the wrong field," describes append-vs-replace semantics including the default behavior, and explains that replace clears existing selections. This is rich behavioral context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The tool is well-structured with headers, examples, and hints, and it front-loads the core purpose. However, it is substantially bloated: the Parameters section repeats schema descriptions almost verbatim, the 10 Use Cases largely restate the same idea with minor variations, and examples 2-8 duplicate the same call pattern with different types. It would earn a higher score with tighter editing.
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 complex nested-parameter tool with no output schema, the description is remarkably complete. It covers how to obtain tcRunIDs, how to obtain fieldIDs, per-type value formats, multiSelectAction rules, cascade child lookup workflow, async tracking via 'Scheduled Task', and even the response code 'CO.BULK_TC_EXECUTION_UDF_UPDATE_STARTED'. An agent has everything needed to invoke the tool correctly and set correct user expectations.
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 coverage is 100% and the schema itself is already detailed with type-specific value formats and multiSelectAction semantics. The description adds meaningful operational meaning beyond the schema: concrete examples for each UDF type, explicit default of 'append' with instruction to never assume 'replace', date format conversion requirements, and the warning not to fabricate fieldIDs. It elevates the schema's syntactically valid payloads into safe, correct calls.
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 opens with a specific verb and resource: "Bulk update User Defined Field (UDF) values for one or more Test Case Runs in a test execution." This clearly distinguishes the tool from siblings like qmetry_bulk_update_test_case_execution_status, which updates status rather than UDF values. The title, toolset label, and description all align precisely.
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?
Usage guidance is explicit and actionable. Hint 9 mandates the prerequisite workflow: always call 'Fetch Test Case Runs by Test Suite Run' first to collect tcRunIDs. Hint 11 explicitly differentiates from 'Bulk Update Test Case Execution Status' (entityIDs vs tcRunIDs), and hints throughout name supporting tools like 'Fetch Test Run UDF Metadata' and 'Fetch Cascade Child Values' for obtaining required IDs.
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 already declare readOnlyHint, idempotentHint, and non-destructive behavior, and the description adds substantial behavioral detail without contradicting them. It discloses the underlying API (/rest/execution/getExecutionsForIssue), the udfjson parsing behavior, mandatory response fields, UDF value resolution from qmUDFList, null-value handling, and the hasTcRunUdf false behavior — far more than annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
Although the description is well-sectioned and front-loaded, it is heavily redundant: the mandatory unified-table/pivot instruction appears in the opening paragraph, Output Description, Use Case examples, and again in the numbered Hints block. The Hints section restates columns, UDF handling, filter fields, and examples that were already given, so many sentences do not earn their place.
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 the description carries the full burden of explaining return values — and it does so thoroughly. It inventories the data array fields, mandatory identification columns, UDF object shape, total count, hasTcRunUdf flag, testRunUdfNote behavior, filter format, pagination, and ID resolution workflow. Nothing essential for calling or interpreting the tool is missing.
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?
Schema coverage is 100%, so the baseline is 3, but the description adds significant value beyond the schema. It explains precisely how to obtain linkedAssetId from another tool, warns against using incorrect parameter names, documents every filter field with types and examples, specifies case-sensitivity of status names, and clarifies pagination semantics. This materially improves correct invocation.
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 opens with a specific verb+resource statement: 'Get test case executions linked to a QMetry-native (non-Jira) defect/issue.' This precisely distinguishes it from sibling fetch tools like qmetry_fetch_test_case_executions and qmetry_fetch_executions_by_test_suite, and the 'non-Jira' qualifier further narrows scope.
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 clearly explains when to use it (for executions linked to a QMetry-native issue), when NOT to use it (Jira-integrated projects), and explicitly routes to alternatives such as 'Fetch Defects or Issues' for resolving linkedAssetId and 'FETCH_PLATFORMS' for platform IDs. It also warns against calling 'Fetch Test Run UDF Values' for this data, which is strong exclusion guidance.
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 already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds substantial behavioral context: testRunUdfs is parsed from raw udfjson with HTML stripped, null UDF values render as '-', hasTcRunUdf=false means testRunUdfs is absent, and the response must be pivoted into a unified table. It also discloses pagination semantics and how combinations of filter parameters are ANDed. This is a very transparent description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long and heavily redundant: the same 'NEVER assume only 2-3 executions' warning appears multiple times, viewId resolution is stated both in the schema and in the prose, and the unified-table mandate is repeated in the description, hints, and examples. It is logically organized with headings, so it is not disorganized, but it is not appropriately sized for an agent to parse 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?
With no output schema, the description fully compensates: it names every mandatory response field (entityKey, summary, latestVersion, runStatus, runStatusID, tcRunID, testRunUdfs), explains the hasTcRunUdf flag, gives table-rendering rules, provides 13 concrete request examples, and covers pagination and large-run performance. There is no practical gap in what an agent needs to call and render this tool correctly.
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?
Schema coverage is 100%, so baseline is 3, but the description goes far beyond the schema: it documents all 7 tcrUdfFilter field types with exact JSON formats, examples, and required flags like isCascading and comparison. It also clarifies the critical tsrunID naming pitfall, how to resolve viewId from latestViews.TE.viewId, and distinguishes tcrUdfFilter from udfFilter. This is exceptional parameter-level guidance.
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 first sentence states a specific verb and resource: 'Get test case runs under a specific test suite run execution in QMetry, including Test Run UDF values.' This clearly distinguishes it from sibling tools like qmetry_fetch_executions_by_test_suite (which returns suite runs) and qmetry_fetch_test_case_executions (which targets test case execution history). The title and opening line align exactly with the tool's function, with no ambiguity.
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 when-to-use and how-to-chain guidance: it names qmetry_fetch_executions_by_test_suite as the prerequisite discovery call for tsrunID, and instructs calling FETCH_TEST_RUN_UDF_VALUES when the user explicitly asks for enriched Test Run UDFs. It also provides an entire workflow for 'fetch all executions' scenarios, warning against stopping after only 2-3 executions. This is far beyond minimal usage guidance.
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 well beyond the annotations by warning about silent data loss from incorrect date formats, the requirement to apply default values to avoid data loss, the API returning success even when values are not stored, and the need to include both udfFields and UDF during update. This is highly valuable behavioral context for an agent.
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 very long and duplicates some parameter/schema content, which slightly hurts conciseness. However, it is extremely well structured with separate Parameters, Use Cases, Examples, and Hints sections, numbered instructions, and examples that make the length easier to navigate.
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 complex 11-parameter mutation tool with nested UDF objects and no output schema, the description is comprehensive. It covers mandatory-field fallbacks, default-value handling, date format derivation, UDF workflow, required companion calls, and even the expected output format. This is sufficient context for successful invocation.
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?
Schema coverage is 100%, and the description still adds meaningful parameter context: the exact DefectId casing requirement, UDF field type mappings, default routing for system fields versus UDF fields, date format rules, and the required UDF wrapper structure. It far exceeds what the schema alone 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 opens with a specific operation: 'Update an existing QMetry issue by DefectId and/or entityKey.' It clearly identifies the resource and the required identifiers, and it is easily distinguishable from sibling tools like qmetry_create_defect_or_issue or qmetry_fetch_issue_details.
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 use cases, prerequisites, and references to supporting tools such as 'Fetch UDF Layout', 'Fetch QMetry Project Info', 'Issue/Fetch issue', and 'Create Issue tool'. It gives clear context for when to use the tool, though it does not explicitly state when not to use it or contrast with the create tool.
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 annotations convey only low-level flags, so the description carries the behavioral burden and does so well. It discloses updateWithVersion as in-place vs new-version behavior, explains that UDF updates require BOTH udfFields and the UDF wrapper, requires ADD/REMOVE arrays for attachments, and reveals the HARD GATE that blocks updates for externally tracked projects with a clear do-not-retry instruction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and organized into sections, which helps. However, the Parameters list largely repeats a 100%-covered schema, and the Hints section has a numbering break: item 8 is blank, item 9 introduces a workflow, and item 10 restarts numbered sub-items. The bloat and malformed numbering make it heavier to parse than necessary.
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 tool with 12 parameters, nested objects, and no output schema, the definition is unusually complete: examples, ID-resolution workflow, valid-value sources, the external-tracker hard gate, and UDF edge cases are all present. Minor gaps remain—the exact shape of attachment ADD/REMOVE entries and the output object are only loosely described—so it stops short of perfect.
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?
Schema coverage is 100%, but the description adds substantial meaning beyond the schema: rqId is disambiguated from entity keys, concrete examples show valid values, and the UDF workflow explains fieldID discovery, list-option lookup, mandatory UDFs, cascade child fetching, and the dual udfFields/UDF requirement. This is far more than a restatement of the JSON 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 first sentence names the verb (update), the object (an existing QMetry requirement), and the required identifiers (rqId, rqVersionId), making it immediately distinguishable from qmetry_create_requirement and qmetry_fetch_requirements. It also sharpens the semantics by clarifying that rqId is the internal numeric identifier, not an entity key like 'MAC-RQ-730'.
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 'Use Cases' section explicitly states what the tool is for: field updates, attachment changes, UDF updates, and creating a new version. Hints 1, 6, and 7 provide strong when-not-to-use guidance, including resolving entity keys via Fetch Requirements, rejecting create-only fields like releaseCycleMapping, and refusing updates when an external Jira/Azure tracker is configured.
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?
Beyond the annotations, the description explains key runtime behavior: name-to-ID auto-resolution, graceful handling of unknown priority/status/label/component values with warnings, and the requirement that steps include stepDetails, testData, and expectedResult. It also states what the response contains, including warnings for skipped fields.
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 long but well organized and front-loaded with the core purpose and key behavior. The parameter list duplicates the schema somewhat, and the eight use cases are somewhat repetitive, but given the tool's 10 parameters and complex auto-resolution behavior, the structure and detail are earned.
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?
The description covers prerequisites, parameter semantics, edge cases, step structure, output shape, and examples. Nothing an agent needs to invoke this 10-parameter tool correctly is missing, and the presence of an output schema plus a detailed description makes it fully self-contained.
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?
Schema coverage is 100%, but the description still adds substantial meaning: examples for priority and status, exact label/component conventions, step field requirements, NLP mapping guidance ('Major' → 'High'), and details about auto-resolution and skipping. This goes well beyond the schema's field 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 opens with a specific verb and resource: 'Create a new test case in a QTM4J project,' and immediately adds the distinctive auto-resolution behavior. This clearly differentiates it from sibling tools like zephyr_create_test_case, qmetry_create_test_case, and the related qtm4j_update_test_case.
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 Hints section is explicit about the prerequisite: set_project_context must be called first and NEVER auto-select a project. Eight concrete use cases also explain what scenarios the tool supports. It does not explicitly state when-not-to-use relative to alternatives, but the prerequisite and use-case list give clear operating conditions.
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 already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description goes well beyond these by disclosing that the tool returns an empty data array rather than an error when no history exists, that pagination is zero-indexed with a max of 100, and that it works without any project context. These behaviors are meaningful and not inferable from the annotations alone.
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 well-structured and front-loaded with the core purpose, then organized into Parameters, Output Description, Use Cases, Examples, and Hints. However, it is somewhat verbose: defaults are repeated ('(default: 0)' twice, '(default: 20)' twice), and display-format instructions appear both in the Output Description and again in Hints #4. Nearly all content is useful, but the redundancy prevents a perfect score.
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 tool of this complexity—paginated, read-only, with specific display rendering and a project-context pitfall—the description is complete. It covers the output record fields, the summary sub-structure, edge behavior (empty array), formatting rules, and explicitly warns against unnecessary context calls. An agent has everything needed to call this tool correctly and render the result as intended.
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 the schema already documents both parameters at 100% coverage, the description adds substantial practical semantics: it explains that startAt is zero-indexed, that maxResults controls page size, and explicitly states 'Increment startAt by maxResults to fetch the next page.' The three JSON examples demonstrate first-page, second-page, and larger-page usage, which is especially helpful for an agent selecting pagination values.
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 opens with a precise verb-resource pairing: 'Retrieve a paginated history of past automation result uploads for a QTM4J project.' This clearly identifies the tool as a read-only history/audit operation and implicitly distinguishes it from the sibling upload tool qtm4j_upload_automation_result. The title and toolset further reinforce the domain 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?
The 'Use Cases' section explicitly enumerates when the tool should be used: reviewing history, checking import status, auditing CI/CD uploads, and paginating through records. The hints add an important exclusion: no project context is required and set_project_context must not be called. However, it does not explicitly name alternatives or contrast itself with the corresponding upload tool, so it falls just short of full 5-level guidance.
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?
While annotations already mark the operation as readOnly, idempotent, and non-destructive, the description adds meaningful behavioral context: the requirement key is automatically resolved to an internal ID, projectId is auto-filled from active project context, pagination follows a specific startAt/maxResults pattern, and the tool depends on a prior project context setup. This goes well beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but exceptionally well structured: a one-sentence summary, Toolset label, parameter breakdown, output description, use cases, examples, and hints. Each section earns its place, and the core purpose is front-loaded in the first sentence.
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 tool with six parameters, nested filters, an output schema, and notable prerequisites, the description is complete. It covers when to use it, how to satisfy the project context prerequisite, key format, filtering, pagination, field selection, and example invocations. Nothing an agent needs to call this correctly is missing.
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 coverage is 100%, so the baseline is 3. The description adds extra value by reinforcing auto-resolution of requirementKey, warning not to set projectId manually, documenting pagination defaults, and giving worked examples that show how filter and sort compose. It is not a full semantic manual, but it meaningfully supplements 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 opens with a specific verb+resource pair: 'Retrieve the test cases linked to a Jira requirement in QTM4J.' This clearly identifies the operation and differentiates it from sibling tools like qtm4j_link_test_cases_to_requirement and qtm4j_get_linked_requirements, which are conceptually different operations.
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 use cases, a stated prerequisite ('set_project_context must be called before this tool'), and a warning ('NEVER auto-select a project'). It does not explicitly name when not to use this tool versus a sibling, but the context is strong enough for an agent to select it correctly.
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?
Beyond the readOnly/idempotent/non-destructive annotations, the description discloses important behaviors: projectId is auto-injected, plannedStartDate/plannedEndDate are not returned by default, date formats are case-sensitive, filter fields combine with AND/OR semantics, and the response shape is described. This gives an agent accurate expectations about what the tool does and what it returns.
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 well-structured and front-loaded, opening with a concise summary and using clear headers for output, use cases, examples, and hints. However, it is noticeably long and contains some redundancy: parameter details and hints repeat the field lists, sort rules, and date formats already present in the schema. This is minor given the complexity of the tool, but it keeps the score from being a perfect 5.
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 filter complexity, nested schema, and many available fields, the description is essentially complete. It covers supported filter fields, output shape, pagination behavior, default values, date semantics, example requests, and the critical prerequisite that project context must already be selected. An agent has everything needed to construct valid calls and interpret responses.
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?
Even though schema coverage is 100%, the description adds substantial semantic value: it explains that filter fields combine with AND while values within a field use OR, that date filters use a specific 'dd/MMM/yyyy,dd/MMM/yyyy' format, that planned dates must be explicitly requested, and that sort uses 'fieldName:order.' The examples demonstrate realistic parameter combinations and expected outputs, going well beyond the schema alone.
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 opens with a specific verb and resource: 'Search for test cycles in a QTM4J project by status, owner, folder, date range, or keyword.' It also identifies the toolset (Test Cycles) and clearly separates this read/search operation from create/update cycle tools and from test-case search tools in the sibling list. This is more than a restatement of the title; it names the primary dimensions of search.
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 clear context for use: the prerequisite 'set_project_context must be called before this tool,' a list of use cases, and explicit guardrails such as 'NEVER auto-select a project' and 'Do NOT use any other filter field names.' It does not explicitly name alternatives like qtm4j_create_test_cycle or qtm4j_search_linked_test_cases_in_test_cycle, so it stops short of true when-to-use vs. alternative guidance.
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 well beyond annotations by disclosing partial-failure behavior: 'If a requirement key cannot be resolved or unlinked, it is reported in warnings and others are still unlinked.' It also states version defaulting, output confirmation shape, and interaction between unLinkAll and requirementKeys. Annotations only provide generic booleans, so the description carries the burden and fully meets 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 long but well-structured with clear sections: Toolset, Parameters, Output Description, Use Cases, Examples, and Hints. The action is front-loaded in the first sentence, and every section contributes operational detail. The length is justified for a tool with multiple modes and a prerequisite.
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 mutation tool with 4 parameters and a prerequisite, the description is exceptionally complete. It covers project context setup, key format requirements, default version behavior, partial success handling, output feedback, and a pointer to search_test_cases for finding versions. The presence of an output schema further reduces the need to explain return values.
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 coverage is 100%, so the baseline is 3. The description adds value with concrete examples for each parameter combination, clarifies precedence ('unLinkAll ignores requirementKeys when set'), and explains key formats in the Hints section. This goes beyond the schema without being redundant, justifying a 4.
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 opens with a specific verb-object pair: 'Unlink one or more Jira requirements from a test case in QTM4J by requirement keys, or unlink all requirements at once with unLinkAll.' This clearly distinguishes the tool from siblings like qtm4j_link_requirements_to_test_case and qtm4j_unlink_requirements_from_test_cycle by specifying the resource ('test case') and the operation ('unlink requirements').
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 explicit use cases (remove specific requirements, unlink all, clean up stale links, remove from a specific version) and a prerequisite hint ('set_project_context must be called before this tool. NEVER auto-select a project.'). It does not explicitly name the inverse sibling tool for linking requirements, so it lacks a clear exclusion, but the context is strong.
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?
Beyond the annotations (readOnlyHint=false, destructiveHint=false), it discloses key-resolution behavior ('Resolved to internal IDs and latest versions automatically'), partial-failure semantics ('other test cases are still unlinked'), warning output, and the auto-filled projectId behavior. This is exactly the behavioral context an agent needs before invoking a link-mutation tool.
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 long, but it is divided into clear sections (toolset, parameters, output, use cases, examples, hints) with no filler. A bit of redundancy with the schema remains, and the 7 hints plus 4 use cases could be tightened, so it does not reach the concise ideal of a 5.
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 tool with a complex filter object and a mutation side effect, the description covers prerequisites, key formats, parameter exclusivity, output shape, warnings, and examples. An agent has everything needed to decide when and how to call it correctly.
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 the schema already documents all three parameters, the description adds the exclusive-OR relationship between testCaseKeys and filter, auto-resolution details, key formats, excludeTestCases capability, and complete JSON examples for both parameter paths. This materially exceeds the schema's bare 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 opening sentence names a specific verb ('Unlink') and resource ('test cases from a Jira requirement') and adds selection methods ('by test case keys or filter criteria'). This clearly distinguishes it from the sibling qtm4j_link_test_cases_to_requirement and the inverse qtm4j_unlink_requirements_from_test_case.
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 gives explicit in-tool guidance: 'Provide this OR filter — not both', tells users to prefer filter when selecting by criteria, and lists a hard prerequisite ('set_project_context must be called before this tool'). It does not name alternative sibling tools for mutually exclusive decisions, so it stops short of 5.
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 adds meaningful behavioral context beyond the annotations: automatic resolution of keys to internal IDs and versions, unlinkAll ignoring the other parameters, projectId being auto-filled, and the important partial-failure behavior where unresolved keys are reported in warnings while other unlinking proceeds. This gives the agent a realistic model of how the tool executes.
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 long but well-structured into Purpose, Parameters, Output, Use Cases, Examples, and Hints. Every section serves a distinct purpose: prerequisites, key formats, selection modes, partial-failure behavior, and realistic invocation patterns. The front-loaded first sentence captures the core action immediately, and the examples are compact and directly actionable.
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 mutation tool with nested filter objects, required cycleKey, and multiple selection modes, the description is complete: it covers prerequisites, parameter constraints, output confirmation/warnings, and partial-failure semantics. The presence of an output schema reduces the need to explain return values, and the description still gives enough output context to set expectations.
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 description coverage is 100%, so the baseline is 3. The description adds real value on top with concrete key format examples, the mutual-exclusivity rule, the auto-resolution behavior, and three worked usage examples. Some of the parameter text duplicates schema descriptions, which prevents a 5, but the examples and hints make the parameter semantics substantially clearer.
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 opens with a specific verb-resource pair: 'Unlink test cases from a QTM4J test cycle', and clarifies the three selection modes: keys, filter, or unlinkAll. This distinguishes it from sibling tools such as qtm4j_unlink_test_cases_from_requirement and qtm4j_link_test_cases_to_test_cycle by making both the action and the target resource explicit.
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 usage context through Use Cases and Hints, including the explicit requirement to call set_project_context first and the rule to provide exactly one of testCaseKeys, unlinkAll, or filter. However, it does not explicitly name sibling alternatives or state when this tool should be preferred over them, so it falls just short of full routing guidance.
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 discloses non-obvious behavior: names are resolved to numeric IDs, resolution is case-insensitive, unresolved names are dropped with warnings, null clears existing values, and date/time formats have strict capitalization rules. These details go well beyond what the annotations already communicate.
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 front-loaded with a one-sentence summary, then organized into Parameters, Output, Use Cases, Examples, and Hints. Despite length, every section earns its place and the structure makes the 9-parameter surface area scannable.
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 9-parameter mutating tool requiring project context, the description covers prerequisites, parameter semantics, output shape, and warning behavior. An output schema is also present, so nothing needed to call the tool correctly appears missing.
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 coverage is 100%, so the baseline is 3, but the description adds practical meaning with examples, the 'Month must be capitalised' warning, the 'always include seconds' reminder, and null-clearing semantics. It reinforces likely usage mistakes rather than merely restating 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 first sentence names the exact operation and resource ('Update a test case execution') and enumerates the updatable fields. It also explains the lookup behavior from testCycleKey and testCaseKey plus the ID resolution logic, making it unambiguous against siblings like qtm4j_update_test_step_execution. The Toolset label reinforces its scope.
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?
Hints explicitly require calling set_project_context first and providing at least one updatable field, and the Use Cases section clarifies typical invocation scenarios. It does not name alternative tools or state when not to use it, so it stops short of an explicit routing guide.
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?
Even though annotations already declare idempotentHint=true and destructiveHint=false, the description adds substantial behavioral detail: projectId is injected automatically, null clears fields, names are auto-resolved to IDs with warnings on failure, labels/components use add/delete semantics, and archived cycles return 400. This goes far beyond what annotations convey.
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 long but well-structured with clear sections: overview, parameters, output, use cases, examples, and hints. It is front-loaded with the core behavior and then provides progressively detailed guidance. Some redundancy exists between the parameter list, use cases, and hints, but the complexity of the tool justifies the thoroughness.
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 11 parameters, nested add/delete objects, date formatting constraints, prerequisite project context, null-clearing semantics, and conditional server behavior, the description is remarkably complete. It covers prerequisites, failure modes, warnings, output shape, and provides six realistic examples that demonstrate both simple and full updates.
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?
Schema coverage is 100%, but the description still enriches the parameters meaningfully: key must match '{PROJECT_KEY}-TR-{number}' and is used as the API path parameter, date format requires capitalized months, null has explicit clearing semantics, and status/priority values come from set_project_context. This is well beyond the schema baseline.
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 opens with a specific verb and resource: 'Update an existing test cycle in QTM4J by its human-readable key.' It clearly indicates partial-update behavior, names the key format, and differentiates from creation-oriented siblings like qtm4j_create_test_cycle by emphasizing 'existing' test cycles.
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 strong contextual guidance: set_project_context is a prerequisite, project selection must never be auto-assumed, omitted fields are left unchanged, and archived test cycles cannot be updated. It does not explicitly name an alternative tool for creating cycles, but the word 'existing' and the Toolset heading make 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.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing that import processing is asynchronous and should be tracked via get_automation_history, that a new test cycle is created when testCycleToReuse is omitted, that QAF ZIP uploads require isZip=true, and that unrecognized priority values must not be silently substituted (Example 4). It also documents side-effect-relevant details like date formatting, folderId scoping, and Jira Account ID requirements for assignee/reporter.
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 well-structured with a front-loaded summary, bold section headers, clear examples, and numbered hints, making it easy to scan. However, the 'Parameters' section largely duplicates the schema descriptions, and the 'Use Cases' list adds limited information beyond the opening paragraph, making the description longer than strictly necessary.
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 complex tool with 10 parameters and nested fields, the description covers virtually everything an agent needs: file discovery order, format inference rules, confirmation requirements, test cycle reuse behavior, field conversion rules, and async tracking via get_automation_history. The worked examples illustrate realistic call patterns and even include a case where the tool should not be called, leaving no major operational gap.
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 substantial meaning beyond the schema: filePath must be resolved from a fresh scan, testCycleToReuse expects a work key like 'TR-PRJ-1', isZip is required for QAF, matchTestSteps defines matching behavior, and appendTestName only applies to JUnit/TestNG. Hints 5-8 add critical subfield semantics for fields, such as date format, folderId scope, and Account ID requirements, which the schema alone does not fully convey.
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 opening sentence states a specific action ('Upload an automation result file'), the target system (QTM4J), and the outcome (map results to a test cycle), then lists the supported formats. This makes the tool's role immediately distinguishable from siblings like qtm4j_get_automation_history or qtm4j_create_test_cycle. The name itself is also descriptive, and the description reinforces it without repeating it tautologically.
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 Hints section provides clear context for when the tool should or should not be called: fresh file scan required, confirm before uploading, ask when multiple/no files found, and explicitly 'Do NOT call set_project_context'. It does not, however, compare this tool against similar-looking siblings such as qmetry_import_automation_test_results, so the alternative-selection guidance is not fully explicit.
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 already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context: it specifies the returned fields (error_details, latest_event, pivots, url), notes that filters narrow summaries further, and instructs the agent to show the dashboard URL to the user. No annotation 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear purpose sentence and uses well-labeled sections for parameters, output, use cases, examples, and hints. It is longer than strictly necessary because the parameter section largely duplicates the input schema and the example is generic, but the extra sections provide actionable agent guidance overall.
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?
The description is complete for a read-only retrieval tool: it enumerates output fields despite no output schema, gives concrete workflows for error investigation, explains how to get error IDs, names the event-detail alternative, and tells the agent to surface the dashboard URL. Nothing critical for correct invocation is missing.
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?
Input schema coverage is 100%, and the description largely restates schema text, which establishes the baseline of 3. It goes slightly further by clarifying that filters narrow 'summaries further', explaining when to reuse filters, directing users to the List Project Event Filters tool for available filter fields, and documenting time format options.
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 — 'Get full details on an error' — and clarifies the scope: aggregated data across all events plus details of the latest event. This clearly distinguishes it from event-level or error-list siblings like bugsnag_get_event and bugsnag_list_project_errors.
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?
Provides explicit when-to-use guidance: investigate errors found via List Project Errors, use after filtering, and pass the same filters to restrict results. It also names the alternative — 'Use Get Event Details tool if you need detailed information about a specific event rather than the aggregated error' — making the choice unambiguous.
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 already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable behavioral context beyond these: pagination semantics for nextUrl, default values for releaseStage and visibleOnly, the projectId side effect of setting the current project, and the output shape with next-page URL. All behavior is disclosed consistently.
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 well-organized with clear sections (Toolset, Parameters, Output, Use Cases, Examples, Hints). It is longer than necessary, but each section earns its place and the key information is front-loaded in the first sentence.
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 read-only listing tool with five all-optional parameters, no output schema, and rich annotations, the description is fully sufficient. It documents every parameter, provides three worked examples, describes the output format, and gives hints for follow-up tools—nothing an agent needs to call it correctly is missing.
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 description coverage is 100%, so the baseline is 3. The description goes beyond the schema by providing concrete examples (staging filter, nextUrl usage) and restating defaults and constraints in context, which helps an agent apply parameters correctly without opening 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 releases for a project') with a specific verb and resource. The 'Toolset: Releases' label and the hint pointing to the 'Get Release tool' for more details help distinguish this listing tool from its sibling bugsnag_get_release.
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 provides explicit use cases ('View recent releases to correlate with error spikes', 'Filter releases by stage') and a hint to use the Get Release tool when more detail on a specific release is needed. This gives clear when-to-use guidance and names an alternative.
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?
Beyond the annotations, the description reveals important runtime behaviors: rqFolderId is auto-resolved unless a specific sub-folder is given, mandatory UDF fields will cause failure if omitted, and an external-tracker hard gate refuses creation for Jira/Azure and says not to retry. No stated behavior 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The content is front-loaded with a clear purpose and organized into useful sections, but it is verbose and repetitive: the Parameters section largely duplicates the schema, hints overlap with examples, and the numbering becomes malformed ('9.', '10.', '11.', then nested '11. 1.' etc.). Dense information is valuable, but this could be trimmed substantially.
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 complex 11-parameter create operation with nested objects, UDF handling, ID-resolution requirements, and an external-tracker gate, the description covers everything needed: required fields, optional metadata, prerequisite data sources, UDF discovery, expected output shape, and hard failure conditions. No critical invocation detail is missing.
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 substantially enriches parameter understanding: rqFolderId gets an auto-resolution explanation, udfFields gets fieldType-specific value shapes and a step-by-step discovery workflow, and releaseCycleMapping has a concrete example. This goes well beyond the schema's terse property 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 opening sentence states a specific action and resource: 'Create a new requirement in QMetry with metadata and release/cycle mapping.' The 'Toolset: Requirements' label further disambiguates it from the many fetching/updating sibling tools, and the name itself differentiates it from qmetry_update_requirement.
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 Use Cases section lists six concrete situations where this tool is appropriate, and the HARD GATE explicitly tells the agent when NOT to create in QMetry and to direct the user to Jira/Azure instead. Hints also specify prerequisite tool calls like FETCH_PROJECT_INFO and Fetch UDF Layout, plus behavior when a provided name cannot be resolved to an ID.
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 comprehensively discloses behavioral traits beyond annotations: it mandates a pre-create call to 'Fetch UDF Layout', warns about silent data loss with date formats, specifies the post-create platform linking requirement, and details error recovery for 'CO.MANDATORY_FIELDS_MISSING'. Annotations are minimal (readOnlyHint=false, destructiveHint=false), so the description carries the full burden and does it exceptionally well, 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.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long (over 100 lines) and includes repetitive instructions (e.g., repeated calls to 'Fetch UDF Layout', multiple mentions of the same ID mapping steps). It uses ASCII art boxes and numbered steps that add structure but become verbose. While every sentence adds some value, the density hinders quick scanning; it could be condensed by removing redundant warnings and consolidating repeated steps.
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?
The description is richly complete for the tool's complexity: it covers prerequisites (pre-create UDF layout call), mandatory and default field handling, error recovery procedures, date formatting, post-create platform linking, and examples with expected outputs. It accounts for the 9 parameters, nested objects, and the absence of an output schema by describing the output in the output description section. It's thoroughly complete.
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?
Schema coverage is only 33%, but the description provides extensive parameter semantics beyond the schema: for parentFolderId it explains auto-resolution, for releaseCycleMapping it clarifies the exact key names (releaseId vs release, buildID vs cycle) and the critical shape difference from Test Cases, and for udfFields it elaborates on types and source of values. It also details how to obtain IDs for testsuiteOwner and testSuiteState, filling in all gaps left by 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 creates a new test suite in QMetry with metadata and release/cycle mapping, using a specific verb ('Create') and resource ('Test Suite'). It distinguishes from siblings like qmetry_update_test_suite and qmetry_create_test_case, and provides use cases and examples that reinforce the purpose.
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 is explicit about when to use this tool (for creating test suites) and when not to (e.g., do not use Test Case mapping shape), and provides clear alternatives or related steps like calling 'Fetch UDF Layout' before creation and 'Link Platforms to Test Suite' after. It also includes step-by-step prerequisites and decision matrices, making it highly actionable.
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?
Despite annotations already marking readOnlyHint and idempotentHint true, the description adds behavior not inferable from annotations: output shape, archived-item flag semantics, the 'scope'/'orgcode' header prerequisite, and the instruction not to guess when lookupOptions is empty. No contradiction 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long, but it is well-structured with Parameters, Output Description, Use Cases, Examples, and Hints, and the critical workflow is front-loaded in the first sentence. A little redundancy exists (e.g., 'default: false' appears twice in the isArchReq line and examples restate the output shape), so it is not perfectly concise.
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 tool without an output schema, the description fully specifies return fields ('parentId', 'parentName', 'children', '_note'), includes auth prerequisites, addresses empty lookupOptions, provides examples, and covers the complete sequence for bulk-update usage. Nothing needed to invoke it correctly is missing.
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 coverage is 100%, so baseline is 3, but the description adds practical meaning beyond the schema: how to obtain 'id' from lookupOptions, when to set 'isArchReq' (only if explicitly requested), and how to use returned IDs as 'child' in the update payload. The parameter list itself largely repeats the schema, which is acceptable given 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 first sentence uses a specific verb and resource ('Fetch the child values of a CASCADINGLIST UDF field for a given parent item ID') and immediately connects it to a distinct workflow step (before bulk-updating a CASCADINGLIST Test Run UDF). This differentiates it from siblings like qmetry_fetch_test_run_udf_metadata and qmetry_bulk_update_test_run_udfs.
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 when-to-use guidance ('Use this before bulk-updating...'), lists four concrete use cases, and closes with an exclusion ('Do NOT call this tool for STRING, NUMBER...'). It also embeds a mandatory workflow referencing the metadata and bulk-update tools.
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 already mark readOnly/idempotent/non-destructive, and the description adds substantial behavior beyond that: pageName-dependent fieldID presence, defaultValues auto-fill behavior, project-scoped data, fallback attempts to the metadata endpoint, mandatory-field semantics, and date-format requirements for DATETIMEPICKER fields.
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 front-loaded with the core call-to-action and organized with Parameters, Output Description, Use Cases, Examples, and Hints. It is verbose and repeats some workflow guidance (e.g. ADD vs DETAIL semantics appear in the schema, parameters, output notes, and hints), but given the tool's complexity the structure earns most of its length.
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?
With no output schema, the description carries the full burden of explaining return values, and it does so thoroughly: fields, systemFields, defaultValues, stepFields, listOptions, _note, plus representative examples for each entityType/pageName combination. It also covers downstream usage of the returned IDs/options, making the tool safely callable by an agent.
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 coverage is 100% and the parameter section largely mirrors the schema, so the baseline is already high. The description adds useful meaning beyond the schema with project-scoped caveats ('list options, fieldIDs, and defaults are all project-specific') and direct instructions about when ADD/DETAIL fieldIDs are needed.
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 opens with a specific verb and resource: 'Fetch UDF definitions for Test Case, Test Suite, Issue, or Requirement entities,' and states what is returned (field names, types, fieldIDs, lookup option IDs). It also scopes the tool's role relative to create/update flows and related UDF siblings, so the agent can distinguish it from fetch_cascade_child_values and fetch_test_run_udf_metadata.
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 'Call this BEFORE creating or updating an entity with UDF values' and gives separate ADD vs DETAIL workflows for create vs update. It also names alternatives/fallbacks: Fetch Cascade Child Values for cascading lists and Fetch Test Run UDF Metadata when listOptions remain empty.
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 indicate readOnlyHint=false, destructiveHint=false, but the description goes far beyond by disclosing critical behaviors: silent data loss on wrong date formats, mandatory default value sweeping, auto-resolution of TsFolderID, and the need to call supporting tools. It also warns about mandatory UDF fields and the consequences of omitting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely long and repetitive, with many numbered hints that repeat the same information (e.g., auto-resolution of TsFolderID mentioned multiple times). While it is well-structured with sections, the verbosity and redundancy reduce its conciseness. It could be trimmed significantly without losing value.
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 complexity (9 parameters, nested objects, no output schema), the description is exceptionally complete. It covers all necessary preconditions, workflows, error handling, and fallback messages. The examples and hints provide comprehensive guidance for correct invocation.
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?
Schema coverage is 100%, but the description adds substantial meaning: it explains the auto-resolution of TsFolderID, the dual requirement of udfFields and UDF wrapper, the exact structure for CASCADINGLIST, and the need to fetch UDF layout for field IDs. It also clarifies the date format handling and the mapping of owner/state names to IDs.
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 updates an existing QMetry test suite by numeric id with auto-resolution from entityKey. It distinguishes from siblings like qmetry_create_test_suite and qmetry_fetch_test_suites by specifying the update action and the auto-resolution mechanism.
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 provides extensive usage guidance: when to use (update operations), when not to (e.g., creation via qmetry_create_test_suite), and explicit alternatives like 'Fetch UDF Layout' and 'Fetch QMetry Project Info'. It also details prerequisites and fallback behaviors for owner/state resolution.
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 already declare readOnlyHint, idempotentHint, and destructiveHint false, and the description goes further by explaining filter-name resolution, warning on unresolvable names, pagination defaults, and that an empty result is not an error. No contradiction with annotations exists.
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 long but well-structured with clear sections (Toolset, Parameters, Output, Use Cases, Examples, Hints). It front-loads the core purpose and each section serves a purpose, though some parameter details are redundantly restated from the schema.
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?
The description covers prerequisites, parameter formats, output shape, filtering semantics, pagination behavior, edge cases (empty results), and sibling differentiation. For a relatively complex read tool with nested filter objects, nothing essential for correct invocation is missing.
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 description coverage is 100%, so the baseline is 3. The description adds value by providing practical examples, clarifying the API path behavior for testCycleKey, and explaining resolution semantics for priority/status filters beyond the raw 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 opens with a specific verb ('Retrieve'), a specific resource ('Jira bugs linked to a test case execution'), and optional filtering behavior. It also names a sibling tool in the Hints section, `get_linked_bugs_of_test_step_execution`, clarifying the boundary between the two tools.
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 explicitly tells the agent when to use the tool, what to omit to get all bugs, how to filter, and which prerequisite to call (`set_project_context`). It also directs the agent to a sibling tool for step-level retrieval, leaving no ambiguity about 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 already mark the tool read-only, idempotent, and non-destructive, and the description adds crucial behavioral context: it performs a testStepExecutionId lookup from three keys, resolves priority/status names to numeric IDs, skips unresolvable names with a warning, and clarifies that an empty result is not an error. No contradiction 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured into Parameters, Output Description, Use Cases, Examples, and Hints, with the core action front-loaded. Some parameter details duplicate the schema, but each section serves a clear purpose and the redundancy is acceptable for a complex tool.
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 6-parameter tool with an output schema, the description covers the output shape, pagination, filtering semantics, prerequisites, and alternative tool routing. Nothing an agent needs to call this tool correctly is missing.
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 description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining the compound relationship among testCycleKey/testCaseKey/testStepSeqNo, the auto-resolution of filter names, and by providing concrete JSON examples that illustrate parameter usage. This extra context lifts it to a 4.
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 opening sentence states a precise action: 'Retrieve Jira bugs linked to a test step execution with optional priority and status filtering.' It also explains how the target execution is resolved (from testCycleKey, testCaseKey, and step sequence number), and Hint 4 distinguishes it from the sibling qtm4j_get_linked_bugs_of_test_case_execution. No ambiguity about what this tool does.
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?
A 'Use Cases' section spells out when to use the tool, and Hint 1 says to call set_project_context first. Hint 4 explicitly names the alternative for retrieving bugs across all steps, defining when not to use this tool. The behavior when omitting the filter is also stated.
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?
Beyond the annotations (readOnlyHint false, destructiveHint false), the description discloses that keys are auto-resolved to internal IDs, unLinkAll ignores requirementKeys, and partial failures produce warnings while remaining requirements are still unlinked. This gives the agent an accurate model of the tool's side effects and failure behavior.
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 longer than average but well-organized into Parameters, Output Description, Use Cases, Examples, and Hints. Each section serves a purpose, though there is some redundancy between the parameter list and the hints sections that prevents a perfect score.
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?
The description covers prerequisites, key formats, parameter selection rules, output behavior, and partial failure handling. With an output schema present and this level of contextual detail, an agent has everything needed to invoke the tool correctly and interpret results.
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 coverage is 100%, so the baseline is 3. The description adds value by providing concrete format examples ('SCRUM-TR-1', ['SCRUM-1', 'SCRUM-2']), emphasizing the mutual exclusion between requirementKeys and unLinkAll, and explaining automatic resolution behavior. This is a meaningful supplement to 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 opens with a specific verb and resource: 'Unlink one or more Jira requirements from a QTM4J test cycle by requirement keys, or unlink all requirements at once with unLinkAll.' This clearly distinguishes the tool from sibling qtm4j_unlink_requirements_from_test_case and other unlink variants by naming the target resource (test cycle) and the two operational modes.
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 provides explicit use cases, a prerequisite hint ('set_project_context must be called before this tool. NEVER auto-select a project'), and clear guidance on choosing between requirementKeys and unLinkAll. It leaves no ambiguity about when to invoke this tool versus 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 already declare the tool read-only, idempotent, and non-destructive, so the description does not need to restate that. It adds substantial behavioral context beyond annotations: it calls UDF metadata internally, reuses parent rows when sourceRows is provided, resolves LOOKUPLIST values, handles lookup warnings, and describes the hasTcRunUdf false case. This is exactly the kind of behavior an agent needs to predict outcomes.
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 long but well-organized into Parameters, Output Description, Use Cases, Examples, and Hints. There is some redundancy — the same 'do not use for test case executions' warning appears in the description, parameter docs, and hints, and default values are repeated from the schema — but the repetition serves critical routing decisions and the structure keeps the content scannable.
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 there is no output schema, the description fully compensates by listing response fields, explaining the unified table rendering contract, providing two concrete invocation examples, and covering edge cases such as missing UDF metadata and unresolved lookup values. For a tool with seven parameters and conditional workflows, nothing essential is missing.
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?
Schema coverage is already 100%, but the description adds important semantics beyond the schema: the critical exact parameter name 'tsrunID', string-or-number acceptance, the conditional requirement based on sourceRows, the sourceRows reuse contract, and viewId auto-resolution. The warnings about which parent rows are and are not valid materially improve correct invocation.
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 action ('Fetch the Test Run UDF values'), a precise resource ('all test case runs in a given test suite run'), and the enrichment provided (field label and type information). It explicitly distinguishes itself from related QMetry tools by warning against use for 'Fetch Test Case Executions' and 'Fetch Issue Executions', so an agent can select it correctly.
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?
Usage guidance is explicit and detailed: use for sourceContext='testSuiteRun', pass sourceRows from the parent tool to avoid a redundant call, and explicitly do NOT use for test case executions or issue executions. The Use Cases and Hints sections further clarify when to invoke this tool versus sibling tools.
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?
Beyond annotations, the description discloses partial-update behavior ('Only include the fields you want to update - other fields will remain unchanged'), date format dependency, the need to verify via FETCH_RELEASES_CYCLES, and the expected JSON output. These details add meaningful context beyond the idempotentHint and readOnlyHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long and somewhat repetitive, but it is well-structured into Parameters, Output, Use Cases, Examples, and Hints, and front-loads the purpose. Some instructions are restated multiple times, but the overall organization makes it easy for an agent to navigate.
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?
The tool has nested required identifiers and a prerequisite lookup workflow, and the description covers all of that: how to get buildID/releaseID, what to do when a cycle name is not found, which fields are optional, date format handling, expected output, and post-update verification. Nothing essential is missing for correct invocation.
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?
Even though schema coverage is listed at 50%, the description fully compensates by documenting buildID and releaseID as required identifiers, explaining how to obtain them, providing real JSON examples, and clarifying optional updateable fields and date formats. This makes the parameters actionable beyond the bare 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 opens with 'Update an existing cycle in QMetry for test execution planning', which clearly identifies the verb, resource, and scope. It also explicitly distinguishes itself from CREATE_CYCLE, making it easy to separate from the sibling qmetry_create_cycle tool.
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 when-to-use guidance: it explains that buildID and releaseID must be obtained by calling FETCH_RELEASES_CYCLES first, warns never to guess these IDs, and describes a full workflow for resolving a user-supplied cycle name. It also notes the difference from CREATE_CYCLE, covering 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?
The description adds substantial behavior beyond annotations: it pre-loads priority/status values for NLP mapping, resets context on repeated calls, and clears only the previous project's cached field metadata when switching. These details align with idempotentHint and neither contradict readOnlyHint nor destructiveHint.
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 long but tightly organized with clear sections: purpose, parameters, output, use cases, examples, and hints. Every sentence earns its place, and the critical prerequisite is stated in the first sentence. The structure makes the detailed content easy for an agent to parse.
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?
The tool is simple (one parameter) but contextually critical, and the description covers everything needed to call it correctly: when to call it, how to discover project keys, what the response contains, and what happens on repeated or switching calls. Examples further remove ambiguity.
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 coverage is 100%, so the parameter is already documented. The description adds extra value by explaining exact-match requirements, directing the agent to get_projects for valid keys, providing concrete examples, and describing the response's availableFields for subsequent NLP mapping.
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 opens with a specific verb and resource: 'Set the active QTM4J project for the current session.' It also states the tool's role as a prerequisite for project-specific operations, making its purpose unmistakable and distinguishable from related tools like qtm4j_get_projects.
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?
Usage guidance is explicit and actionable: it must be called before any project-specific operation, is used for session start or mid-conversation switching, and can validate project keys. It also names get_projects as the discovery alternative and explicitly instructs the agent to never auto-select a project without user confirmation.
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 already mark the tool as non-read-only and non-destructive and idempotent; the description goes beyond them by explaining key auto-resolution, warning-and-skip behavior for unresolvable names, add/delete semantics, and that omitted fields remain unchanged on the server. This gives the agent a faithful model of the side effects and failure 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?
Despite its length, the description is organized into scannable sections (Parameters, Output Description, Use Cases, Examples, Hints) and the core purpose is front-loaded in the first sentence. The length is justified by the tool's 11 parameters, nested objects, and edge-case behavior.
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 complex mutation tool, the description covers prerequisites, output shape, warning behavior, version handling, and deletion workflow via search_test_cases, plus realistic examples. Nothing essential for selecting and invoking it correctly appears to be missing.
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?
Even though schema coverage is 100%, the description adds meaning through concrete examples (e.g., 'SCRUM-TC-145', add/delete label JSON, version-specific updates) and operational hints (only changed fields should be passed, unknown names are skipped with a warning, format constraints). These are meaningful beyond the schema's property 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 opens with a specific verb-resource statement ('Update an existing test case in QTM4J') and further defines its scope with auto-resolution and add/delete support. This clearly distinguishes it from siblings like qtm4j_create_test_case and qtm4j_search_test_cases by focusing on updating an existing entity.
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 provides explicit use cases (e.g., change priority, update status, add labels) and a prerequisite (set_project_context must be called first; never auto-select a project). It also gives alternative flow guidance, such as calling search_test_cases before deleting all current entries, making when-to-use and preconditions explicit.
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/SmartBear/smartbear-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server