Skip to main content
Glama

Email an invoice

send_invoice

Use when the user wants an invoice sent to the client: emails the invoice link to the client's address (or the one given). Only for invoices of the signed-in user; available when Billify is connected with the user's account (ChatGPT, Claude, Grok).

Input Schema

NameRequiredDescriptionDefault
invoice_idYes
recipient_emailNodefaults to the client's email on the invoice

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare the write-but-not-destructive, non-idempotent, open-world profile, so the bar is lower. The description usefully adds that this fires an external email to a client, that only the caller's own invoices are eligible, and that it requires Billify to be connected — real context beyond annotations — but says nothing about resend behavior for an already-sent invoice or failure handling.

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?

A single sentence, front-loaded with the trigger condition, then the effect, then the eligibility constraints. No filler or restatement of the name.

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 covers the action, recipient override, ownership restriction, and connection prerequisite — enough to call it correctly. Missing only what the agent should report back or expect on send failure, a minor gap for a 2-parameter tool.

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 coverage is 50%: recipient_email is documented in the schema, but invoice_id has no description. The description compensates partially by clarifying that the recipient may be overridden "(or the one given)" and constraining invoice_id to the signed-in user's invoices, though it adds no format or identifier guidance. Baseline 3 is appropriate.

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?

The description pairs a specific verb (emails/sends) with a concrete resource (the invoice link) and states the destination (the client's address), which cleanly separates it from create_invoice, get_invoice, and list_invoices. An agent can identify the action and effect 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/5

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

It gives explicit trigger phrasing ("Use when the user wants an invoice sent to the client") plus scope restrictions: only invoices of the signed-in user, and only when Billify is connected in ChatGPT/Claude/Grok. It does not name a sibling alternative or state when not to use it, so it stops short of a full when/when-not routing rule.

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