How itsaugustine04/alphadesk works
AlphaDesk turns a natural-language financial query into a routed anomaly, risk, or full analysis, fetches market data, and produces a Markdown research report. The graph coordinates specialist agents; in full mode it dispatches anomaly and risk analysis in parallel. Market data is accessed through an MCP subprocess, with live yfinance data or a synthetic fallback. The graph and state paths are sampled; the README documents checkpointing and generated reports. The graph below omits unsampled implementation details and shows only supported runtime relationships.
Main entry points: graph.py LangGraph Workflow · report.py Report Synthesis · main.py CLI / Interactive · client.py MCP Client
Components 14
Orchestration
- LangGraph Workflow
graph.py - Shared Run State
state.py - Query Supervisor
agents/supervisor.py
Market Data
- Market Data Fetch
agents/data_fetch.py - MCP Client
mcp_server/client.py - Market Data Server
mcp_server/market_data_server.py
Analysis
- Anomaly Detection
agents/anomaly.py - Risk Metrics
agents/risk.py
Reporting
- Report Synthesis
agents/report.py - Markdown Reports
Other components
- Researcher
- CLI / Interactive
main.py - yfinance
- Gemini API
Connections 16
- Researcher → CLI / Interactive: submits query
- CLI / Interactive → LangGraph Workflow: calls run_query
- LangGraph Workflow → Query Supervisor: invokes
- Query Supervisor → Gemini API: classifies query
- LangGraph Workflow → Market Data Fetch: routes to fetch
- Market Data Fetch → MCP Client: requests market data
- Risk Metrics → MCP Client: fetches SPY data
- MCP Client → Market Data Server: calls tools
- Market Data Server → yfinance: fetches live data
- LangGraph Workflow → Anomaly Detection: dispatches analysis
- LangGraph Workflow → Risk Metrics: dispatches analysis
- LangGraph Workflow → Report Synthesis: invokes after analysis
- Report Synthesis → Gemini API: synthesizes findings
- Report Synthesis → Markdown Reports: writes report
- LangGraph Workflow → Shared Run State: passes run state
- CLI / Interactive → Researcher: shows completion