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 OnlyGet The Authenticated User's Profile.
get_on_launch_dataRead OnlyGet 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 OnlyGet The Monthly Spending Summary For A Specific Month.
monthRequired· Month number (1-12).yearRequired· Four-digit year (e.g. 2025).
get_transactionsRead OnlyGet All Transactions For A Specific Month.
monthRequired· Month number (1-12).yearRequired· Four-digit year (e.g. 2025).
get_categoriesRead OnlyGet 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 OnlyGet Categorical Spending Overview For A Specific Month.
monthRequired· Month number (1-12).yearRequired· Four-digit year (e.g. 2025).
get_recurring_transactionsRead OnlyGet All Active Recurring Transactions.
Budget · Write
add_transactionChanges DataAdd 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 DataUpdate 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 DataDelete A Transaction.
transaction_idRequired· The ID Of The Transaction To Delete.
add_tagChanges DataCreate 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 DataUpdate An Existing Tag.
idRequired· The Tag ID To Update.nameOptional· New Tag Name.categoryOptional· New Category ID.colorOptional· New Hex Color Code.
delete_tagChanges DataDelete A Tag.
idRequired· The ID Of The Tag To Delete.
add_payment_methodChanges DataAdd A New Payment Method (e.g. A Credit Card Name).
nameRequired· Display Name For The Payment Method (Max 100 Chars).
add_recurring_transactionChanges DataAdd 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 OnlyGet All Investment Accounts.
get_investment_account_groupsRead OnlyGet All Investment Account Groups.
get_positionsRead OnlyGet 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 OnlyGet 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 OnlyGet The User's Investment-Related Settings.
get_portfolio_summaryRead OnlyGet 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 OnlyGet 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 OnlyGet Every Buy As A Lot, Matched To The Sells That Closed It (Oldest First, Per Account).
get_net_worth_historyRead OnlyGet 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 DataCreate 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 Everycash_balancesOptional· Starting Cash By Currency, e.g. {"CAD": "1500.00"}.total_contributedOptional· Total Amount Contributed So Far, As A String.
update_investment_accountChanges DataUpdate 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 DataDelete An Investment Account And All Its Positions And Trades.
idRequired· The Investment Account ID To Delete.
add_investment_account_groupChanges DataCreate A New Investment Account Group.
nameRequired· Display Name For The Group.
delete_investment_account_groupChanges DataDelete An Investment Account Group.
idRequired· The Group ID To Delete.
reorder_investment_account_groupsChanges DataReorder Investment Account Groups.
group_idsRequired· List Of Group IDs In The Desired Display Order.
add_tradeChanges DataRecord 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 DataDelete A Trade Record And Reverse Its Effect On The Position.
idRequired· The Trade ID To Delete.
update_tradeChanges DataEdit 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 DataDirectly 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 DataUpdate 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 DataDelete A Position.
idRequired· The Position ID To Delete.
update_investment_settingsChanges DataUpdate 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 OnlyGet All Net Worth Snapshots.
get_net_worth_snapshotRead OnlyGet A Specific Net Worth Snapshot With Full Details.
idRequired· The Snapshot ID.
Net Worth · Write
create_live_snapshotChanges DataCreate A Live Net Worth Snapshot.
create_manual_snapshotChanges DataCreate 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 DataDelete A Net Worth Snapshot.
idRequired· The Snapshot ID To Delete.
update_snapshot_entryChanges DataUpdate 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 OnlyGet All Supported Currencies.
get_fx_ratesRead OnlyGet Exchange Rates For All Supported Currencies Against A Target Currency.
targetRequired· Target Currency Code (e.g. "CAD", "USD").
get_live_pricesRead OnlyGet Live Market Prices For A List Of Tickers.
tickersRequired· List Of Yahoo Finance Ticker Symbols (e.g. ["AAPL", "XIU.TO", "MSFT"]).
get_exchange_rateRead OnlyGet 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 OnlyGet 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 OnlyGet 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 OnlyGet 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 DataAdd 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 DataRemove A Ticker From The Watchlist.
idRequired· The Watchlist Item ID To Delete.
reorder_watchlistChanges DataReorder The Watchlist.
item_idsRequired· List Of Watchlist Item IDs In The Desired Display Order.
Shared Expenses · Read
list_connectionsRead OnlyList All Connections For The Authenticated User.
list_balancesRead OnlyList Running Balances With All Connected Users.
get_balance_detailRead OnlyGet 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 DataInvite 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 DataAccept A Pending Connection Invite.
connection_idRequired· The ID Of The Connection Invite To Accept.
decline_connectionChanges DataDecline A Pending Connection Invite.
connection_idRequired· The ID Of The Connection Invite To Decline.
remove_connectionChanges DataRemove An Accepted Connection.
connection_idRequired· The ID Of The Connection To Remove.
nudge_connectionChanges DataSend A Nudge Reminder To A Connected User About Outstanding Balances.
connection_idRequired· The ID Of The Connection To Nudge.
create_splitChanges DataCreate 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 DataMark 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 DataUnsettle A Previously Settled Split Participant.
split_idRequired· The ID Of The Split.user_idRequired· The ID Of The Participant To Unsettle.
delete_splitChanges DataDelete A Shared Expense Split.
split_idRequired· The ID Of The Split To Delete.
create_settlementChanges DataRecord 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").
