Agentic AI · Equity Research
A research agent that thinks like
a buy-side analyst.
How much of a financial analyst's workflow can an AI agent actually replace? I built the answer — not with a chatbot that summarizes headlines, but with a structured agent that enforces a mandatory 7-step research sequence before forming any view.
Claude Sonnet 4
MCP · FastMCP
fintools-mcp
SEC EDGAR API
yfinance
Custom Python indicators
RAG knowledge layer
System configuration
modelclaude-sonnet-4-20250514 · Anthropic /v1/messages
orchestrationModel Context Protocol (MCP) · FastMCP · stdio transport
serversfintools-mcp (11 tools) + sec-filings (8 tools) = 19 total
market datayfinance · SEC EDGAR API (direct) · NewsAPI
indicatorscustom Python · zero TA-Lib dependency
knowledge layerRAG-ready · swappable via system prompt files
distributionpyproject.toml · hatchling · pip / uv installable
The problem
The same query, run twice, can produce a different view. That's the problem.
LLM financial analysis is only as reliable as the data pipeline enforcing it. Without a mandatory retrieval sequence, a model fills data gaps with priors — the options chain gets skipped when it's hard to retrieve, insider selling gets missed because Form 4s aren't queried, and contradictory signals get averaged into a tidy "neutral". The output looks structured but isn't traceable. The fix isn't a better model — it's discipline built into the system before the model is ever invoked.
How it works
Seven steps. Structurally enforced. No shortcuts.
The agent runs on Claude with 19 MCP tools across two servers, and it cannot write output before step 7 completes. That's enforcement via MCP tool gating — not a prompt-level instruction the model can talk itself out of. Every signal comes out labelled by source, basis, and time horizon, and contradictions get their own section instead of being smoothed over.
1
Live quote + trend score
Price, market cap, 52w range, trend score /100
2
Technical indicators
RSI (Wilder's), MACD, ATR, EMA 9/21/50/200, Fibonacci, support/resistance
3
Options chain analysis
IV/HV ratio, put/call skew, GEX, max pain — per expiry
4
Fundamental metrics
P/E, EV/EBITDA, margins, FCF — labelled trailing/forward, GAAP/adjusted
5
SEC filings
10-K/10-Q via EDGAR API · Form 4 cluster detection · 13F flow
6
Estimate revision direction
30-day consensus revision trend · up/down ratio · management tone delta
7
Cross-signal synthesis
All signals tagged tactical (0–3mo) or fundamental (6–18mo) · contradictions surfaced · conviction scored
⟶ Output unlocked only here
Sample output
What one real report surfaced.
One report from a real session, generated through the full 7-step pipeline — what the agent actually found, not a description of what it does.
Equity Analysis · NVDA
NVIDIA Corporation · $213.17 · −2.55%
The agent confirmed the Blackwell cycle thesis — but also surfaced what consensus hasn't priced: $0 China H200 revenue in management's own Q1 guide despite 400,000+ units of approved orders pending clearance. That unmodeled upside sits alongside 18 months of uninterrupted insider selling at a 15:0 sell/buy ratio — a genuine dual-horizon divergence the agent flags rather than resolves.
revenue growth YoY+73.2%
PEG ratio0.74x
estimate revisions32 up / 1 down
operating margin65.0%
RSI (14-day)70.6 — overbought
insider sell/buy ratio15:0 (18 months)
⚑ Contradiction flagged: Tactical medium / Fundamental high — RSI overbought near 52w high against strongest estimate revision ratio in mega-cap tech
Reflection
Behind the build
So how much of the workflow can the agent replace? More than I expected — but only because the discipline was built in first: every indicator custom-coded in Python, SEC EDGAR queried directly, every metric carrying its own label and basis. What stays with the analyst is judgment — weighting contradictory signals, sizing, knowing noise from edge. The agent's job is to eliminate everything standing between the analyst and that moment of judgment.