email_invoice
Email an invoice to the customer with a professional HTML email and PDF attachment. Updates status to Sent if currently Draft.
What email_invoice does
Sends or emails the invoice to the customer using the organization's configured SMTP settings.
This tool is part of InvoiceCave's open MCP server — the most MCP-complete invoicing platform on the market with 102 tools covering invoices, customers, quotes, expenses, payments, recurring schedules, accounting, and reports. Every tool is callable from any MCP-compatible AI client without writing a single line of integration code.
How an AI uses email_invoice
Use after creating or updating a record when the AI needs to actually deliver it. Email logs are recorded against the org and visible in the dashboard. If SMTP isn't set up, the call fails fast with a clear error so the AI can prompt the user to configure it.
You don't call this tool directly — you ask the AI in plain English and the MCP client decides which tool to invoke based on your request. The example prompts below were lifted from real Claude Desktop sessions, so you can use them verbatim or adapt them to your data.
Parameters
email_invoice accepts 2 parameters — 1 required, 1 optional. The AI fills these in from your natural-language prompt; you never write them by hand.
| Parameter | Type | Required | Description |
|---|---|---|---|
| invoiceId | string | required | Invoice ID to email |
| string | optional | Override recipient email (optional, defaults to customer email) |
Request example
Under the hood, your AI client sends a JSON-RPC 2.0 tools/call request to InvoiceCave's MCP endpoint at https://www.invoicecave.com/api/mcp/mcp. Here's what a email_invoice call looks like:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "email_invoice",
"arguments": {
"invoiceId": "inv_a1b2c3d4",
"email": "client@example.com"
}
}
}You won't write this yourself — it's shown so developers can see exactly what the MCP client generates. The arguments object maps 1:1 to the parameters above. Authentication is handled by the Authorization: Bearer header with your API key.
Example AI prompts
Type any of these into Claude Desktop, Claude Code, or Cursor — InvoiceCave's MCP server will route them to email_invoice automatically.
“Send this invoice to the customer.”
“Email the invoice now.”
Use it in 30 seconds
Related tools
More from the Invoices category.
list_invoicesList invoices. Optionally filter by status or search by invoice number/customer name.
get_invoiceGet full details of a specific invoice including line items.
create_invoiceCreate a new invoice with line items, optional discount, shipping, adjustment. If the customer does not exist, they will be auto-created. Line item descriptions support multi-line: first line = bold title, lines after \\n = sub-description in lighter text.
update_invoiceUpdate an existing invoice. Supports status, dates, notes, discount, shipping, adjustment, salesperson, and terms. Recalculates totals automatically.
send_invoiceMark an invoice as "Sent" and get the shareable public link.
get_invoice_linkGet the shareable public link for an invoice.
delete_invoiceDelete an invoice permanently.
duplicate_invoiceCreate a copy of an existing invoice as a new Draft. Copies line items, template, payment methods. Status = Draft, paidAmount = 0, balanceDue = total.
FAQ — email_invoice
What is email_invoice?▾
email_invoice is one of 102 tools in InvoiceCave's MCP server. Sends or emails the invoice to the customer using the organization's configured SMTP settings. It's invoked automatically when an AI client like Claude or Cursor decides the user's request maps to this action.
Which AI clients can call email_invoice?▾
Any MCP-compatible client. We've tested it with Claude Desktop, Claude Code, Cursor, Windsurf, and Codex. The MCP protocol is open, so any AI tool that speaks MCP can call this endpoint with a valid InvoiceCave API key.
Is calling email_invoice secure?▾
Yes. Every call is authenticated by the API key you mint in the dashboard, scoped to a single organization, rate-limited per key, and recorded in the audit log with source='mcp'. Sensitive fields (SMTP passwords, encryption keys) are never returned to the AI client.
What parameters does email_invoice take?▾
email_invoice accepts 2 parameters — 1 required (invoiceId) and 1 optional. The AI populates these from your plain-English prompt — see the parameter table and request example above.
Does email_invoice count against any quota?▾
MCP tool calls are unmetered on the free plan up to a generous monthly limit. Once you connect Stripe and start charging your customers, every call still counts against the same per-key rate limit but doesn't add to your bill.
Ready to wire this up?
Free plan — no credit card. 102 tools at your AI's disposal.