edit_customer
Update an existing customer's details. All fields optional — only provided fields are changed.
What edit_customer does
Updates an existing customer. Pass only the fields you want to change — every other field is preserved.
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 edit_customer
Use this for partial edits — "change the due date to Net 30", "fix the customer's billing address", "update the line item description". The AI can read the current state with the matching get_* tool first if it needs to confirm what it's editing.
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
edit_customer accepts 21 parameters — 1 required, 20 optional. The AI fills these in from your natural-language prompt; you never write them by hand.
| Parameter | Type | Required | Description |
|---|---|---|---|
| customerId | string | required | Customer ID to update |
| displayName | string | optional | New display name |
| string | optional | New email (encrypted at rest) | |
| phone | string | optional | New phone (encrypted at rest) |
| company | string | optional | New company name |
| currency | string | optional | New currency code |
| customerType | enum | optional | New customer typeBusinessIndividual |
| billingAddressStreet | string | optional | New billing street |
| billingAddressCity | string | optional | New billing city |
| billingAddressState | string | optional | New billing state |
| billingAddressZip | string | optional | New billing ZIP |
| billingAddressCountry | string | optional | New billing country |
| shippingAddressStreet | string | optional | New shipping street |
| shippingAddressCity | string | optional | New shipping city |
| shippingAddressState | string | optional | New shipping state |
| shippingAddressZip | string | optional | New shipping ZIP |
| shippingAddressCountry | string | optional | New shipping country |
| paymentTerms | string | optional | New default payment terms |
| taxId | string | optional | New tax ID number |
| taxExempt | boolean | optional | New tax-exempt flag |
| notes | string | optional | New internal notes |
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 edit_customer call looks like:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "edit_customer",
"arguments": {
"customerId": "cus_a1b2c3d4",
"displayName": "Acme Corp",
"email": "client@example.com",
"phone": "+1-555-0100",
"company": "Acme Corp"
}
}
}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 edit_customer automatically.
“Update this customer — change the …”
“Fix the details on that customer.”
Use it in 30 seconds
Related tools
More from the Customers category.
list_customersList customers in the organization. Optionally search by name or company.
create_customerCreate a new customer. Only displayName is required. Supports billing/shipping addresses, payment terms, and tax info.
delete_customerDelete a customer. Warning: this also removes related data.
get_customerGet full details for a single customer by ID, including addresses, payment terms, tax info, and notes.
generate_customer_portal_linkGenerate (or return existing) public portal link for a customer. Uses Customer.portalToken; creates one if missing.
FAQ — edit_customer
What is edit_customer?▾
edit_customer is one of 102 tools in InvoiceCave's MCP server. Updates an existing customer. Pass only the fields you want to change — every other field is preserved. 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 edit_customer?▾
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 edit_customer 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 edit_customer take?▾
edit_customer accepts 21 parameters — 1 required (customerId) and 20 optional. The AI populates these from your plain-English prompt — see the parameter table and request example above.
Does edit_customer 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.