Skip to main content
Glama

Service Autopilot: Create invoice

service-autopilot_create_invoice

Service Autopilot: Invoice a client for completed jobs, optionally emailing it right away. Bills a client for completed jobs, all unbilled ones by default, and returns the invoice total. Set send to email it to the client. 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
sendNoEmail the invoice to the client. Default: false.
job_idsNoCompleted jobs to bill. Default: all unbilled completed jobs.
client_idYesClient ID from search_clients.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations declare this is a mutation (readOnlyHint=false) with no destruction, but the description adds material context they don't carry: that emailing 'reaches other people' and requires per-call user confirmation, that confirmation can be toggled off, the exact auth requirement (Cotlet API key), and that the invoice total is returned. This is genuine behavioral disclosure beyond 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.

Conciseness3/5

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

Front-loaded with the core purpose, which is good, but it repeats the same idea twice ('Invoice a client for completed jobs' / 'Bills a client for completed jobs') and restates the confirmation toggle and send behavior redundantly, adding bulk without new information.

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?

With no output schema, the description compensates by noting it returns the invoice total. It covers the mutation's side effects (email to client), auth prerequisites, and confirmation behavior, leaving little an agent would need to infer before calling.

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 100%, so client_id, job_ids, and send are already documented in the schema. The description marginally reinforces the job_ids default ('all unbilled') and the send behavior, but adds little syntax or meaning beyond what the schema states, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: 'Invoice a client for completed jobs,' with the default scope (all unbilled completed jobs) made explicit. This clearly separates it from service-autopilot_list_invoices and create_estimate, though it does not name any sibling directly.

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 description explains default behavior ('all unbilled ones by default') and when the send flag applies ('Set send to email it to the client'), which gives implied usage context. However, it offers no explicit when-to-use vs when-not guidance or named alternatives among the many sibling invoice tools.

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