Open-source MCP-native portfolio brain. Plugs a live brokerage account into Claude Desktop or Claude Code through a local backend, exposes 107 analysis tools across 15 data adapters, and ships 28 ready-to-run skills covering risk, earnings, macro, dividends, tax, technicals, and quant anomalies.
All 4 tools have zero input parameters and minimal descriptions (10-50 chars). No input schemas are visible in the source code. Tool names follow verb_noun convention (get_*), but descriptions lack context on WHEN to use each tool, what data is returned, or dependencies. No output schemas documented. No error handling guidance.
Fetch concentration warnings for portfolio from Wealthsimple
Fetch authenticated user portfolio from Wealthsimple
Fetch authenticated user profile from Wealthsimple
Fetch portfolio X-ray analysis from Wealthsimple
No input schemas visible. All 4 tools accept empty input {} but no JSON Schema definitions are present in source code.
Descriptions are too short (10-50 chars) and lack context. 'Fetch authenticated user profile from Wealthsimple' does not explain WHEN to call this vs get_portfolio, what fields are returned, or what the user needs to do first.
No output schemas documented. LLMs cannot plan downstream calls or extract fields without knowing what each tool returns.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
No error handling guidance. If Wealthsimple API fails (auth error, rate limit, network timeout), tools return raw exceptions with no recovery hints.
Tool definitions inferred from function signatures only. No explicit MCP tool registration with @tool decorators or schema objects visible in mcp_server.py.