ai-connector-for-your-wealthsimple
Ask Gemini, Claude or ChatGPT about your Wealthsimple portfolio. A private, read-only MCP connector you deploy to your own Firebase project. Unofficial.
Install / Use
claude mcp add induction-axiom -- npx -y github:induction-axiom/ai-connector-for-your-wealthsimpleIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of ai-connector-for-your-wealthsimple
ai-connector-for-your-wealthsimple scores 79/100 on our quality scale, 779th of 949 AI & Machine Learning skills we index.
Its MCP Server is 8.3 KB long, well organised into 13 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 3 days ago, so ai-connector-for-your-wealthsimple is actively maintained.
- It is released under AGPL-3.0, a copyleft license: you can use it, but modified versions you distribute must carry the same license.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-10-08. Automated pattern scan on 2026-10-08. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
ai-connector-for-your-wealthsimple compared with similar skills
All 4 of these similar skills score higher than ai-connector-for-your-wealthsimple; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| ai-connector-for-your-wealthsimple (this skill)by induction-axiom | 79 | 3 | 3d ago | MCP Server |
| claude-memby thedotmack | 100 | 97.7k | 1d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 93.2k | today | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 85.5k | 2d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.6k | today | CLAUDE.md |
Frequently asked questions
- How do I install ai-connector-for-your-wealthsimple?
- Run
claude mcp add induction-axiom -- npx -y github:induction-axiom/ai-connector-for-your-wealthsimple. The install tabs above show the steps for each supported agent. - Which AI agents does ai-connector-for-your-wealthsimple work with?
- It is written for Claude Code, Claude Desktop and Gemini CLI, as a MCP Server file. Other agents that read the same format can often use it too.
- Is ai-connector-for-your-wealthsimple safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is AGPL-3.0-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is ai-connector-for-your-wealthsimple still maintained?
- The repository was last updated 3 days ago, so ai-connector-for-your-wealthsimple is actively maintained.
Skill content
View source on GitHubPrivate AI connector for your Wealthsimple
Ask Gemini, Claude or ChatGPT about your Wealthsimple portfolio and activity, from a private connector that runs in your own Firebase project.
A simulated example, with made-up numbers:
<picture> <source media="(prefers-color-scheme: dark)" srcset="docs/images/example-spending-dark.png"> <img alt="Simulated example: asked about August card spending, the AI answers with net spending after refunds, pending purchases listed separately, and the top five merchants" src="docs/images/example-spending-light.png" width="560"> </picture>- Yours alone. Each person deploys their own copy into their own Firebase project. Your data goes from Wealthsimple to your project to the AI app you connect, and nowhere else: there is no shared server, and the developer never sees it.
- Read-only. The AI gets three read tools. There is no trading, transfer or any other tool that changes your Wealthsimple accounts.
- One page to manage it. The dashboard shows your holdings, recent activity and connected AI apps, and is where you sign in to Wealthsimple.
This project is unofficial and not affiliated with Wealthsimple. It reads Wealthsimple through the same private APIs its web app uses, which can change without notice. Wealthsimple is a trademark of Wealthsimple Technologies Inc.
Why this exists
I wanted to ask my AI app about my whole portfolio, not just part of it. Some brokers, such as Interactive Brokers, offer an official connector for that, but Wealthsimple doesn't.
Third-party platforms such as SnapTrade and BankSync can fill the gap, but they charge a subscription, and I don't trust them with my Wealthsimple sign-in, which can do far more than read. So I made this open source instead, for anyone to run their own copy.
How to use
1. Create a Firebase project
Create a new project and upgrade it to the Blaze plan. For one person, it stays within the no-cost tier.
2. Run the setup
Click this button. It opens Google Cloud Shell with a setup guide on the right.
When Cloud Shell asks, tick Trust repo. Then follow the guide. It takes about 10 minutes and ends with your dashboard link. Bookmark it.
If the guide doesn't open, the download from GitHub was interrupted. In the terminal, press ↑ then Enter to try again.
3. Sign in to Wealthsimple
Open the dashboard, sign in with Google, then sign in to Wealthsimple.
4. Connect your AI app
In the dashboard: AI apps → your app → How to connect.
<picture> <source media="(prefers-color-scheme: dark)" srcset="docs/images/connect-chatgpt-dark.png"> <img alt="Step-by-step sheet for connecting ChatGPT, with the address to copy" src="docs/images/connect-chatgpt-light.png" width="560"> </picture>Then just ask. A scheduled task in your AI app can also send you a weekly check-in (simulated, with made-up numbers):
<picture> <source media="(prefers-color-scheme: dark)" srcset="docs/images/example-weekly-checkin-dark.png"> <img alt="Simulated example: a weekly scheduled task summarizes new trades, dividends and card spending compared with the week before" src="docs/images/example-weekly-checkin-light.png" width="560"> </picture>What gets created
Everything lives in your Firebase project, and the dashboard links each piece:
<picture> <source media="(prefers-color-scheme: dark)" srcset="docs/images/apps-and-cloud-dark.png"> <img alt="Dashboard sections for AI apps and for your Firebase project's resources, each linking to the Firebase or Google Cloud console" src="docs/images/apps-and-cloud-light.png" width="560"> </picture>Later
- Lost the dashboard link? Ask your AI app for it.
- Updating. The dashboard shows a banner when a new version is out. Click How to update. Your data and connections stay.
- Removing it. Disconnect your AI apps in the dashboard, then delete the Firebase project (Project settings → General → Delete project). That deletes everything, including your saved data.
How your data is handled
Your connector reads Wealthsimple when your AI app asks, saves the result in your project, and answers from that copy. Only your connector and your Google account can read it. Your Wealthsimple password is never stored.
The AI gets three read-only tools: get_data_status, get_portfolio and
list_activities. Account numbers are never shared with it.
Development
firebase/
functions/ Private sync, reconnect, sign-in keep-alive
mcp/ OAuth MCP server, saved-data readers, dashboard
scripts/ bootstrap.sh, manage.py (bootstrap, deploy, doctor, urls)
src/wealthsimple_connector/core/ Wealthsimple client; deploy copies it into functions/ and mcp/
tests_cloud/ tests_mcp/ tests_deployment/
docs/cloudshell-tutorial.md The Cloud Shell guide
Deploy one part after a change, then check the access boundaries:
python3 firebase/scripts/manage.py deploy --target mcp --project YOUR_PROJECT_ID
python3 firebase/scripts/manage.py doctor --project YOUR_PROJECT_ID
Architecture
flowchart LR
AI["AI app"]:::ai
Browser["Owner, in the<br/>dashboard"]:::you
WS["Wealthsimple"]:::ws
subgraph project["Owner's Firebase project"]
Run["Cloud Run: wealthsimple-mcp<br/>MCP endpoint + dashboard<br/>runs as portfolio-mcp"]:::run
Fn["Cloud Functions for Firebase, private<br/>request_refresh · reconnect_now<br/>keep_session_alive<br/>run as portfolio-sync"]:::fn
Data[("Firestore (default)<br/>snapshots and activity")]:::store
Auth[("Firestore mcp-auth<br/>OAuth clients and grants")]:::store
Secret[("Secret Manager<br/>wealthsimple-session")]:::secret
Timer["Cloud Scheduler<br/>every 12 hours"]:::timer
end
AI -- "1. tool call with OAuth token" --> Run
Browser -- "Google sign-in" --> Run
Run -- "checks tokens" --> Auth
Run -- "2. request_refresh, or reconnect_now to sign in" --> Fn
Fn -- "3. loads and rotates" --> Secret
Fn -- "4. reads, never changes" --> WS
Fn -- "5. writes" --> Data
Run -- "6. reads only" --> Data
Timer -- "keep_session_alive" --> Fn
%% Saturated fills with fixed text colours read well on light and dark pages.
classDef ai fill:#10a37f,stroke:#0b7a5f,color:#ffffff
classDef you fill:#0071e3,stroke:#0058b0,color:#ffffff
classDef ws fill:#ffd23f,stroke:#c9a200,color:#1d1d1f
classDef run fill:#4285f4,stroke:#2f6ad0,color:#ffffff
classDef fn fill:#8e5cd9,stroke:#6d41b3,color:#ffffff
classDef store fill:#ff9800,stroke:#c77700,color:#1d1d1f
classDef secret fill:#e8453c,stroke:#b8322b,color:#ffffff
classDef timer fill:#6e6e73,stroke:#4a4a4f,color:#ffffff
style project fill:none,stroke:#8e8e93,stroke-width:1px,stroke-dasharray:5 4,color:#8e8e93
linkStyle default stroke:#8e8e93,stroke-width:1.5px
A tool call, step by step:
- The AI app calls
/mcpon Cloud Run with an OAuth token the owner approved once with Google. - Cloud Run calls
request_refresh. Only theportfolio-mcpidentity may invoke the functions; anonymous requests get 401 or 403. - The function loads the session from Secret Manager. Of the two runtime
identities, only
portfolio-synchas access to it. - It reads the accounts from Wealthsimple.
- It writes the snapshot or activity to the
(default)database. - Cloud Run reads it back (
portfolio-mcphas read-only access there) and answers.
Resource names are fixed in firebase/scripts/configuration.py. Nothing is
saved locally: manage.py finds the deployed wealthsimple-mcp service and
reads its region, owner and Firebase config from it.
License
Copyright (C) 2026 Jong Luo. Licensed under the GNU Affero General Public License v3.0 only (AGPL-3.0-only). See LICENSE.
Related Skills
claude-mem
97.7kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
93.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
85.5kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
74.6kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
