Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Financial Research Agent

FreeNot checked

MCP server that exposes stock research tools (fundamentals, news, technicals, analyst ratings) to AI clients, enabling autonomous generation of structured inves

GitHubEmbed

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

from github.com/rahul-jajala/ai-financial-research-agent

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-agent

FAQ

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

Compare 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