# MCP Tool Reference

All tools run under the authenticated principal's identity and mirror the Merchant API. **Access** indicates the minimum permission required:

- **Read** — any merchant role, including read-only logins (`merchant:read` scope for M2M keys)
- **Write** — a write-capable merchant role (`merchant:write` scope for M2M keys)


## General

| Tool | Access | Description |
|  --- | --- | --- |
| `list_resolve_accounts` | Read | List the Resolve accounts available to the authenticated login. Call this first when a login has access to multiple accounts. |
| `search` | Read | Semantic search over Resolve's published help articles — ask "how does X work in Resolve". |
| `create_temp_file` | Write | Mint a presigned S3 upload URL for a file (e.g. an invoice PDF) so it can be attached to an invoice without passing the file through the LLM. *Not available in ChatGPT or Codex — see note below.* |
| `list_temp_files` | Read | List previously uploaded temp files and mint fresh download URLs. *Not available in ChatGPT or Codex — see note below.* |


> **File handling in ChatGPT and Codex:** these clients attach files directly to the conversation instead of using the temp-file tools. Tool parameters that expect a file URL (such as `merchant_invoice_url` on `create_invoice`) accept the conversation attachment directly, and the MCP server resolves it for the Resolve API. The temp-file tools are hidden for these connections.


## Customers

| Tool | Access | Description |
|  --- | --- | --- |
| `list_customers` | Read | List customers, with exact-match filters on `business_name`, `email`, and more. |
| `get_customer` | Read | Fetch a single customer, including credit status and available credit. |
| `create_customer` | Write | Create a new customer (buyer). |
| `update_customer` | Write | Update a customer's details. |
| `request_credit_check` | Write | Submit a customer for credit underwriting. |
| `enroll_customer` | Write | Enroll an approved customer in net terms. |


## Invoices

| Tool | Access | Description |
|  --- | --- | --- |
| `list_invoices` | Read | List invoices, with filters on number, PO number, customer, balance, and status. |
| `get_invoice` | Read | Fetch a single invoice. |
| `create_invoice` | Write | Create an invoice for a customer. |
| `update_invoice` | Write | Update an invoice (e.g. set `terms` and `advance_requested` before sending). |
| `send_invoice` | Write | Send the invoice to the customer. |
| `advance_invoice` | Write | Request an advance payout against a sent invoice. |
| `capture_invoice` | Write | Capture an authorized invoice. |
| `void_invoice` | Write | Void a sent invoice. |
| `cancel_invoice` | Write | Cancel an invoice. |
| `delete_invoice` | Write | Delete a draft (unsent) invoice. |


## Orders

| Tool | Access | Description |
|  --- | --- | --- |
| `list_orders` | Read | List orders. |
| `get_order` | Read | Fetch a single order. |
| `create_order` | Write | Create an order. |
| `update_order` | Write | Update an order. |
| `capture_order` | Write | Capture an authorized order. |
| `cancel_order` | Write | Cancel an order. |


## Charges

| Tool | Access | Description |
|  --- | --- | --- |
| `list_charges` | Read | List charges. |
| `get_charge` | Read | Fetch a single charge. |
| `update_charge` | Write | Update a charge. |
| `capture_charge` | Write | Capture an authorized charge. |
| `cancel_charge` | Write | Cancel a charge. |


## Shipments

| Tool | Access | Description |
|  --- | --- | --- |
| `list_shipments` | Read | List shipments. |
| `get_shipment` | Read | Fetch a single shipment. |
| `create_shipment` | Write | Add a shipment (tracking number, courier, fulfillment method) to an invoice. |
| `update_shipment` | Write | Update a shipment. |
| `delete_shipment` | Write | Delete a shipment. |
| `sync_shipment_tracking` | Write | Pull real-time tracking status from the courier. |


## Payments & Payouts

| Tool | Access | Description |
|  --- | --- | --- |
| `list_payments` | Read | List payments received from customers. |
| `get_payment` | Read | Fetch a single payment, including which invoices it applied to. |
| `list_payouts` | Read | List payouts from Resolve to your account. |
| `get_payout` | Read | Fetch a single payout. |
| `list_payout_transactions` | Read | List individual transactions within payouts. |
| `get_payout_transaction` | Read | Fetch a single payout transaction. |


## Credit Notes

| Tool | Access | Description |
|  --- | --- | --- |
| `list_credit_notes` | Read | List credit notes. |
| `get_credit_note` | Read | Fetch a single credit note. |
| `create_credit_note` | Write | Issue a credit note against a sent invoice. |
| `void_credit_note` | Write | Void a credit note. |


## Webhooks

| Tool | Access | Description |
|  --- | --- | --- |
| `upsert_webhook` | Write | Create or update a webhook endpoint and its subscribed events. |
| `delete_webhook` | Write | Delete a webhook endpoint. |