Skip to main content
Glama
rahul-jajala

financial-research-agent

by rahul-jajala

AI Financial Research Agent

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.nsRELIANCE.NS)

Related MCP server: StocksMCP

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

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    A
    maintenance
    An MCP server that exposes 16 free investment-research signals (insider trades, SEC filings, short data, and live quotes) to any MCP-compatible LLM.
    82
    99
    MIT
  • F
    license
    -
    quality
    B
    maintenance
    AI-powered stock research MCP server with real-time data, CRUD operations, and interactive dashboard for fundamental analysis and comparisons.
  • F
    license
    -
    quality
    C
    maintenance
    A FastMCP server that provides stock research, technical analysis, fundamental analysis, and scoring, exposed as MCP tools, resources, and prompts for AI agents.

View all related MCP servers

Related MCP Connectors

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.

  • The financial MCP for AI agents - 90+ financial tables, SEC filings, signals, alt-data.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rahul-jajala/ai-financial-research-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server