ai chat interface on laptop screen

Mini-Review: Questrade MCP support for AI agents

I’ve had AI on the brain lately; it’s partly because I’m always curious about new technology — but I also recognize that my own portfolio management is more labour-intensive than it needs to be. That’s partly because I enjoy the tinkering, partly because I like things done in a certain way. My spreadsheets help a lot with making things more mechanical, but I still have to manually update them to get useful results1.

Now, I’m far from an expert on this sort of thing, but I’ve been experimenting with Anthropic’s Claude2 for a few days, getting familiar with how it works, and downloading the desktop client to my laptop.

Coincidentally, this week, I noticed a new little popup in my Questrade portal this week which promoted a new capability, namely MCP support: How to Connect Questrade to AI Tools with MCP3.

“MCP” stands for “Model Context Protocol”. Gemini helpfully describes it as “… a universal USB-C port for artificial intelligence”. Clear enough. In other words, MCP allows Claude read-only access to my Questrade account, which sounded rather useful and instead of pages of documentation (typical for an API integration), I got a three step process to make the connection.

  • copy the MCP URL from Questrade
  • Plop it in Claude’s Custom Connectors setting
  • Login to Questrade and permit access from Claude

I successfully followed these three steps in roughly 60 seconds, and next thing I knew, Claude was able to give me a list of my Questrade accounts and balances4.

That’s easy stuff, admittedly, so I figured I would ask it to please calculate the number of XGRO shares I would have to sell in order to make my monthly RRIF minimum payment. (This is something I actually do every month; you can see the steps I have to take to get paid in retirement over at What do you have to actually DO to get paid?

Claude was happy to help me — and it knew enough to ask me how old I was and what the value of my RRIF was at the beginning of the year. (This is how RRIF minimum is calculated, if you’re new to how RRIFs work, you might want to give Demystifying RRIFs a read).

But since I already know what my monthly RRIF minimum payments are, I told Claude to please use those. And it correctly calculated how many shares to sell based on the live cash balance in the RRIF account and the live quote for XGRO.

Claude immediately offered to set up a monthly schedule to do this…but, unfortunately, Claude scheduling is one of those capabilities that requires a not-free Claude subscription. The entry level subscription would be $24/month, or around $300 a year. In the grand scheme of things, that’s not a ton of money, but as a rule I’m a bit reticent about subscription-based services since they have a way of slowly adding up and becoming a drain on your hard-earned savings5.

That was a silly, easy question to ask, and failing that test would have resulted in mockery.

So I asked Claude a more difficult question, namely to tell me how much Canadian Equity exposure I had across my entire portfolio.

Claude was quickly able to identify my 100% Canadian equity holdings (currently VCN, XIC and HXT), and correctly pointed out that my all-in-ones (XGRO, XEQT, ZEQT) were also sources of Canadian equity. With a confirmation to proceed, Claude was able to quickly create an aggregated table that showed all my Canadian equity holdings6.

But there remained a problem. Claude failed to uncover the Canadian equity portion of AOA, which is a USD-based 80/20 fund. My own calculation put the Canadian equity portion of AOA at 2.64% so it’s small, but not zero. But since I have a pretty large (if dwindling7) portion of my savings in AOA, this is a signifiant miss. I pointed this out to Claude who agreed (naturally) and fixed it8, along with a helpful and accurate observation9:

“Notes on AOA specifically: it’s a US-domiciled fund, so its 3.03% Canada weighting is small and comes through its international-developed-markets sleeve rather than a dedicated Canada allocation — nowhere near the home-country tilt you get from XEQT/XGRO/ZEQT. Its USD value was converted at the last USD/CAD rate we pulled (1.4087); today’s rate may differ slightly.”

Anyway, this experiment proved to be interesting, but without additional automation10, not particularly helpful to me. The key gaps right now are that it does not currently provide access to my spouse’s accounts (this I blame on Questrade’s design and decisions regarding how to treat TA accounts), and the lack of an MCP connector to Wealthsimple11 (where I have some retirement holdings). Have you connected your DIY accounts to an external tool? Tell me about it at comments@moneyengineer.ca!

  1. Questrade (my primary broker) has had API access for quite a long time, and I kept thinking I would figure out how to make it useful but I do find the security aspects of messing with this a little daunting. And there have been enough negative posts about its reliability and availability it makes me wonder whether it’s worth my time. ↩︎
  2. The free version, naturally. I am still a cheapskate. ↩︎
  3. It appears that the promotion of this capability is not showing up in everyone’s account. Whether it is being selectively enabled on a per account basis is unknown. ↩︎
  4. Well, not all of them. I’ve long complained about how Questrade handles accounts for which I have Trading Authorization (i.e. my spouse’s accounts). There’s no unified view from my login and this also shows up in my interactions with Questrade via Claude. Claude also doesn’t know about the accounts for which I have TA. ↩︎
  5. “Pay yourself first” (cfr The Wealthy Barber) cuts both ways. If you set aside money for savings before you ever see it land in your bank account, it is a bit like magic over time. If you are billed for a subscription service that automatically renews, it’s like magic for the provider of the subscription service. They’ve done the work to land a client, and now they can just watch the monthly revenues roll in, knowing that automatic renewals are unlikely to get noticed immediately, if ever… ↩︎
  6. It appears Claude took a look at the real time Canadian equity exposure of (for example) XEQT. I don’t myself bother doing this because XEQT (for example) has a stated objective of keeping the Canadian equity portion of its fund at 20% and it rebalances periodically to do this. So 20% is good enough for me. ↩︎
  7. I’m actively kicking USD assets out of my portfolio: Kicking USD out of my retirement portfolio ↩︎
  8. It set the percentage at 3%. ↩︎
  9. This wasn’t new or helpful to me since I own AOA, but I include it just to show the sorts of things Claude mentions. ↩︎
  10. Which may be possible; I’ll have to play with it a bit more ↩︎
  11. There are some 3rd party integrations I’ve seen, but I’d prefer it to come from the source. ↩︎

a person is holding a package with their hands

What companies are in my retirement portfolio?

I cover what I hold in my retirement portfolio every month (latest update is here), but as you can see, I only hold ETFs. What’s underneath the ETFs? Let’s take a look!

Calculating this is straightforward:

  1. Use the percentages I have of each ETF from the June update
  2. Look at the “Holdings” section of ETF or in the case of AOA/XGRO/XEQT, “Aggregate Underlying Holdings”1 and write down the percentages of each stock. I stopped when I accounted for 20% of each ETF.
  3. Multiply (1) by (2) and add them all up.

By doing this exercise, I can now account for the 20 companies that make up 20% of my retirement portfolio:

These 20 companies are really the tip of my personal investment iceberg — my aggregate retirement portfolio has at least 32,000 holdings, since that’s what’s actually inside AOA, the one ETF I own with the most holdings2. But the fate of these 20 companies will have an outsized influence on the overall performance of the portfolio. The only surprise for me is that there is only one company outside North America in the list. I would have expected one or two more.

It will be interesting to see what kind of differences I see once I complete kicking USD out of my retirement portfolio and go back to a list of only seven magnificent ETFs. I’m not sure there will be big changes, given that I’m keeping my asset allocations constant throughout, but I’m expecting some differences3. We’ll see come January 2027, I guess.

Just for fun, and given my recent article on the SpaceX IPO, I wanted to know how much I held of that particular company. AOA hasn’t included it yet4, but XGRO and XEQT have already. As of June 30, 0.02% of my portfolio is invested in SpaceX.

  1. In most cases, as of June 30. VFV only shows to May 30. ↩︎
  2. XGRO has 22000, for reference. I think the extras in AOA come mostly from fixed income (bond) products since they have broader geographic coverage. ↩︎
  3. The biggest changes won’t be visible since they occur in the bond side of my holdings. AOA and XGRO have very different approaches to this part of the market, but as it’s only 15% of my retirement holdings, they don’t show up as a “top” holding in my retirement portfolio . ↩︎
  4. And won’t until SpaceX is profitable. AOA includes IVV, which is an S&P 500 index fund, and the S&P 500 requires companies to be profitable before inclusion in that index. ↩︎

dollar cut in half

Another quarter, another gambit

Every quarter, I convert some of my USD to CAD using Norbert’s Gambit. A good chunk of my retirement holdings are in USD, but since I spend in CAD, I need a cheap way to convert. I’ve been tracking my actual costs using Questrade’s platform for the past year. You can read about that over here.

Anyway, over the past year, the conversion has been effective. I have never paid the usual FX rates charged by Questrade (1.5% over the spot rate). My most recent conversion was the most expensive one to date, and that was a rate 0.7% over the going rate on the day I started the process. On three other occasions, I actually made out better than the spot rate, but that was because the foreign exchange rate moved in my favour in between the purchase and the sale.

My need for US cash has evaporated now that I have a no-FX fee credit card. (You can read about what cards I’m using over here.) So this makes me wonder if it’s time to get rid of the majority of my US holdings. Note this doesn’t mean that I will stop investing in US equities — that would be unwise — it just means I will stop holding assets denominated in US dollars.

The are downsides to holding USD-denominated assets, of course:

  • It adds complexity to the portfolio. AOA is the US equivalent of XGRO; both are 80/20 asset allocation ETFs. But because AOA is a US ETF, it holds a paltry amount of Canadian Equity, and I have to make up that difference elsewhere by holding pure Canadian Equity ETFs like HXT or XIC.
  • If you hold too much USD (or any foreign property) in non-registered accounts, you’ll be obliged to file a T1135 with CRA1.
  • It may limit the universe of online brokers you can deal with. Wealthsimple, for example, does not currently support USD RRIF accounts.
  • Foreign exchange can work for or against you. It’s another variable that can impact your returns. I’m not convinced this is a downside, but it does make tracking things like ACB in a non-registered account a little more tedious.

    One big hesitation I have about converting all my USD holdings would be the time I’d have to be out of the market while the Gambit runs its course. As you can see in from my tracking, each conversion means I’m not invested in AOA for 3-4 trading days. I just hate that idea. I also hate the idea of converting at a time when the CAD<->USD exchange rate is perhaps not optimal. (A low Canadian dollar would be a good thing for me in this case.)

    One place I sort of like having the USD assets is in my cash cushion, especially since US interest rates are quite a bit higher than Canadian rates. (I track current rates over at HISA and short-term bond table (Canada & US)).

    So perhaps I just need to craft a plan where I make more aggressive conversions over a fixed time frame. x% every month, with a deadline. This helps mitigate the “time out of market” and “exchange rate” issues. Crafting the plan with fixed milestones also takes emotion out of the equation; if I set a series of future transactions, then all I have to do is press the button mechanically.

    More to come on that.

    1. If your cost base exceeds $100,000 CAD ↩︎

    What’s in my non-registered portfolio? (Oct 2025)

    Every month, I try to share with you what’s in my overall retirement portfolio (September 2025 post is here). That retirement portfolio is actually distributed over a bunch of accounts held by me and my spouse and includes RRIFs, TFSAs and non-registered accounts. This is what it looks like at the moment:

    Retirement savings as of October 1, 2025 by account type

    (My multi-asset tracker is a handy tool to help you quickly create charts that look like the above one).

    My current strategy for these three account types looks like this:

    • RRIF: This is 100% invested in my ETF all-stars. I’m currently withdrawing RRIF minimum payments for two main reasons:
      • To avoid problems with attribution. I cover that topic over here.
      • To avoid withholding tax. RRIF minimum payments don’t attract withholding tax, but I am setting aside some of my payments to deal with the unavoidable tax bill come April 2026. I talked about that topic over here.
    • TFSA: This is mostly invested in the ETF all-stars, but there’s a few stragglers in here1 that I really ought to get rid of. Nothing wrong with the funds in there, but it’s a needless complexity. The TFSA continues to get new funds since it’s hard to beat tax-free growth, and I only buy all-stars with those funds. It will get drawn down last in my retirement planning.
    • Non-registered accounts: Here it’s a bit of a dog’s breakfast, with very little invested in the all-stars, mostly because most of the equity found here was bought long ago, and changing what I hold would attract capital gains that I would prefer to take on my own terms. It’s where the majority of my early-retirement decumulation takes place.

    Here’s what that breakfast looks like:

    What’s in my non-registered portfolio, October 2025

    Here’s a look at each holding, from highest to lowest percentage.

    HXT: This is a Canadian equity ETF that does not pay dividends, instead using some wizardry to bury it all in the per-unit price of the ETF. This simplifies taxes, and I have held this fund for a long time. Due to increasing costs of this ETF, it’s among the first to get liquidated as I need funds.

    XIC: Canadian equity fund, very popular. I think I bought it to create a bit of dividend income. It will get liquidated after the Horizons funds go (HXS, HXT, HXDM).

    SCHF: A very low-cost international equity2 fund in USD that I’ve held for a very long time. It’s funds like SCHF that attracted me to investing in USD, which, at present, adds a lot of complexity.

    ICSH: This is one of the all-stars. It is what my VPW cash cushion is invested in3. I use ICSH more than ZMMK in the cash cushion because US interest rates are quite a bit higher than Canadian rates at the moment. I talked about that here.

    HXS: Same idea as HXT, except it invests in the S&P 500. This one is held only by my spouse who is still working for a living, so this will just stick around a while, until she stops working and can take on the capital gains.

    VSC: A bond fund held by my spouse. I may sell this to harvest some capital gains losses.

    HXDM: Same idea as HXT, except international equity. It is on the list to liquidate.

    ZMMK: An all-star, held in the same account as ICSH.

    The rest (XEQT, TEQT, XGRO) are all new arrivals in the portfolio, purchased using dividends4 from the other funds as well as the bonus payments I keep collecting from Questrade for switching to them.

    My non-registered accounts are only a small portion of my retirement holdings, but there’s a fair bit of complexity there. Over time, these accounts will go to zero other than the cash cushion portion (ZMMK, ICSH or whatever replacements I discover) which will remain as long as VPW is my decumulation strategy.

    1. Mostly pure Canadian equity funds. This is to offset AOA that has next-to-no Canadian equity component. ↩︎
    2. 0.03% MER. Cheap! ↩︎
    3. VPW = Variable Percentage Withdrawal, an absolutely brilliant strategy for making sure you don’t run out of money in retirement and don’t leave a lot on the table. Read all about it here. ↩︎
    4. With all ETF trades being free, I hold very little actual cash in any of my accounts. ↩︎

    What’s in my RESP portfolio?

    As summer shifts into fall, I’m reminded that it’s back-to-school time. Or “Dad, I need money for tuition” time. I still have kids attending higher education, still making withdrawals from the family RESP we set up shortly after the birth of son #1, almost 25 years (!) ago now. RESP investing is a bit different from retirement investing given the (hopefully) shorter timelines of RESP investing1. Here’s how I approach it.

    In the early days of the RESP, the contributions were invested in mutual funds; these were dark days, long before the rise of very cheap ETFs. Mutual funds were the ONLY way to make routine contributions (which I made, monthly, without fail — Pay Yourself First and all that). I had an 80/20 mix of equities and bonds in the first 18 years or so of its existence: 4 funds, one for US Equity, one for Canadian equity, one for international equity and one for bonds. I don’t remember the specifics of which ones and what percentages exactly. But the fund kept growing, thanks to market returns as well as CESG grant money, which I took full advantage of2!

    As son #1 came close to entering post-secondary studies, I shifted the portfolio to a 60/40 mix using individual ETFs like HXS for US Equities, HXT for Canadian Equities, HXDM for International Equities, and CBO for Bonds. The GlobalX funds didn’t throw off dividends3 and so I just had to deal with the periodic (monthly) distributions of CBO, which ultimately were set to DRIP4.

    I made the decision to move to 60/40 over 80/20 to preserve a bit more of the capital in the event of some kind of market meltdown5. Growth gets curtailed somewhat as a result, but there’s less volatility.

    But I finally realized that all of this was completely unnecessary thanks to all-in-one ETFs. So now, the RESP has exactly ONE holding — XBAL, an all-in-one from iShares that takes care of the 60/40 split for me. And this is set to DRIP as well, so every quarter the RESP picks up a few more XBAL shares.

    You can see how XBAL has preformed over the past 15 years or so. I’m comparing it to the 80/20 XGRO ETF from the same family, one that features prominently in my ETF All-Stars page6:

    In a future post, I’ll explain how I fairly divide the RESP among my two sons — in essence, I pretended that the RESP was a mutual fund, with each son receiving the same number of units on the day the first withdrawal was made. Withdrawals are henceforth made in units, not dollars, and the unit price fluctuates with the value of the RESP.

    How are you managing your RESP? Let me know at comments@moneyengineer.ca.

    1. Less time to build wealth, shorter runway for decumulation ↩︎
    2. As a certified cheapskate, it’s hard for me to resist free money of any kind. ↩︎
    3. They are “corporate class” ETFs that use a clever structure to avoid paying out dividends; all growth is buried in the increase of the ETF’s price. I still hold some of these in my non-registered accounts. ↩︎
    4. Dividend Reinvestment Plan. Instead of getting cash in the RESP account, the DRIP buys additional shares of whatever generated the dividend in the first place. ↩︎
    5. One may ask why I chose to stick with 80/20 in retirement, which is against some conventional wisdom. I figured that the RESP decumulation phase would be over a much shorter time period (say 5-10 years) and so I would be less able to wait for a market bounce-back. In retirement, I’m hopeful that decumulation will take much, much longer, and so with 80/20 I have a better chance of outliving my savings. ↩︎
    6. Chart is courtesy http://www.dividendchannel.com, featured on Tools I Use. When I rolled the comparison all the way back to 2007 the 60/40 XBAL actually OUTPERFORMED the (supposedly) more risky XGRO. Can’t explain that one. ↩︎