Hub Tools -- Progressive Discovery
Assistatron uses a progressive discovery model. After login and onboarding, the agent sees exactly 4 tools. Calling a hub tool reveals its sub-tools for the rest of the session. This keeps the tool list small and focused.
See MCP_GRAPH.md for the full visibility graph and implementation details.
Root Tools (always visible post-onboarding)
account
Open the account hub. Reveals profile, broker, billing, quota, and feedback tools.
Parameters: None.
Response:
{
"hub": "account",
"tools_revealed": [
{"name": "whoami", "summary": "Your profile, tier, mode, and active broker account"},
{"name": "get_accounts", "summary": "List connected broker accounts with balances"},
{"name": "set_active_account", "summary": "Switch which broker account is active for trading"},
{"name": "connect_broker", "summary": "Connect a new broker account (Alpaca)"},
{"name": "set_risk_profile", "summary": "Change your experience level and risk tolerance"},
{"name": "get_quota_remaining", "summary": "Check daily tool usage limits before calling"},
{"name": "submit_feedback", "summary": "Report bugs or request features"},
{"name": "billing", "summary": "View fees, check subscription, or cancel"}
],
"hint": "These tools are now available. Call any of them directly."
}
Behavior: Idempotent. Calling again returns the same menu without re-notifying the client. Sub-tools remain visible for the rest of the session.
See also: account.md
strategy
Open the strategy hub. Reveals optimizer, preset, saved strategies, and chain scan tools.
Parameters: None.
Response:
{
"hub": "strategy",
"tools_revealed": [
{"name": "create_strategy", "summary": "Run the optimizer to find optimal IC strategies"},
{"name": "get_strategy_status", "summary": "Check optimizer job progress and retrieve results"},
{"name": "get_presets", "summary": "View available optimizer presets"},
{"name": "save_strategy", "summary": "Bookmark a strategy from optimizer results"},
{"name": "get_saved_strategies", "summary": "List your bookmarked strategies"},
{"name": "get_optimization_history", "summary": "View past optimizer runs"},
{"name": "find_iron_condors", "summary": "Scan live options chain for tradeable IC candidates"}
],
"hint": "These tools are now available. Call any of them directly."
}
See also: create-strategy.md, find-iron-condors.md
trade
Action dispatch tool for all trading operations. Always visible at root -- no hub expansion needed.
See: trade.md for the 6 actions and their parameters.
positions
Action dispatch tool for position queries and analytics. Always visible at root -- no hub expansion needed.
See: positions.md for the 8 actions and their parameters.
How Progressive Discovery Works
Session state
The server tracks which hubs have been opened in the session:
MCPHandlers._opened_hubs: set[str] # e.g. {"account", "strategy"}
Tool filtering
ROOT_TOOLS = {account, strategy, trade, positions}
if onboarded:
allowed = ROOT_TOOLS
for hub in opened_hubs:
allowed |= HUB_SUBTOOL_SETS[hub]
return [t for t in all_tools if t.name in allowed]
Tool count by stage
| Stage | Visible tools |
|---|---|
| Root (2 hubs + trade + positions) | 4 |
| + account hub opened | 12 |
| + strategy hub opened | 11 |
| Both hubs open | 19 |
Why this matters
LLM agents perform better with fewer tools. The progressive model means the
agent only sees what is relevant to the current task. An agent focused on
trading sees trade and positions immediately. An agent helping with
account setup calls account first to reveal the management tools.
Cross-references
- MCP_GRAPH.md -- complete tool visibility graph
- account.md -- account hub sub-tools
- create-strategy.md -- strategy hub sub-tools
- trade.md -- trade action tool
- positions.md -- positions action tool
- onboarding.md -- pre-hub onboarding flow
- auth.md -- authentication flow