Skip to main content
Glama

Procountor: Send sales invoice

procountor_send_sales_invoice

Procountor: Send an approved sales invoice on its invoice channel. Does what Send does in Invoice view. The status changes to Sent and the invoice joins the invoices-to-be-sent list. Procountor dispatches it automatically three days before the invoice date, or immediately if the date is today, within three days or in the past. A Sent invoice cannot be changed or invalidated. By default you confirm each call; you can switch that off for this tool. Reaches other people: confirm with the user before each call. Needs the user's Cotlet API key with access to this app.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
invoice_idYesSales invoice ID from list_sales_invoices or create_sales_invoice.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Far beyond the annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false), it discloses the resulting status change, the invoices-to-be-sent queueing, the automatic dispatch timing rule (three days before invoice date, or immediately for today/within three days/past dates), the irreversibility of a Sent invoice, the default per-call confirmation with an opt-out, the third-party reach requiring user confirmation, and the Cotlet API key requirement. The only tension is that destructiveHint=false while the action is irreversible, but 'send' is not a data-destroying operation, so this is enrichment rather than 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/5

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

Purpose and precondition are front-loaded, and most sentences carry real operational information. It is slightly long and contains a partially redundant aside ('Does what Send does in Invoice view') plus a confirmation-defaults sentence that borders on config noise.

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

Completeness5/5

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

No output schema exists, and the description compensates fully: it explains the post-call state, the asynchronous dispatch schedule, irreversibility, confirmation behavior, external-party impact, and auth requirements. An agent has everything needed to invoke this safely.

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?

With a single parameter and 100% schema description coverage, the schema already documents invoice_id and its sourcing (list_sales_invoices or create_sales_invoice). The description adds no parameter-level detail, so the baseline 3 applies.

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?

States a specific verb (send) and resource (approved sales invoice) on its invoice channel, and the precondition 'approved' cleanly separates it from siblings like procountor_approve_sales_invoice, procountor_create_sales_invoice, and procountor_get_sales_invoice. An agent can identify the 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 Guidelines3/5

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

The 'approved sales invoice' phrasing implies the required invoice state and the UI-equivalent note ('Does what Send does in Invoice view') frames intent, but there is no explicit when-not guidance and no routing to the sibling tools (approve/create/list) that must precede or replace this call. Usage is implied rather than spelled out.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources