MCP Tool Reference

Every tool the Maple Budget MCP server gives Claude: 66 in total, grouped by area. Read-only connections only see the read tools.

Budget · Read

get_profileRead Only

Get The Authenticated User's Profile.

get_on_launch_dataRead Only

Get All Data Needed On App Launch For A Specific Month.

  • monthRequired· Month number (1-12).
  • yearRequired· Four-digit year (e.g. 2025).
get_monthly_summaryRead Only

Get The Monthly Spending Summary For A Specific Month.

  • monthRequired· Month number (1-12).
  • yearRequired· Four-digit year (e.g. 2025).
get_transactionsRead Only

Get All Transactions For A Specific Month.

  • monthRequired· Month number (1-12).
  • yearRequired· Four-digit year (e.g. 2025).
get_categoriesRead Only

Get Spending Categories With Their Budgets And Totals For A Specific Month.

  • monthRequired· Month number (1-12).
  • yearRequired· Four-digit year (e.g. 2025).
get_categorical_overviewRead Only

Get Categorical Spending Overview For A Specific Month.

  • monthRequired· Month number (1-12).
  • yearRequired· Four-digit year (e.g. 2025).
get_recurring_transactionsRead Only

Get All Active Recurring Transactions.

Budget · Write

add_transactionChanges Data

Add A New Transaction.

  • dateRequired· Transaction Date In YYYY-MM-DD Format.
  • amount_spentRequired· Amount As A Decimal String (e.g. "42.50"). Positive = Expense, Negative = Income.
  • categoryRequired· Category ID (See get_categories).
  • titleRequired· Short Title For The Transaction (max 100 chars).
  • subtitleOptional· Optional Longer Description (max 100 chars).
  • tagsOptional· Optional List Of Tag IDs To Attach.
  • payment_formsOptional· Optional List Of Payment Method IDs Used.
update_transactionChanges Data

Update An Existing Transaction.

  • idRequired· The Transaction ID To Update.
  • dateOptional· New Date In YYYY-MM-DD Format.
  • amount_spentOptional· New Amount As A Decimal String.
  • categoryOptional· New Category ID (See get_categories).
  • titleOptional· New Title (Max 100 Chars).
  • subtitleOptional· New Subtitle (Max 100 Chars).
delete_transactionChanges Data

Delete A Transaction.

  • transaction_idRequired· The ID Of The Transaction To Delete.
add_tagChanges Data

Create A New Tag Within A Spending Category.

  • nameRequired· Tag Display Name.
  • categoryRequired· Category ID (See get_categories) This Tag Belongs To.
  • colorRequired· Hex Color Code For The Tag (e.g. "#FF5733").
update_tagChanges Data

Update An Existing Tag.

  • idRequired· The Tag ID To Update.
  • nameOptional· New Tag Name.
  • categoryOptional· New Category ID.
  • colorOptional· New Hex Color Code.
delete_tagChanges Data

Delete A Tag.

  • idRequired· The ID Of The Tag To Delete.
add_payment_methodChanges Data

Add A New Payment Method (e.g. A Credit Card Name).

  • nameRequired· Display Name For The Payment Method (Max 100 Chars).
add_recurring_transactionChanges Data

Add A New Recurring Transaction Rule.

  • amount_spentRequired· Amount As A Decimal String (e.g. "42.50").
  • categoryRequired· Category ID (See get_categories).
  • titleRequired· Short Title (Max 100 Chars).
  • next_occurrenceRequired· Date Of The Next Occurrence In YYYY-MM-DD Format.
  • frequencyRequired· Recurrence frequency — 0=weekly, 1=biweekly, 2=monthly, 3=yearly.
  • end_typeRequired· When To Stop — 0=Never, 1=After N Occurrences, 2=On A Specific Date.
  • subtitleOptional· Optional Description (Max 100 Chars).
  • tagsOptional· Optional list of tag IDs.
  • payment_formsOptional· Optional List Of Payment Method IDs.
  • end_occurrenceOptional· Number Of Occurrences Before Stopping (Required If End Type = 1).
  • end_dateOptional· End Date In YYYY-MM-DD Format (Required If End Type = 2).

Investments · Read

get_investment_accountsRead Only

Get All Investment Accounts.

get_investment_account_groupsRead Only

Get All Investment Account Groups.

get_positionsRead Only

Get Investment Positions (Holdings).

  • account_idOptional· Filter Positions To A Specific Investment Account.
  • group_idOptional· Filter Positions To Accounts In A Specific Group.
  • is_activeOptional· If True, Only Return Positions With Non-Zero Quantity.
get_tradesRead Only

Get Trade History.

  • account_idOptional· Filter Trades To A Specific Investment Account.
  • tickerOptional· Filter Trades By Yahoo Ticker Symbol (e.g. "AAPL").
  • offsetOptional· Number Of Trades To Skip (For Pagination).
  • limitOptional· Maximum Number Of Trades To Return.
get_investment_settingsRead Only

Get The User's Investment-Related Settings.

get_portfolio_summaryRead Only

Get The Portfolio Summary Computed By The Server.

  • display_currencyOptional· Currency To Report In ("CAD", "USD", "GBP"). Defaults To The User's Setting.
get_trade_ledgerRead Only

Get Trades With Server-Computed Cost Basis And Realized Gain On Each Sell.

  • display_currencyOptional· Currency For The Converted Columns.
  • account_idOptional· Filter To One Investment Account.
  • tickerOptional· Filter By Yahoo Ticker.
  • offsetOptional· Number Of Trades To Skip.
  • limitOptional· Maximum Number Of Trades To Return.
get_lotsRead Only

Get Every Buy As A Lot, Matched To The Sells That Closed It (Oldest First, Per Account).

get_net_worth_historyRead Only

Get Net Worth History Converted With Each Snapshot's Own FX Rates.

  • display_currencyOptional· Currency To Report In. Defaults To The User's Setting.

Investments · Write

add_investment_accountChanges Data

Create A New Investment Account.

  • nameRequired· Display Name For The Account (e.g. "TFSA - Wealthsimple").
  • account_typeRequired· One Of "TFSA", "RRSP", "FHSA", "NON_REGISTERED", "SAVINGS", "CRYPTO".
  • institutionOptional· Financial Institution Name.
  • group_idOptional· ID Of The Group To Place This Account In.
  • currencyOptional· Account Currency Code (e.g. "CAD", "USD").
  • is_investmentOptional· Whether The Account Holds Positions. Defaults To True For Every
  • cash_balancesOptional· Starting Cash By Currency, e.g. {"CAD": "1500.00"}.
  • total_contributedOptional· Total Amount Contributed So Far, As A String.
update_investment_accountChanges Data

Update An Existing Investment Account.

  • idRequired· The Investment Account ID.
  • nameOptional· New Display Name.
  • account_typeOptional· New Account Type.
  • institutionOptional· New Institution Name.
  • group_idOptional· New Group ID.
  • currencyOptional· New Currency Code.
  • is_investmentOptional· Whether The Account Holds Positions.
  • cash_balancesOptional· Cash By Currency To Set, e.g. {"CAD": "1500.00", "USD": "20.00"}.
  • total_contributedOptional· Total Amount Contributed So Far, As A String.
  • remove_from_groupOptional· True To Take The Account Out Of Its Group.
delete_investment_accountChanges Data

Delete An Investment Account And All Its Positions And Trades.

  • idRequired· The Investment Account ID To Delete.
add_investment_account_groupChanges Data

Create A New Investment Account Group.

  • nameRequired· Display Name For The Group.
delete_investment_account_groupChanges Data

Delete An Investment Account Group.

  • idRequired· The Group ID To Delete.
reorder_investment_account_groupsChanges Data

Reorder Investment Account Groups.

  • group_idsRequired· List Of Group IDs In The Desired Display Order.
add_tradeChanges Data

Record A New Trade (Buy Or Sell).

  • account_idRequired· The Investment Account ID Where This Trade Occurred.
  • ticker_yahooRequired· Yahoo Finance Ticker Symbol (e.g. "AAPL", "XIU.TO"). For Private Companies Use Any Unique Identifier.
  • ticker_displayRequired· Display Ticker (e.g. "AAPL", "XIU", "Startup Inc").
  • sideRequired· "BUY" Or "SELL".
  • quantityRequired· Number Of Shares/Units As A String (e.g. "10.5").
  • currencyRequired· Currency Code (e.g. "CAD", "USD").
  • dateRequired· Trade Date In YYYY-MM-DD Format.
  • price_totalOptional· For A BUY, The Total Cost (Required). For A SELL, The Cost Basis Removed —
  • sale_price_totalOptional· For SELL Trades, The Total Sale Proceeds.
  • exchange_rateOptional· Exchange Rate At The Time Of Trade (If Foreign Currency).
  • is_optionOptional· True If This Trade Is For An Options Contract.
  • option_typeOptional· "CALL" Or "PUT" (Required If is_option Is True).
  • strike_priceOptional· Strike Price As A String (Required If is_option Is True).
  • expiry_dateOptional· Option Expiry Date In YYYY-MM-DD Format (Required If is_option Is True).
  • contract_sizeOptional· Number Of Shares Per Contract (Default 100 For Exchange-Traded, Use 1 For Employee Stock Options).
  • manual_priceOptional· Current FMV Per Share For Private/Non-Public Positions.
delete_tradeChanges Data

Delete A Trade Record And Reverse Its Effect On The Position.

  • idRequired· The Trade ID To Delete.
update_tradeChanges Data

Edit A Trade In Place. Positions Are Rebuilt From Trade History Automatically.

  • idRequired· The Trade ID To Edit.
  • account_idOptional· Move The Trade To Another Investment Account.
  • ticker_yahooOptional· New Yahoo Ticker.
  • ticker_displayOptional· New Display Ticker.
  • sideOptional· "BUY" Or "SELL".
  • quantityOptional· New Quantity As A String.
  • price_totalOptional· For A BUY, Total Cost. For A SELL, Cost Basis Removed.
  • sale_price_totalOptional· For A SELL, Total Proceeds.
  • currencyOptional· Currency Code.
  • exchange_rateOptional· Exchange Rate At The Time Of Trade.
  • dateOptional· Trade Date In YYYY-MM-DD Format.
add_positionChanges Data

Directly Create A Position Without A Trade Record.

  • account_idRequired· The Investment Account ID.
  • ticker_yahooRequired· Yahoo Finance Ticker Symbol (e.g. "AAPL", "XIU.TO").
  • ticker_displayRequired· Display Ticker (e.g. "AAPL", "XIU").
  • currencyRequired· Currency Code ("CAD", "USD", Or "GBP").
  • quantityRequired· Number Of Shares/Units As A String (e.g. "100").
  • book_price_totalRequired· Total Book Cost As A String (e.g. "13000.00").
  • is_optionOptional· True If This Is An Options Position.
  • option_typeOptional· "CALL" Or "PUT" (Required If is_option Is True).
  • strike_priceOptional· Strike Price As A String (Required If is_option Is True).
  • expiry_dateOptional· Option Expiry Date In YYYY-MM-DD Format (Required If is_option Is True).
  • contract_sizeOptional· Number Of Shares Per Contract (Default 100).
  • manual_priceOptional· Current FMV Per Share For Private/Non-Public Positions.
update_positionChanges Data

Update A Position's Fields.

  • idRequired· The Position ID To Update.
  • manual_priceOptional· Current FMV Per Share As A Decimal String (e.g. "25.00").
  • contract_sizeOptional· Number Of Shares Per Contract.
  • quantityOptional· New Quantity As A Decimal String (e.g. "100").
  • book_price_totalOptional· New Total Book Cost As A Decimal String (e.g. "13000.00").
  • ticker_displayOptional· New Display Ticker (e.g. "TSE:SHOP").
delete_positionChanges Data

Delete A Position.

  • idRequired· The Position ID To Delete.
update_investment_settingsChanges Data

Update Investment-Related Settings.

  • display_currencyOptional· Preferred Display Currency (e.g. "CAD", "USD", "GBP").
  • active_currenciesOptional· List Of Currency Codes The User Interacts With (e.g. ["CAD", "USD"]).
  • tfsa_contribution_roomOptional· Available TFSA Contribution Room As A Decimal String.
  • rrsp_contribution_roomOptional· Available RRSP Contribution Room As A Decimal String.
  • fhsa_contribution_roomOptional· Available FHSA Contribution Room As A Decimal String.

Net Worth · Read

get_net_worth_snapshotsRead Only

Get All Net Worth Snapshots.

get_net_worth_snapshotRead Only

Get A Specific Net Worth Snapshot With Full Details.

  • idRequired· The Snapshot ID.

Net Worth · Write

create_live_snapshotChanges Data

Create A Live Net Worth Snapshot.

create_manual_snapshotChanges Data

Create A Manual Net Worth Snapshot With User-Provided Values.

  • dateRequired· Snapshot Date In YYYY-MM-DD Format.
  • totalRequired· Total Net Worth In Storage Currency As A Decimal String.
  • fx_ratesOptional· Optional Dict Of FX Rates (e.g. {"USD_CAD": "1.3679"}).
  • storage_currencyOptional· Currency The Total Is Denominated In (Default: "CAD").
  • entriesOptional· Optional List Of Entry Dicts With "value" And Either "account_id" (Preferred — Linked
delete_snapshotChanges Data

Delete A Net Worth Snapshot.

  • idRequired· The Snapshot ID To Delete.
update_snapshot_entryChanges Data

Update The Value Of A Single Entry In A Net Worth Snapshot.

  • idRequired· The Snapshot Entry ID.
  • valueRequired· New Value In Storage Currency As A Decimal String.

Market · Read

get_currenciesRead Only

Get All Supported Currencies.

get_fx_ratesRead Only

Get Exchange Rates For All Supported Currencies Against A Target Currency.

  • targetRequired· Target Currency Code (e.g. "CAD", "USD").
get_live_pricesRead Only

Get Live Market Prices For A List Of Tickers.

  • tickersRequired· List Of Yahoo Finance Ticker Symbols (e.g. ["AAPL", "XIU.TO", "MSFT"]).
get_exchange_rateRead Only

Get The Current Exchange Rate Between Two Currencies.

  • from_currencyRequired· Source Currency Code (e.g. "USD").
  • to_currencyRequired· Target Currency Code (e.g. "CAD").
get_sp500_returnsRead Only

Get S&P 500 Returns For Specific Dates.

  • datesRequired· List Of Dates In YYYY-MM-DD Format To Get S&P 500 Values For.
get_watchlistRead Only

Get The User's Stock Watchlist With Current Prices.

  • periodOptional· Optional Time Period For Price Change Display (e.g. "1d", "5d", "1mo", "3mo", "1y").
get_ticker_historyRead Only

Get Historical Price Data For A Ticker.

  • tickerRequired· Yahoo Finance Ticker Symbol (e.g. "AAPL").
  • periodOptional· Time Period — "1d", "5d", "1mo", "3mo", "6mo", "1y", "5y", "max".

Market · Write

add_watchlist_itemChanges Data

Add A Ticker To The Watchlist.

  • ticker_yahooRequired· Yahoo Finance Ticker Symbol (e.g. "AAPL", "XIU.TO").
  • ticker_displayRequired· Display Ticker (e.g. "AAPL", "XIU").
delete_watchlist_itemChanges Data

Remove A Ticker From The Watchlist.

  • idRequired· The Watchlist Item ID To Delete.
reorder_watchlistChanges Data

Reorder The Watchlist.

  • item_idsRequired· List Of Watchlist Item IDs In The Desired Display Order.

Shared Expenses · Read

list_connectionsRead Only

List All Connections For The Authenticated User.

list_balancesRead Only

List Running Balances With All Connected Users.

get_balance_detailRead Only

Get Detailed Balance History With A Specific Connected User.

  • user_idRequired· The ID Of The Connected User To View Balance Details With.

Shared Expenses · Write

invite_connectionChanges Data

Invite A User To Connect For Shared Expenses.

  • emailOptional· The Email Address Of The User To Invite.
  • phone_numberOptional· The Phone Number Of The User To Invite.
accept_connectionChanges Data

Accept A Pending Connection Invite.

  • connection_idRequired· The ID Of The Connection Invite To Accept.
decline_connectionChanges Data

Decline A Pending Connection Invite.

  • connection_idRequired· The ID Of The Connection Invite To Decline.
remove_connectionChanges Data

Remove An Accepted Connection.

  • connection_idRequired· The ID Of The Connection To Remove.
nudge_connectionChanges Data

Send A Nudge Reminder To A Connected User About Outstanding Balances.

  • connection_idRequired· The ID Of The Connection To Nudge.
create_splitChanges Data

Create A New Shared Expense Split.

  • dateRequired· Transaction Date In YYYY-MM-DD Format.
  • total_amountRequired· Total Amount As A Decimal String (e.g. "42.50").
  • categoryRequired· Category ID (See get_categories).
  • titleRequired· Short Title For The Expense (Max 100 Chars).
  • participantsRequired· List Of Participant Dicts, Each With "user_id" (int) And "share_amount" (str).
  • subtitleOptional· Optional Description (Max 100 Chars).
settle_splitChanges Data

Mark A Split Participant As Settled (Paid).

  • split_idRequired· The ID Of The Split.
  • user_idRequired· The ID Of The Participant To Mark As Settled.
unsettle_splitChanges Data

Unsettle A Previously Settled Split Participant.

  • split_idRequired· The ID Of The Split.
  • user_idRequired· The ID Of The Participant To Unsettle.
delete_splitChanges Data

Delete A Shared Expense Split.

  • split_idRequired· The ID Of The Split To Delete.
create_settlementChanges Data

Record A Bulk Settlement Payment To A Connected User.

  • to_user_idRequired· The ID Of The User You Are Settling With.
  • amountRequired· Settlement Amount As A Decimal String (e.g. "100.00").
  • noteOptional· Optional Note (e.g. "E-Transfer", "Cash").