---
title: "Modern Treasury MCP server for AI agents - actionlake"
description: "Give Claude 182 Modern Treasury actions through one MCP server: ledger account categories. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/modern-treasury
updated: 2026-10-23
---

Connectors · Accounting & finance

# Modern Treasury MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Modern Treasury and the rest of your systems. It gives your agent 182 Modern Treasury actions (91 reads, 66 writes and 25 that wait for a confirmation) and holds the Modern Treasury credential itself, so the agent never does. It paces Modern Treasury's limits and records every call.

[Connect Modern Treasury free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "modern_treasury.invoices.list",
  intent: "check which Modern Treasury account is connected"
}
# list invoices · read · 1 upstream call
```

- 182 actions in one signed file
- 91 read look, never change
- 66 write create and update
- 25 wait for a yes destructive, confirmed first

Set up

## Connect Modern Treasury in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Modern Treasury.
   Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `organization_id` Modern Treasury organization ID (Developers > API Keys shows it beside your keys)
   - `api_key` Modern Treasury API key (Developers > API Keys > Create API key)
   ```
   account { op: "connections.requirements", service: "modern_treasury" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "modern_treasury.invoices.list" }
   # list invoices · read · 1 upstream call
   check { action: "modern_treasury.invoices.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Modern Treasury at a glance

**Sign-in**

Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`organization_id` `api_key`

**Limits we pace to**

100 calls a second, per connection

**API covered**

Modern Treasury API v1 (OpenAPI 3.0.1)`app.moderntreasury.com`

**Built from**

Modern Treasury's documentation, read 23 October 2026[OpenAPI spec (GitHub)](https://raw.githubusercontent.com/Modern-Treasury/modern-treasury-openapi/main/openapi/mt_openapi_spec_v1.yaml) [docs.moderntreasury.com](https://docs.moderntreasury.com/platform/reference/getting-started)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

91 of 91 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

7, so ask can line Modern Treasury up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Modern Treasury.

182 actions in 50 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **91** read look, never change
- **66** write create and update
- **25** destructive wait for a confirmation

1. ### Ledger account categories
   9
   2 read · 4 write · 3 destructive
   create ledger_account_category · list ledger_account_categories · add ledger_account to ledger_account_category · add ledger_account_category to ledger_account_category
2. ### External accounts
   7
   2 read · 4 write · 1 destructive
   create external account · list external accounts · verify external account · complete verification of external account
3. ### Ledger transactions
   7
   3 read · 2 write · 2 destructive
   list ledger_transactions · create ledger_transaction · get ledger_transaction · update ledger_transaction
4. ### Counterparties
   6
   2 read · 3 write · 1 destructive
   list counterparties · create counterparty · show counterparty · update counterparty
5. ### Ledger account settlements
   6
   2 read · 3 write · 1 destructive
   create ledger_account_settlement · list ledger_account_settlements · patch ledger_account_settlement_entries · get ledger_account_settlement
6. ### Transactions
   6
   3 read · 2 write · 1 destructive
   list transactions · create transaction · get transaction · update transaction
7. ### Expected payments
   5
   2 read · 2 write · 1 destructive
   create expected payment · list expected_payments · get expected payment · update expected payment
8. ### Internal accounts
   5
   2 read · 3 write · 0 destructive
   list internal accounts · create internal account · get internal account · update internal account

**42 more areas · 131 actions**

- Invoice line items **5**
- Invoices **5**
- Ledger account balance monitors **5**
- Ledger accounts **5**
- Ledgers **5**
- Payment orders **5**
- Virtual accounts **5**
- Account collection flows **4**
- Account details **4**
- Balance reports **4**
- Connection legal entities **4**
- Documents **4**
- Holds **4**
- Legal entities **4**
- Payment actions **4**
- Payment flows **4**
- Routing details **4**
- Transaction line items **4**
- Bulk requests **3**
- Foreign exchange quotes **3**
- Identifications **3**
- Incoming payment details **3**
- Journal reports **3**
- Ledger entries **3**
- Line items **3**
- Returns **3**
- Reversals **3**
- Bulk results **2**
- Cases **2**
- Events **2**
- Journal entries **2**
- Journal sources **2**
- Ledger account statements **2**
- Legal entity associations **2**
- Payment references **2**
- Simulations **2**
- Virtual account settings **2**
- Account capabilities **1**
- Connections **1**
- Ledger transaction versions **1**
- Ping **1**
- Validations **1**

Top actions

## The Modern Treasury API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 30 of Modern Treasury's 30 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `modern_treasury.invoices.list` list invoices | list invoices. | read | `finance.invoice.list` 101 connectors |
| `modern_treasury.payment_orders.list` list payment orders | list payment orders. | read | `finance.payment.list` 75 connectors |
| `modern_treasury.counterparties.list` list counterparties | list counterparties. | read | `crm.company.list` 162 connectors |
| `modern_treasury.ledger_accounts.list` list ledger_accounts | list ledger_accounts. | read | `finance.ledger_account.list` 36 connectors |
| `modern_treasury.internal_accounts.list` list internal accounts | list internal accounts. | read | `finance.bank_account.list` 35 connectors |
| `modern_treasury.ledger_transactions.list` list ledger_transactions | list ledger_transactions. | read | `finance.journal_entry.list` 25 connectors |
| `modern_treasury.transactions.list` list transactions | list transactions. | read | `finance.bank_transaction.list` 23 connectors |
| `modern_treasury.invoices.create` create invoice | create invoice. | write | `finance.invoice.create` 74 connectors |
| `modern_treasury.counterparties.create` create counterparty | create counterparty. | write | `crm.company.create` 142 connectors |
| `modern_treasury.ledger_accounts.create` create ledger_account | create ledger_account. | write | `finance.ledger_account.create` 32 connectors |
| `modern_treasury.internal_accounts.create` create internal account | create internal account. | write | `finance.bank_account.create` 24 connectors |
| `modern_treasury.counterparties.delete` delete counterparty | delete counterparty. | destructive | `crm.company.delete` 119 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Modern Treasury actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Modern Treasury invoices are more than 30 days overdue? Group them by customer with the total owed.
   calls `modern_treasury.invoices.list`
2. Write write
   create invoice in Modern Treasury. Show me exactly what you will send before you save it.
   calls `modern_treasury.invoices.create`
3. Across systems read
   Which Modern Treasury companies have invoices in ConnectWise PSA, and how many each?
   calls `modern_treasury.counterparties.list` `connectwise_manage.invoices.list`

Across your systems

## Modern Treasury, joined to the rest of your business.

One `ask` fetches from Modern Treasury and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- Which Modern Treasury companies have invoices in ConnectWise PSA, and how many each?
  `modern_treasury.counterparties.list` + `connectwise_manage.invoices.list`, on `crm.company` · [ConnectWise PSA](https://actionlake.com/connectors/connectwise-psa)
- Which Modern Treasury companies have tickets in HubSpot CRM, and how many each?
  `modern_treasury.counterparties.list` + `hubspot_crm.tickets.list`, on `crm.company` · [HubSpot CRM](https://actionlake.com/connectors/hubspot-crm)

Also mapped by other connectors `crm.company` **227** `finance.invoice` **91** `finance.payment` **53** `finance.ledger_account` **32** `finance.bank_account` **25** `finance.bank_transaction` **12** `finance.journal_entry` **9**

ask

```
ask {
  intent: "which Modern Treasury companies have invoices in ConnectWise PSA, and how many each",
  steps: [
    { action: "modern_treasury.counterparties.list", as: "co", input: {}, limit: 100, max_pages: 5 },
    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "co",
        right: "inv",
        on: "crm.company",
        group_by: "co.name",
        select: ["co.name", "count(inv.id) as invoices"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Modern Treasury

## Destructive actions wait for a yes.

25 Modern Treasury actions are destructive. These are all of them:

- delete counterparty `modern_treasury.counterparties.delete`
- delete ledger_account `modern_treasury.ledger_accounts.delete`
- delete transaction `modern_treasury.transactions.delete`
- delete ledger `modern_treasury.ledgers.delete`
- create return `modern_treasury.returns.create`
- create reversal `modern_treasury.reversals.create`
- create bulk_request `modern_treasury.bulk_requests.create`
- create payment order `modern_treasury.payment_orders.create`
- delete account_detail `modern_treasury.account_details.delete`
- delete balance_report `modern_treasury.balance_reports.delete`
- delete routing_detail `modern_treasury.routing_details.delete`
- delete virtual_account `modern_treasury.virtual_accounts.delete`
- delete expected payment `modern_treasury.expected_payments.delete`
- delete external account `modern_treasury.external_accounts.delete`
- delete invoice_line_item `modern_treasury.invoice_line_items.delete`
- create async payment order `modern_treasury.payment_orders.create_async`
- delete transaction line item `modern_treasury.transaction_line_items.delete`
- delete ledger_account_category `modern_treasury.ledger_account_categories.delete`
- create ledger_transaction partial post `modern_treasury.ledger_transactions.partial_post`
- delete legal_entity_association `modern_treasury.legal_entity_associations.delete`
- create ledger_transaction reversal `modern_treasury.ledger_transactions.create_reversal`
- delete ledger_account_balance_monitor `modern_treasury.ledger_account_balance_monitors.delete`
- delete ledger_account_category from ledger_account_category `modern_treasury.ledger_account_categories.remove_sub_category`
- remove ledger_account from ledger_account_category `modern_treasury.ledger_account_categories.remove_ledger_account`
- delete ledger_account_settlement_entries `modern_treasury.ledger_account_settlements.remove_ledger_entries`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do modern_treasury.counterparties.delete confirm_policy: **human**

delete counterparty?

**intent:** the user asked me to delete counterparty

run suspended · waiting for a named person · key _modern-treasury-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "modern-treasury-agent",
  allowed_actions: ["modern_treasury.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "modern_treasury.counterparties.delete", approver: "lead@example.com" },
    { match: "modern_treasury.ledger_accounts.delete", approver: "lead@example.com" },
    { match: "modern_treasury.transactions.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Modern Treasury only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Modern Treasury costs on actionlake.

Every Modern Treasury action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Modern Treasury refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 182 Modern Treasury actions
- 182 actions page each page of a long list is one call
- 91 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Modern Treasury action.

182 actions by area: the id your agent calls, what it does, and its effect.

**Ledger account categories 9**

- `modern_treasury.ledger_account_categories.add_ledger_account` add ledger_account to ledger_account_category write
- `modern_treasury.ledger_account_categories.add_sub_category` add ledger_account_category to ledger_account_category write
- `modern_treasury.ledger_account_categories.create` create ledger_account_category write
- `modern_treasury.ledger_account_categories.delete` delete ledger_account_category destructive
- `modern_treasury.ledger_account_categories.get` get ledger_account_category read
- `modern_treasury.ledger_account_categories.list` list ledger_account_categories read
- `modern_treasury.ledger_account_categories.remove_ledger_account` remove ledger_account from ledger_account_category destructive
- `modern_treasury.ledger_account_categories.remove_sub_category` delete ledger_account_category from ledger_account_category destructive
- `modern_treasury.ledger_account_categories.update` update ledger_account_category write

**External accounts 7**

- `modern_treasury.external_accounts.complete_verification` complete verification of external account write
- `modern_treasury.external_accounts.create` create external account write
- `modern_treasury.external_accounts.delete` delete external account destructive
- `modern_treasury.external_accounts.get` show external account read
- `modern_treasury.external_accounts.list` list external accounts read
- `modern_treasury.external_accounts.update` update external account write
- `modern_treasury.external_accounts.verify` verify external account write

**Ledger transactions 7**

- `modern_treasury.ledger_transactions.create` create ledger_transaction write
- `modern_treasury.ledger_transactions.create_reversal` create ledger_transaction reversal destructive
- `modern_treasury.ledger_transactions.get` get ledger_transaction read
- `modern_treasury.ledger_transactions.list` list ledger_transactions read
- `modern_treasury.ledger_transactions.list_versions` list ledger_transaction versions read
- `modern_treasury.ledger_transactions.partial_post` create ledger_transaction partial post destructive
- `modern_treasury.ledger_transactions.update` update ledger_transaction write

**Counterparties 6**

- `modern_treasury.counterparties.collect_account` collect account details write
- `modern_treasury.counterparties.create` create counterparty write
- `modern_treasury.counterparties.delete` delete counterparty destructive
- `modern_treasury.counterparties.get` show counterparty read
- `modern_treasury.counterparties.list` list counterparties read
- `modern_treasury.counterparties.update` update counterparty write

**Ledger account settlements 6**

- `modern_treasury.ledger_account_settlements.add_ledger_entries` patch ledger_account_settlement_entries write
- `modern_treasury.ledger_account_settlements.create` create ledger_account_settlement write
- `modern_treasury.ledger_account_settlements.get` get ledger_account_settlement read
- `modern_treasury.ledger_account_settlements.list` list ledger_account_settlements read
- `modern_treasury.ledger_account_settlements.remove_ledger_entries` delete ledger_account_settlement_entries destructive
- `modern_treasury.ledger_account_settlements.update` update ledger_account_settlement write

**Transactions 6**

- `modern_treasury.transactions.create` create transaction write
- `modern_treasury.transactions.delete` delete transaction destructive
- `modern_treasury.transactions.get` get transaction read
- `modern_treasury.transactions.list` list transactions read
- `modern_treasury.transactions.list_line_items` list transaction_line_items read
- `modern_treasury.transactions.update` update transaction write

**Expected payments 5**

- `modern_treasury.expected_payments.create` create expected payment write
- `modern_treasury.expected_payments.delete` delete expected payment destructive
- `modern_treasury.expected_payments.get` get expected payment read
- `modern_treasury.expected_payments.list` list expected_payments read
- `modern_treasury.expected_payments.update` update expected payment write

**Internal accounts 5**

- `modern_treasury.internal_accounts.create` create internal account write
- `modern_treasury.internal_accounts.get` get internal account read
- `modern_treasury.internal_accounts.list` list internal accounts read
- `modern_treasury.internal_accounts.request_closure` request closure of internal account write
- `modern_treasury.internal_accounts.update` update internal account write

**Invoice line items 5**

- `modern_treasury.invoice_line_items.create` create invoice_line_item write
- `modern_treasury.invoice_line_items.delete` delete invoice_line_item destructive
- `modern_treasury.invoice_line_items.get` get invoice_line_item read
- `modern_treasury.invoice_line_items.list` list invoice_line_items read
- `modern_treasury.invoice_line_items.update` update invoice_line_item write

**Invoices 5**

- `modern_treasury.invoices.add_payment_order` add payment_order_id to invoice write
- `modern_treasury.invoices.create` create invoice write
- `modern_treasury.invoices.get` get invoice read
- `modern_treasury.invoices.list` list invoices read
- `modern_treasury.invoices.update` update invoice write

**Ledger account balance monitors 5**

- `modern_treasury.ledger_account_balance_monitors.create` create ledger_account_balance_monitor write
- `modern_treasury.ledger_account_balance_monitors.delete` delete ledger_account_balance_monitor destructive
- `modern_treasury.ledger_account_balance_monitors.get` get ledger_account_balance_monitor read
- `modern_treasury.ledger_account_balance_monitors.list` list ledger_account_balance_monitors read
- `modern_treasury.ledger_account_balance_monitors.update` update ledger_account_balance_monitor write

**Ledger accounts 5**

- `modern_treasury.ledger_accounts.create` create ledger_account write
- `modern_treasury.ledger_accounts.delete` delete ledger_account destructive
- `modern_treasury.ledger_accounts.get` get ledger_account read
- `modern_treasury.ledger_accounts.list` list ledger_accounts read
- `modern_treasury.ledger_accounts.update` update ledger_account write

**Ledgers 5**

- `modern_treasury.ledgers.create` create ledger write
- `modern_treasury.ledgers.delete` delete ledger destructive
- `modern_treasury.ledgers.get` get ledger read
- `modern_treasury.ledgers.list` list ledgers read
- `modern_treasury.ledgers.update` update ledger write

**Payment orders 5**

- `modern_treasury.payment_orders.create` create payment order destructive
- `modern_treasury.payment_orders.create_async` create async payment order destructive
- `modern_treasury.payment_orders.get` get payment order read
- `modern_treasury.payment_orders.list` list payment orders read
- `modern_treasury.payment_orders.update` update payment order write

**Virtual accounts 5**

- `modern_treasury.virtual_accounts.create` create virtual_account write
- `modern_treasury.virtual_accounts.delete` delete virtual_account destructive
- `modern_treasury.virtual_accounts.get` get virtual_account read
- `modern_treasury.virtual_accounts.list` list virtual_accounts read
- `modern_treasury.virtual_accounts.update` update virtual_account write

**Account collection flows 4**

- `modern_treasury.account_collection_flows.create` create account_collection_flow write
- `modern_treasury.account_collection_flows.get` get account_collection_flow read
- `modern_treasury.account_collection_flows.list` list account_collection_flows read
- `modern_treasury.account_collection_flows.update` update account_collection_flow write

**Account details 4**

- `modern_treasury.account_details.create` create account_detail write
- `modern_treasury.account_details.delete` delete account_detail destructive
- `modern_treasury.account_details.get` get account_detail read
- `modern_treasury.account_details.list` list account_details read

**Balance reports 4**

- `modern_treasury.balance_reports.create` create balance reports write
- `modern_treasury.balance_reports.delete` delete balance_report destructive
- `modern_treasury.balance_reports.get` get balance_report read
- `modern_treasury.balance_reports.list` list balance_reports read

**Connection legal entities 4**

- `modern_treasury.connection_legal_entities.create` create connection_legal_entity write
- `modern_treasury.connection_legal_entities.get` get connection_legal_entity read
- `modern_treasury.connection_legal_entities.list` list connection_legal_entities read
- `modern_treasury.connection_legal_entities.update` update connection_legal_entity write

**Documents 4**

- `modern_treasury.documents.get` get document read
- `modern_treasury.documents.get_for_record` get document - nested path (legacy) read
- `modern_treasury.documents.list` list documents read
- `modern_treasury.documents.list_for_record` list documents - nested path (legacy) read

**Holds 4**

- `modern_treasury.holds.create` create hold write
- `modern_treasury.holds.get` show hold read
- `modern_treasury.holds.list` list holds read
- `modern_treasury.holds.update` update hold write

**Legal entities 4**

- `modern_treasury.legal_entities.create` create legal_entity write
- `modern_treasury.legal_entities.get` get legal_entity read
- `modern_treasury.legal_entities.list` list legal_entities read
- `modern_treasury.legal_entities.update` update legal entity write

**Payment actions 4**

- `modern_treasury.payment_actions.create` create payment_action write
- `modern_treasury.payment_actions.get` get payment_action read
- `modern_treasury.payment_actions.list` list payment_actions read
- `modern_treasury.payment_actions.update` update payment_action write

**Payment flows 4**

- `modern_treasury.payment_flows.create` create payment_flow write
- `modern_treasury.payment_flows.get` get payment_flow read
- `modern_treasury.payment_flows.list` list payment_flows read
- `modern_treasury.payment_flows.update` update payment_flow write

**Routing details 4**

- `modern_treasury.routing_details.create` create routing_detail write
- `modern_treasury.routing_details.delete` delete routing_detail destructive
- `modern_treasury.routing_details.get` get routing_detail read
- `modern_treasury.routing_details.list` list routing_details read

**Transaction line items 4**

- `modern_treasury.transaction_line_items.create` create transaction line items write
- `modern_treasury.transaction_line_items.delete` delete transaction line item destructive
- `modern_treasury.transaction_line_items.get` get transaction line item read
- `modern_treasury.transaction_line_items.list` list transaction_line_items read

**Bulk requests 3**

- `modern_treasury.bulk_requests.create` create bulk_request destructive
- `modern_treasury.bulk_requests.get` get bulk_request read
- `modern_treasury.bulk_requests.list` list bulk_requests read

**Foreign exchange quotes 3**

- `modern_treasury.foreign_exchange_quotes.create` create foreign_exchange_quote write
- `modern_treasury.foreign_exchange_quotes.get` get foreign_exchange_quote read
- `modern_treasury.foreign_exchange_quotes.list` list foreign_exchange_quotes read

**Identifications 3**

- `modern_treasury.identifications.create` create identification write
- `modern_treasury.identifications.get` get identification read
- `modern_treasury.identifications.update` update identification write

**Incoming payment details 3**

- `modern_treasury.incoming_payment_details.get` get incoming payment detail read
- `modern_treasury.incoming_payment_details.list` list incoming payment_details read
- `modern_treasury.incoming_payment_details.update` update incoming payment detail write

**Journal reports 3**

- `modern_treasury.journal_reports.get` show journal_report read
- `modern_treasury.journal_reports.list` list journal_reports read
- `modern_treasury.journal_reports.update` update journal_report write

**Ledger entries 3**

- `modern_treasury.ledger_entries.get` get ledger_entry read
- `modern_treasury.ledger_entries.list` list ledger_entries read
- `modern_treasury.ledger_entries.update` update ledger_entry write

**Line items 3**

- `modern_treasury.line_items.get` get line item read
- `modern_treasury.line_items.list` list line items read
- `modern_treasury.line_items.update` update line item write

**Returns 3**

- `modern_treasury.returns.create` create return destructive
- `modern_treasury.returns.get` show return read
- `modern_treasury.returns.list` list returns read

**Reversals 3**

- `modern_treasury.reversals.create` create reversal destructive
- `modern_treasury.reversals.get` show reversal read
- `modern_treasury.reversals.list` list reversals read

**Bulk results 2**

- `modern_treasury.bulk_results.get` get bulk_result read
- `modern_treasury.bulk_results.list` list bulk_results read

**Cases 2**

- `modern_treasury.cases.get` get case read
- `modern_treasury.cases.list` list cases read

**Events 2**

- `modern_treasury.events.get` get event read
- `modern_treasury.events.list` list events read

**Journal entries 2**

- `modern_treasury.journal_entries.get` show journal_entry read
- `modern_treasury.journal_entries.list` list journal_entries read

**Journal sources 2**

- `modern_treasury.journal_sources.get` show journal_source read
- `modern_treasury.journal_sources.list` list journal_sources read

**Ledger account statements 2**

- `modern_treasury.ledger_account_statements.create` create ledger_account_statement write
- `modern_treasury.ledger_account_statements.get` get ledger_account_statement read

**Legal entity associations 2**

- `modern_treasury.legal_entity_associations.create` create legal_entity_association write
- `modern_treasury.legal_entity_associations.delete` delete legal_entity_association destructive

**Payment references 2**

- `modern_treasury.payment_references.get` get payment_reference read
- `modern_treasury.payment_references.list` list payment_references read

**Simulations 2**

- `modern_treasury.simulations.create_incoming_payment_detail` create async incoming payment detail write
- `modern_treasury.simulations.update_legal_entity_status` update legal entity status write

**Virtual account settings 2**

- `modern_treasury.virtual_account_settings.create` create virtual_account_setting write
- `modern_treasury.virtual_account_settings.list` list virtual_account_settings read

**Account capabilities 1**

- `modern_treasury.account_capabilities.update` update account_capability write

**Connections 1**

- `modern_treasury.connections.list` list connections read

**Ledger transaction versions 1**

- `modern_treasury.ledger_transaction_versions.list` list ledger_transaction_versions read

**Ping 1**

- `modern_treasury.ping.get` ping api read

**Validations 1**

- `modern_treasury.validations.validate_routing_number` validate routing numbers read

Questions

## The Modern Treasury MCP server, answered.

**Is there a Modern Treasury MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 182 Modern Treasury actions across ledger account categories, external accounts, ledger transactions and counterparties, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Modern Treasury.

**What do I need to connect Modern Treasury?**

Modern Treasury organization ID (Developers > API Keys shows it beside your keys) and Modern Treasury API key (Developers > API Keys > Create API key). The free call account { op: "connections.requirements", service: "modern_treasury" } lists exactly what to paste.

**Can an AI agent delete or change things in Modern Treasury?**

Only if its key allows it, and only with an explicit confirmation. 25 Modern Treasury actions are destructive, including delete counterparty, delete ledger_account and delete transaction. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Modern Treasury API limit?**

actionlake paces every call to the limits in the Modern Treasury service file: 100 calls a second per connection. Repeated reads are answered from cache (91 Modern Treasury actions can be), which never reaches Modern Treasury.

**What does a Modern Treasury action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (182 Modern Treasury actions page). Cache hits, searches, dry runs and calls Modern Treasury refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Modern Treasury API does it cover?**

The Modern Treasury API v1 (OpenAPI 3.0.1) at app.moderntreasury.com. It is built from Modern Treasury's documentation as read on 23 October 2026. 182 actions in 50 areas, each one in the signed service file (version 1.0.0).

**Can I combine Modern Treasury with my other systems?**

Yes. ask joins Modern Treasury to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Modern Treasury maps crm.company, which 227 other connectors also map.

**Does actionlake keep my Modern Treasury data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Modern Treasury credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Modern Treasury

Shares the most action names with

- [Sage Intacct 24](https://actionlake.com/connectors/sage-intacct)
- [Pennylane 23](https://actionlake.com/connectors/pennylane)
- [Codat 21](https://actionlake.com/connectors/codat)
- [Visma eAccounting 20](https://actionlake.com/connectors/visma-eaccounting)
- [Oracle Fusion Cloud ERP (Financials) 18](https://actionlake.com/connectors/oracle-fusion-cloud-erp-financials)
- [sevdesk 16](https://actionlake.com/connectors/sevdesk)

Joins with, on shared entities

- [HaloPSA 3](https://actionlake.com/connectors/halopsa)
- [Zoho Inventory 3](https://actionlake.com/connectors/zoho-inventory)
- [Zuper 3](https://actionlake.com/connectors/zuper)
- [Rev.io 3](https://actionlake.com/connectors/rev-io)
- [Syncro 3](https://actionlake.com/connectors/syncro)
- [RepairShopr 3](https://actionlake.com/connectors/repairshopr)

Browse

- [All Accounting & finance connectors](https://actionlake.com/connectors/category/accounting-and-finance)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Modern Treasury; the name is the vendor's own. Counts are from the Modern Treasury service file, version 1.0.0.

## Give your agent Modern Treasury today.

[Connect Modern Treasury free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/modern-treasury
More: https://actionlake.com/llms.txt
