Skip to content

Modern Treasury MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

MCP server for Modern Treasury — payment orders, transactions, counterparties and ledgers.

Deletes · 1

17 tools: 1 can delete or cancel things and 16 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http modern-treasury https://modern-treasury.usefulapi.io/mcp

Findings

Matches of fixed checks, with the text they matched.

1 info

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

17 tools

Deletes or cancels 1Claude Code: deny
  • modern_treasury_create_counterpartyCreates a counterparty (contact) record in Modern Treasury.No findings

    Why it is in this group

    • The name "modern_treasury_create_counterparty" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Creates a counterparty (contact) record in Modern Treasury. Creates a record only — no bank details, MOVES NO MONEY. API: POST /counterparties.

    Annotations the server declares

    • title: Create counterparty
    • destructiveHint: true
Only reads 16Claude Code: allow
  • modern_treasury_get_counterpartyGet a single counterparty by id.No findings

    Why it is in this group

    • The name "modern_treasury_get_counterparty" says "get": a word for reading.
    Description, as the server wrote it
    Get a single counterparty by id. API: GET /counterparties/{id}.

    Annotations the server declares

    • title: Get counterparty
    • readOnlyHint: true
  • modern_treasury_get_ledger_accountGet a single ledger account by id, including balances.No findings

    Why it is in this group

    • The name "modern_treasury_get_ledger_account" says "get": a word for reading.
    Description, as the server wrote it
    Get a single ledger account by id, including balances. API: GET /ledger_accounts/{id}.

    Annotations the server declares

    • title: Get ledger account
    • readOnlyHint: true
  • modern_treasury_get_payment_orderGet a single payment order by id (READ ONLY).No findings

    Why it is in this group

    • The name "modern_treasury_get_payment_order" says "get": a word for reading.
    Description, as the server wrote it
    Get a single payment order by id (READ ONLY). API: GET /payment_orders/{id}.

    Annotations the server declares

    • title: Get payment order
    • readOnlyHint: true
  • modern_treasury_get_transactionGet a single transaction by id.No findings

    Why it is in this group

    • The name "modern_treasury_get_transaction" says "get": a word for reading.
    Description, as the server wrote it
    Get a single transaction by id. API: GET /transactions/{id}.

    Annotations the server declares

    • title: Get transaction
    • readOnlyHint: true
  • modern_treasury_list_counterpartiesList counterparties (contacts).No findings

    Why it is in this group

    • The name "modern_treasury_list_counterparties" says "list": a word for reading.
    Description, as the server wrote it
    List counterparties (contacts). API: GET /counterparties.

    Annotations the server declares

    • title: List counterparties
    • readOnlyHint: true
  • modern_treasury_list_expected_paymentsList expected payments (READ ONLY).No findings

    Why it is in this group

    • The name "modern_treasury_list_expected_payments" says "list": a word for reading.
    Description, as the server wrote it
    List expected payments (READ ONLY). API: GET /expected_payments.

    Annotations the server declares

    • title: List expected payments
    • readOnlyHint: true
  • modern_treasury_list_external_accountsList external (counterparty) bank accounts.No findings

    Why it is in this group

    • The name "modern_treasury_list_external_accounts" says "list": a word for reading.
    Description, as the server wrote it
    List external (counterparty) bank accounts. API: GET /external_accounts.

    Annotations the server declares

    • title: List external accounts
    • readOnlyHint: true
  • modern_treasury_list_internal_accountsList your organization's internal bank accounts.No findings

    Why it is in this group

    • The name "modern_treasury_list_internal_accounts" says "list": a word for reading.
    Description, as the server wrote it
    List your organization's internal bank accounts. API: GET /internal_accounts.

    Annotations the server declares

    • title: List internal accounts
    • readOnlyHint: true
  • modern_treasury_list_ledger_accountsList ledger accounts.No findings

    Why it is in this group

    • The name "modern_treasury_list_ledger_accounts" says "list": a word for reading.
    Description, as the server wrote it
    List ledger accounts. API: GET /ledger_accounts.

    Annotations the server declares

    • title: List ledger accounts
    • readOnlyHint: true
  • modern_treasury_list_ledger_entriesList ledger entries (individual debits/credits).No findings

    Why it is in this group

    • The name "modern_treasury_list_ledger_entries" says "list": a word for reading.
    Description, as the server wrote it
    List ledger entries (individual debits/credits). API: GET /ledger_entries.

    Annotations the server declares

    • title: List ledger entries
    • readOnlyHint: true
  • modern_treasury_list_ledger_transactionsList ledger transactions (READ ONLY — does not post value).No findings

    Why it is in this group

    • The name "modern_treasury_list_ledger_transactions" says "list": a word for reading.
    Description, as the server wrote it
    List ledger transactions (READ ONLY — does not post value). API: GET /ledger_transactions.

    Annotations the server declares

    • title: List ledger transactions
    • readOnlyHint: true
  • modern_treasury_list_ledgersList double-entry ledgers.No findings

    Why it is in this group

    • The name "modern_treasury_list_ledgers" says "list": a word for reading.
    Description, as the server wrote it
    List double-entry ledgers. API: GET /ledgers.

    Annotations the server declares

    • title: List ledgers
    • readOnlyHint: true
  • modern_treasury_list_payment_ordersList payment orders (READ ONLY — does not create or approve payments).No findings

    Why it is in this group

    • The name "modern_treasury_list_payment_orders" says "list": a word for reading.
    Description, as the server wrote it
    List payment orders (READ ONLY — does not create or approve payments). API: GET /payment_orders.

    Annotations the server declares

    • title: List payment orders
    • readOnlyHint: true
  • modern_treasury_list_returnsList payment returns (e.g.No findings

    Why it is in this group

    • The name "modern_treasury_list_returns" says "list": a word for reading.
    Description, as the server wrote it
    List payment returns (e.g. ACH returns). API: GET /returns.

    Annotations the server declares

    • title: List returns
    • readOnlyHint: true
  • modern_treasury_list_transactionsList bank transactions.No findings

    Why it is in this group

    • The name "modern_treasury_list_transactions" says "list": a word for reading.
    Description, as the server wrote it
    List bank transactions. API: GET /transactions.

    Annotations the server declares

    • title: List transactions
    • readOnlyHint: true
  • modern_treasury_pingVerify connectivity and credentials.1 finding

    Why it is in this group

    • The name "modern_treasury_ping" says "ping": a word for reading.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "Verify connectivity and credentials. API: GET /ping."

      What this check looks for
    Description, as the server wrote it
    Verify connectivity and credentials. API: GET /ping.

    Annotations the server declares

    • title: Ping (auth check)
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http modern-treasury https://modern-treasury.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__modern-treasury__modern_treasury_ping",
      "mcp__modern-treasury__modern_treasury_list_counterparties",
      "mcp__modern-treasury__modern_treasury_get_counterparty",
      "mcp__modern-treasury__modern_treasury_list_internal_accounts",
      "mcp__modern-treasury__modern_treasury_list_external_accounts",
      "mcp__modern-treasury__modern_treasury_list_payment_orders",
      "mcp__modern-treasury__modern_treasury_get_payment_order",
      "mcp__modern-treasury__modern_treasury_list_expected_payments",
      "mcp__modern-treasury__modern_treasury_list_transactions",
      "mcp__modern-treasury__modern_treasury_get_transaction",
      "mcp__modern-treasury__modern_treasury_list_returns",
      "mcp__modern-treasury__modern_treasury_list_ledgers",
      "mcp__modern-treasury__modern_treasury_list_ledger_accounts",
      "mcp__modern-treasury__modern_treasury_get_ledger_account",
      "mcp__modern-treasury__modern_treasury_list_ledger_transactions",
      "mcp__modern-treasury__modern_treasury_list_ledger_entries"
    ],
    "ask": [],
    "deny": [
      "mcp__modern-treasury__modern_treasury_create_counterparty"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as modern-treasury. Review it before you use it.