---
updatedAt: 2026-10-01T13:30:59.000Z
agentTools:
  projectIndex: https://developer.spendesk.com/llms.txt
---

# MCP tool reference

Every tool of the Spendesk MCP server: what it does, whether it reads or acts, the permission it needs, and whether its action can be undone.

Every tool of the [Spendesk MCP server](https://developer.spendesk.com/reference/connect-an-ai-assistant-mcp), grouped as in Spendesk's permission settings. The server has **62 tools: 36 that read and 26 that act**.

* **Tool** is the name the assistant uses to call it; **what it does** is its label in Spendesk.
* **Permission** is the one to tick when you connect: the assistant only sees the tools your permissions allow. Write permissions are unticked by default.
* **Role:** every tool requires the **Controller or Account Owner** role in the company it works on.
* **Can it be undone?** — for actions only. Before ticking a write permission, read [Assistant actions and safety](https://developer.spendesk.com/reference/mcp-actions-and-safety).
* **Not listed, not possible:** there is no tool to approve, pay, read budgets, or create or change cards, users or cost centers — see [What the assistant cannot do](https://developer.spendesk.com/reference/connect-an-ai-assistant-mcp#what-the-assistant-cannot-do).
* **A missing tool** usually means a missing permission: see [MCP errors and limits](https://developer.spendesk.com/reference/mcp-errors-and-limits).

| Group                              | Tools that read | Tools that act |
| :--------------------------------- | :-------------- | :------------- |
| Wallet                             | 2               | 0              |
| Card requests                      | 3               | 0              |
| Purchase orders                    | 1               | 3              |
| Payables, settlements and invoices | 12              | 4              |
| Cards and card transactions        | 6               | 0              |
| Accounting                         | 3               | 4              |
| Suppliers                          | 2               | 3              |
| Company and reference data         | 7               | 12             |

# Wallet

Permissions: View wallet balance (`wallet-summary:read`), View wallet load (`wallet-load:read`).

| Tool                 | What it does       | Reads or acts | Permission          |
| :------------------- | :----------------- | :------------ | :------------------ |
| `get_wallet_summary` | Get wallet summary | Reads         | View wallet balance |
| `get_wallet_loads`   | List wallet loads  | Reads         | View wallet load    |

# Card requests

Permissions: View requests (`experimental:request:read`).

| Tool                        | What it does     | Reads or acts | Permission    |
| :-------------------------- | :--------------- | :------------ | :------------ |
| `spendesk_analyze_requests` | Analyse requests | Reads         | View requests |
| `get_requests`              | List requests    | Reads         | View requests |
| `get_request_by_id`         | Get a request    | Reads         | View requests |

# Purchase orders

Permissions: View purchase orders (`experimental:purchase-order:read`), Manage purchase orders (`experimental:purchase-order:write`).

| Tool                    | What it does            | Reads or acts | Permission             | Can it be undone?                                                                     |
| :---------------------- | :---------------------- | :------------ | :--------------------- | :------------------------------------------------------------------------------------ |
| `get_purchase_orders`   | List purchase orders    | Reads         | View purchase orders   | —                                                                                     |
| `create_purchase_order` | Create a purchase order | **Acts**      | Manage purchase orders | Only by cancelling it while it is open with no invoice attached; it cannot be deleted |
| `cancel_purchase_order` | Cancel a purchase order | **Acts**      | Manage purchase orders | No                                                                                    |
| `close_purchase_order`  | Close a purchase order  | **Acts**      | Manage purchase orders | No — its amount is rewritten to what was billed                                       |

# Payables, settlements and invoices

Permissions: View settlements (`settlement:read`), View payable attachments (`payable-attachment:read`), View payables (`payable:read`), View analytical fields (`analytical-field:read`), View invoices (`experimental:invoice:read`), View intakes (`experimental:intake:read`), Manage payables (`experimental:accounting:update`).

| Tool                                   | What it does                  | Reads or acts | Permission                                                      | Can it be undone?                                                   |
| :------------------------------------- | :---------------------------- | :------------ | :-------------------------------------------------------------- | :------------------------------------------------------------------ |
| `get_settlements`                      | List settlements              | Reads         | View settlements                                                | —                                                                   |
| `get_payable_attachments`              | Get payable receipts          | Reads         | View payable attachments                                        | —                                                                   |
| `get_payable_by_id`                    | Get a payable                 | Reads         | View payables                                                   | —                                                                   |
| `get_payables`                         | List payables                 | Reads         | View payables                                                   | —                                                                   |
| `spendesk_analyze_spend`               | Analyse spend                 | Reads         | View payables — also View analytical fields for some breakdowns | —                                                                   |
| `spendesk_analyze_settlements`         | Analyse settlements           | Reads         | View settlements                                                | —                                                                   |
| `spendesk_get_due_invoices`            | Get due invoices              | Reads         | View payables                                                   | —                                                                   |
| `get_invoices`                         | List invoices                 | Reads         | View invoices                                                   | —                                                                   |
| `get_invoice_by_id`                    | Get an invoice                | Reads         | View invoices                                                   | —                                                                   |
| `get_invoices_summary`                 | Get invoice summary           | Reads         | View invoices                                                   | —                                                                   |
| `get_intakes`                          | List intakes                  | Reads         | View intakes                                                    | —                                                                   |
| `get_intake_by_id`                     | Get an intake                 | Reads         | View intakes                                                    | —                                                                   |
| `mark_payable_as_exported_manually`    | Mark a payable as exported    | **Acts**      | Manage payables                                                 | No                                                                  |
| `mark_settlement_as_exported_manually` | Mark a settlement as exported | **Acts**      | Manage payables                                                 | No                                                                  |
| `mark_payable_as_ready`                | Mark a payable as ready       | **Acts**      | Manage payables                                                 | Ready for accounting export, not an approval. No tool moves it back |
| `update_payable`                       | Update a payable              | **Acts**      | Manage payables                                                 | Yes, by updating it again                                           |

# Cards and card transactions

Permissions: View cards (`experimental:card:read`), View card transactions (`experimental:transaction:read`).

| Tool                        | What it does               | Reads or acts | Permission             |
| :-------------------------- | :------------------------- | :------------ | :--------------------- |
| `list_cards`                | List cards                 | Reads         | View cards             |
| `get_card`                  | Get a card                 | Reads         | View cards             |
| `get_card_order`            | Get a card order           | Reads         | View cards             |
| `get_card_blocking_history` | Get card blocking history  | Reads         | View cards             |
| `get_transactions`          | List transactions          | Reads         | View card transactions |
| `get_failed_transactions`   | List declined transactions | Reads         | View card transactions |

# Accounting

Permissions: View chart of accounts (`experimental:chart-of-accounts:read`), Manage accounting exports (`experimental:accounting-export:write`), Manage chart of accounts (`experimental:chart-of-accounts:write`).

| Tool                       | What it does                | Reads or acts | Permission                                                                   | Can it be undone?                                              |
| :------------------------- | :-------------------------- | :------------ | :--------------------------------------------------------------------------- | :------------------------------------------------------------- |
| `get_chart_of_accounts`    | Get chart of accounts       | Reads         | View chart of accounts                                                       | —                                                              |
| `get_accounting_export`    | Get an accounting export    | Reads         | Manage accounting exports — a write permission, although the tool only reads | —                                                              |
| `get_journal_templates`    | List journal templates      | Reads         | Manage accounting exports — a write permission, although the tool only reads | —                                                              |
| `create_accounts`          | Create accounts             | **Acts**      | Manage chart of accounts                                                     | By archiving the accounts                                      |
| `update_accounts`          | Update accounts             | **Acts**      | Manage chart of accounts                                                     | Yes, by updating them again                                    |
| `delete_accounts`          | Archive an account          | **Acts**      | Manage chart of accounts                                                     | Yes: the account is archived, and can be unarchived            |
| `create_accounting_export` | Create an accounting export | **Acts**      | Manage accounting exports                                                    | A preview changes nothing; a committed export cannot be undone |

# Suppliers

Permissions: View suppliers (`supplier:read`), Manage suppliers (`experimental:supplier:manage`).

| Tool                 | What it does       | Reads or acts | Permission       | Can it be undone?                                                        |
| :------------------- | :----------------- | :------------ | :--------------- | :----------------------------------------------------------------------- |
| `get_supplier_by_id` | Get a supplier     | Reads         | View suppliers   | —                                                                        |
| `get_suppliers`      | List suppliers     | Reads         | View suppliers   | —                                                                        |
| `archive_supplier`   | Archive a supplier | **Acts**      | Manage suppliers | Yes, by unarchiving it                                                   |
| `create_suppliers`   | Create suppliers   | **Acts**      | Manage suppliers | By archiving the supplier, if it has no payment, request or subscription |
| `update_supplier`    | Update a supplier  | **Acts**      | Manage suppliers | Yes, by updating it again                                                |

# Company and reference data

Permissions: View companies (`experimental:company:read`), View analytical fields (`analytical-field:read`), View cost centers (`cost-center:read`), View expense categories (`expense-category:read`), View expense category fields (`experimental:expense-category-v2:read`), View users (`user:read`), Manage analytical fields (`experimental:analytical-field-v2:write`), Manage expense categories (`experimental:expense-category-v2:write`).

| Tool                            | What it does                  | Reads or acts | Permission                   | Can it be undone?                                     |
| :------------------------------ | :---------------------------- | :------------ | :--------------------------- | :---------------------------------------------------- |
| `list_companies`                | List companies                | Reads         | View companies               | —                                                     |
| `get_analytical_fields`         | List analytical fields        | Reads         | View analytical fields       | —                                                     |
| `get_analytical_field_values`   | List analytical field values  | Reads         | View analytical fields       | —                                                     |
| `get_cost_centers`              | List cost centres             | Reads         | View cost centers            | —                                                     |
| `get_expense_categories`        | List expense categories       | Reads         | View expense categories      | —                                                     |
| `get_expense_category_fields`   | List expense category fields  | Reads         | View expense category fields | —                                                     |
| `get_users`                     | List users                    | Reads         | View users                   | —                                                     |
| `create_analytical_field`       | Create analytical field       | **Acts**      | Manage analytical fields     | By deleting it                                        |
| `update_analytical_field`       | Update analytical field       | **Acts**      | Manage analytical fields     | Yes, by updating it again                             |
| `delete_analytical_field`       | Delete analytical field       | **Acts**      | Manage analytical fields     | No                                                    |
| `create_analytical_field_value` | Create analytical field value | **Acts**      | Manage analytical fields     | By deleting it                                        |
| `update_analytical_field_value` | Update analytical field value | **Acts**      | Manage analytical fields     | Yes, by updating it again                             |
| `delete_analytical_field_value` | Delete analytical field value | **Acts**      | Manage analytical fields     | No                                                    |
| `create_expense_category_field` | Create expense category field | **Acts**      | Manage expense categories    | By deleting it                                        |
| `update_expense_category_field` | Update expense category field | **Acts**      | Manage expense categories    | Yes, by updating it again                             |
| `delete_expense_category_field` | Delete expense category field | **Acts**      | Manage expense categories    | No — it removes every expense category of the company |
| `create_expense_category`       | Create expense category       | **Acts**      | Manage expense categories    | By deleting it                                        |
| `update_expense_category`       | Update expense category       | **Acts**      | Manage expense categories    | Yes, by updating it again                             |
| `delete_expense_category`       | Delete expense category       | **Acts**      | Manage expense categories    | No                                                    |

*Generated from the MCP server's tool registry (`Spendesk/public-api` at `60a1b68`, 29 September 2026). The server and its tools evolve: reconnect your assistant to pick up new tools — see the [changelog](https://developer.spendesk.com/changelog).*