Financial Research Agent
FreeNot checkedMCP server that exposes stock research tools (fundamentals, news, technicals, analyst ratings) to AI clients, enabling autonomous generation of structured inves
About
MCP server that exposes stock research tools (fundamentals, news, technicals, analyst ratings) to AI clients, enabling autonomous generation of structured investment briefs.
README
An autonomous stock research agent built with LangGraph, LangChain, and the ReAct pattern. It researches any ticker — fundamentals, news sentiment, technical indicators, and analyst consensus — then produces a structured buy/sell investment brief.
Includes a Streamlit web UI, MCP server for tool exposure, and session tracking for the full ReAct loop.
Based on Building a Financial Research Agent with ReAct, LangGraph, and LangChain.
Features
- ReAct Agent Loop — Agent decides tool order dynamically (Reason → Act → Observe)
- 4 Research Tools — Fundamentals, news sentiment, technicals, analyst ratings
- Streamlit UI — Live ReAct step tracking + investment brief display
- Session Tracking — Persisted JSON logs of every research session
- MCP Server — Expose tools to Cursor, Claude Desktop, or any MCP client
- Ticker Normalization — Handles mixed case input (
reliance.ns→RELIANCE.NS)
Project Structure
financial-research-agent/
├── app/
│ └── streamlit_app.py # Streamlit web interface
├── financial_mcp/
│ ├── server.py # MCP server (stdio transport)
│ └── config.json # Sample MCP client config
├── src/financial_agent/
│ ├── state.py # LangGraph agent state
│ ├── tools.py # Research tools (yfinance, Tavily, pandas-ta)
│ ├── agent.py # LLM + system prompt
│ ├── graph.py # LangGraph ReAct graph
│ ├── runner.py # Streaming runner with tracking
│ ├── utils.py # Ticker normalization
│ └── tracking/
│ └── session_tracker.py # ReAct step & session persistence
├── data/sessions/ # Tracked research sessions (JSON)
├── main.py # CLI entry point
├── requirements.txt
├── .env.example
└── README.md
Setup
1. Clone and install
cd financial-research-agent
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements.txt
2. Configure API keys
Copy .env.example to .env and add your keys:
OPENAI_API_KEY=your_openai_key
TAVILY_API_KEY=your_tavily_key
OPENAI_MODEL=gpt-4o
Get a free Tavily key at tavily.com.
3. Run
Streamlit UI (recommended):
streamlit run app/streamlit_app.py
CLI:
python main.py RELIANCE.NS
python main.py AAPL
MCP Server:
python -m financial_mcp.server
Add to your MCP client config (see financial_mcp/config.json):
{
"mcpServers": {
"financial-research-agent": {
"command": "python",
"args": ["-m", "financial_mcp.server"],
"cwd": "/path/to/financial-research-agent",
"env": { "PYTHONPATH": "/path/to/financial-research-agent/src" }
}
}
}
Architecture
User: "Research RELIANCE.NS"
│
▼
┌─────────────┐ tool_call ┌─────────────┐
│ Agent Node │ ─────────────────► │ Tools Node │
│ (LLM) │ ◄───────────────── │ (ToolNode) │
└─────────────┘ observation └─────────────┘
│
▼ (no more tool calls)
Final Investment Brief
Session Tracking
Every research run is tracked step-by-step:
| Step Type | Description |
|---|---|
tool_call |
Agent decides to call a tool |
tool_result |
Tool observation returned |
final_brief |
Structured investment brief |
Sessions are saved to data/sessions/{session_id}_{ticker}.json.
Supported Tickers
| Market | Format | Example |
|---|---|---|
| US | SYMBOL |
AAPL, MSFT |
| NSE | SYMBOL.NS |
RELIANCE.NS |
| BSE | SYMBOL.BO |
RELIANCE.BO |
License
MIT
Installing Financial Research Agent
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/rahul-jajala/ai-financial-research-agentFAQ
Is Financial Research Agent MCP free?
Yes, Financial Research Agent MCP is free — one-click install via Unyly at no cost.
Does Financial Research Agent need an API key?
No, Financial Research Agent runs without API keys or environment variables.
Is Financial Research Agent hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Financial Research Agent in Claude Desktop, Claude Code or Cursor?
Open Financial Research Agent on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Financial Research Agent with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
