Skip to main content
Glama
InvoicePDFs MCP Server

InvoicePDFs MCP Server

Official
by invoicepdfs

recurring_cancel

Permanently cancel a recurring invoice schedule when it should no longer issue invoices. This terminal action cannot be resumed or edited; invoices already issued remain unchanged.

Instructions

End a schedule permanently.

Terminal: it cannot be resumed or edited afterwards, and cancelling twice is refused with 409. To stop issuing temporarily, use pause_recurring_invoice instead.

Invoices already issued are left alone.

Input Schema

NameRequiredDescriptionDefault
recurring_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations present, the description carries the full burden and does so well: it declares irreversibility ("cannot be resumed or edited afterwards"), the exact failure mode of a repeat call (409), and the blast radius ("Invoices already issued are left alone"). That is precisely the mutation-risk context an agent needs before calling a destructive 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the terminal nature, then error behavior, then the alternative, then the side-effect caveat. Nothing is padded and no sentence is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter destructive tool with no annotations and no output schema, the description covers consequences, error behavior, side effects, and the alternative. It leaves out any mention of permissions/authorization and what the call returns, which are the remaining gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description would ideally explain `recurring_id`, but it says nothing about it. The name is self-describing and there are no enums or nested objects, so the risk of misuse is low, but the description adds no meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

"End a schedule permanently" gives a specific verb plus resource, and "permanently"/"Terminal" immediately separates it from the pause and resume siblings. An agent can tell this is a destructive lifecycle termination without opening any 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly routes temporary stops to a pause tool, which is exactly the when-not-to-use guidance this needs. The problem is that the named alternative `pause_recurring_invoice` does not match any sibling — the real tool is `recurring_pause` — so the routing hint is directionally right but literally wrong.

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