Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Morning Intel

FreeNot checked

Automated AI market briefing that filters fresh news, summarizes insights with Gemini, pushes them to Notion, and emails a daily digest.

GitHubEmbed

About

Automated AI market briefing that filters fresh news, summarizes insights with Gemini, pushes them to Notion, and emails a daily digest.

README

An automated daily digest that pulls fresh articles from RSS feeds across Finance, Geopolitics, Tech, Venture, and AI Commerce — filters them for the last 24 hours, deduplicates across days, and sends them to Google Gemini for analysis. Gemini returns a structured briefing written like a sharp friend explaining the news over coffee: what happened, why it matters, and what it means for anyone working in AI, enterprise software, or retail. The digest is pushed to a Notion database and delivered as a formatted HTML email every morning.


Product thinking

This project was built around a simple problem: staying informed is easy, but extracting useful signal from daily news is time-consuming.

Morning Intel solves this by automating the full workflow:

  1. Pull relevant news from trusted RSS sources.
  2. Filter only articles from the last 24 hours.
  3. Deduplicate stories across days.
  4. Use Gemini to generate structured analysis.
  5. Save insights to Notion.
  6. Deliver a formatted email digest every morning.

Impact

  • Automates a daily market research workflow end to end.
  • Filters and deduplicates articles before sending them to the LLM.
  • Converts unstructured news into structured insights by category.
  • Pushes outputs into Notion for long-term knowledge management.
  • Uses GitHub Actions to run the workflow on a daily schedule.

Screenshot


Setup

1. Clone the repo

git clone <repo>
cd morning-intel

2. Create a .env file

Create a file named .env in the project root with the following five variables:

GEMINI_API_KEY=your_gemini_api_key
NOTION_API_KEY=your_notion_integration_token
NOTION_DATABASE_ID=your_notion_database_id
GMAIL_ADDRESS=your_gmail_address
GMAIL_APP_PASSWORD=your_16_char_app_password

Where to get each:

Variable Where to get it
GEMINI_API_KEY Google AI Studio
NOTION_API_KEY Notion Integrations → New integration
NOTION_DATABASE_ID Open your Notion database → copy the ID from the URL
GMAIL_ADDRESS Your Gmail address
GMAIL_APP_PASSWORD Google Account → Security → 2-Step Verification → App passwords

Note: The .env file is listed in .gitignore and will never be committed.

3. Set up your Notion database

Your Notion database needs these five properties:

Property name Type
Headline Title
Category Select
Insight Rich text
Source URL
Date 1 Date

Make sure your Notion integration has been connected to the database (open the database → ... menu → Connections → add your integration).

4. Install dependencies

pip install -r requirements.txt

5. Run

python3 market_intel.py

The script will print a live summary as it runs:

Fetching articles from RSS feeds...
[Finance]   10/30 passed 24h filter → kept 10
[Geopolitics] 10/10 passed 24h filter → kept 10
...
Freshness: 30/102 articles passed the 24h filter
Dedup: removed 4 already-seen URLs → 26 new articles

Sending articles to Gemini for analysis...
Digest generated.

Pushing sections to Notion...
  [ok] 💰 Money Talk
  [ok] 🌍 World Lore
  ...

Sending email...
  [ok] Email sent to [email protected]

--- Summary ---
Articles seen     : 102
Passed 24h filter : 30
New (not dupes)   : 26
Sections in digest: 5
Pushed to Notion  : 5

Automating with GitHub Actions

To run the digest automatically every morning, add this workflow file to your repo at .github/workflows/daily_digest.yml:

name: Daily Morning Intel

on:
  schedule:
    - cron: '0 7 * * *'   # runs at 7:00 AM UTC every day
  workflow_dispatch:        # allows manual trigger from GitHub UI

jobs:
  run-digest:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Install dependencies
        run: pip install -r requirements.txt

      - name: Run market intel script
        env:
          GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
          NOTION_API_KEY: ${{ secrets.NOTION_API_KEY }}
          NOTION_DATABASE_ID: ${{ secrets.NOTION_DATABASE_ID }}
          GMAIL_ADDRESS: ${{ secrets.GMAIL_ADDRESS }}
          GMAIL_APP_PASSWORD: ${{ secrets.GMAIL_APP_PASSWORD }}
        run: python3 market_intel.py

      - name: Commit updated seen_urls.json
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"
          git add seen_urls.json
          git diff --cached --quiet || git commit -m "chore: update seen_urls.json [skip ci]"
          git push

Then add your secrets to GitHub: Go to your repo → Settings → Secrets and variables → Actions → New repository secret and add each of the five variables from your .env file.

The workflow commits the updated seen_urls.json back to the repo after each run so deduplication persists across days.


Tech Stack

Layer Tool
Language Python 3
News sources RSS via feedparser
AI analysis Google Gemini API (gemini-flash-latest)
Knowledge base Notion API v1
Delivery Gmail SMTP
Automation GitHub Actions

Notes

  • Articles older than 24 hours are filtered out before being sent to Gemini.
  • URLs are tracked in seen_urls.json so the same story never appears twice across days.
  • If a feed fails, the script skips it and continues rather than crashing.
  • If Gemini returns invalid JSON, the raw response is printed and the script exits gracefully.

Built as a personal AI workflow tool — part of my ongoing exploration of LLM-powered automation.

from github.com/28ips96/morning-intel

Installing Morning Intel

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/28ips96/morning-intel

FAQ

Is Morning Intel MCP free?

Yes, Morning Intel MCP is free — one-click install via Unyly at no cost.

Does Morning Intel need an API key?

No, Morning Intel runs without API keys or environment variables.

Is Morning Intel hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Morning Intel in Claude Desktop, Claude Code or Cursor?

Open Morning Intel 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 Morning Intel with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All productivity MCPs