convert_estimate_to_invoice
Turn an accepted estimate into an invoice to simplify the billing process.
Instructions
Convert an accepted estimate into an invoice.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| estimateId | Yes |
Turn an accepted estimate into an invoice to simplify the billing process.
Convert an accepted estimate into an invoice.
| Name | Required | Description | Default |
|---|---|---|---|
| estimateId | Yes |
Changes observed during successful MCP inspections.
v1.0.0Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate it is not idempotent and not destructive. The description adds no additional behavioral context—it does not state what happens to the estimate (e.g., marked as converted), whether a new invoice is created, or any side effects. With minimal annotation coverage, the description carries the burden but fails to disclose these details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no fluff. It is front-loaded with the core action. However, it is under-specified for a tool with behavioral nuance, but conciseness itself is not penalized—the lack of detail is captured in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description still leaves gaps: it does not describe the return value, any prerequisites beyond 'accepted', or what constitutes a successful conversion. Given the lack of an output schema, the description should provide at least some hint about the result, but it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage for the single parameter estimateId, and the description does not mention it at all. The agent gets no meaning beyond the type 'number' from the schema, and the description adds no clarification about what the ID represents or any constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('convert') and resource ('estimate' to 'invoice'), and the phrase 'accepted estimate' adds specificity that distinguishes it from generic create_invoice. However, it does not explicitly name alternatives or elaborate on the transformation, 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.
Does 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 create_invoice or other siblings. The implication that an accepted estimate is the prerequisite is present, but no alternatives or exclusions are mentioned, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.