How I Used Notion MCP to Screen 5,000+ Stocks and Write AI Research Reports
Source: Dev.to

This is a submission for the Notion MCP Challenge.
What I Built
StockPulse is an AI‑powered Indian Stock Intelligence platform built entirely on Notion.
It solves the problem of scattered financial data by acting as a centralized, human‑in‑the‑loop research hub.
- A Python data pipeline fetches daily price and delivery data from the NSE and BSE (Indian stock exchanges).
- The pipeline runs 5,000+ stocks through a rigorous, battle‑tested 12‑condition fundamental screener.
- Using the Model Context Protocol (MCP), StockPulse allows AI assistants (e.g., Claude) to read the screened data, identify anomalies, analyze fundamentals, and write comprehensive research reports directly back into Notion databases.
Video Demo
(Notion page):
StockPulse India 📈
AI‑Powered Indian Stock Intelligence on Notion — Built for the Notion MCP Challenge.
StockPulse takes daily price and delivery data from NSE & BSE, screens 5,000+ stocks through 12 battle‑tested fundamental conditions, and uses an AI agent (via Notion MCP) to generate research reports, detect anomalies, and maintain a smart watchlist — all centralized in Notion.
What It Does
- Data Pipeline – Downloads BhavCopy + delivery data from NSE/BSE, or reads from pre‑built Excel workbooks.
- 12‑Condition Screener – Filters stocks for profitability (PE, EPS), growth (sales, profit YoY), governance (promoter pledging), and financial health (debt/equity, current ratio, ROCE).
- Notion as Single Source of Truth – Five linked databases: Stocks Master, Daily Prices, Screener Results, Watchlist, AI Reports.
- AI Intelligence via MCP – An MCP server exposes tools for an AI agent to:
- query screened stocks,
- analyze fundamentals,
- detect anomalies,
- write research reports,
- manage a watchlist.
How I Used Notion MCP
Notion is the single source of truth for this project, divided into the five linked databases mentioned above.
I built a custom Python MCP server (mcp_server.py) using FastMCP that exposes specific stock‑intelligence tools to AI models. Instead of giving the AI raw, unstructured access to Notion, it provides purpose‑built tools:
# mcp_server.py (excerpt)
def get_screened_stocks():
"""Fetch companies passing the 12 fundamental conditions."""
...
def write_analysis_report(report_md: str, stock_id: str):
"""Publish a fully formatted markdown research report into the AI Reports database."""
...
def add_to_watchlist(stock_id: str):
"""Add a stock to the user's watchlist."""
...
def update_stock_ai_rating(stock_id: str, rating: str):
"""Update the AI‑generated rating (Strong Buy, Hold, Avoid)."""
...
This workflow unlocks powerful automation:
- Python pipeline crunches the hard numbers locally.
- Notion organizes the data beautifully.
- Notion MCP lets an AI dynamically reason about the data and document its findings for the user to review.