A little experiment with Amazon Q, Model Context Protocol (MCP), and tmux to create a news aggregation system that runs entirely in your terminal. It fetches and summarizes articles from various news sources using multiple agents working in parallel.
Also read the write-up here, and click the image below for 3-minute demo on YouTube.
This project is me playing around with:
- Amazon Q CLI as agent harness
- MCP to parse RSS feeds as tools
- tmux for terminal splitting and monitoring
The system grabs news from several sources like Hacker News, TechCrunch, and WSJ, then summarizes everything into nice readable digests, all in your terminal window.
- Follow the official guide to install Amazon Q CLI
- Set up your AWS credentials
- Make sure it's working:
q --version
git clone https://github.com/eugeneyan/news-agents.git
cd news-agents
uv sync # Sync dependencies
uv tree # Check httpx and mcp[cli] are installed
q chat --trust-all-tools # Start Q
/context add --global context/agents.md # Add system context for multi-agents
Q, read context/main-agent.md and spin up sub agents to execute it. # Start main agent
The system will start doing its thing: Splitting into multiple agents and processing news feeds in parallel using tmux panes to keep everything visible.
- Grabs feed URLs from
feeds.txt
- Splits them into 3 equal chunks
- Spawns 3 sub agents in separate tmux panes
- Keeps an eye on everyone's progress
- Collects all the summaries at the end
- Each gets assigned several feeds
- For each feed they:
- Pull down the content
- Parse out the articles
- Write up summaries
- Save them to
summaries/[feed-name].md
- When done, they report back to the main agent
Main Agent (in the main tmux pane)
βββ Read feeds.txt
βββ Split feeds into 3 chunks
βββ Create 3 Sub-Agents (in separate tmux panes)
β βββ Sub-Agent #1
β β βββ Process feeds in chunk 1
β β βββ Report back when done
β βββ Sub-Agent #2
β β βββ Process feeds in chunk 2
β β βββ Report back when done
β βββ Sub-Agent #3
β βββ Process feeds in chunk 3
β βββ Report back when done
βββ Combine everything into main-summary.md
- Individual summaries in the
summaries/
folder - One big summary in
main-summary.md
- A cool demonstration of agents working together in your terminal
uv run mcp dev src/main.p
.
βββ context/ # Instructions for the agents
βββ src/ # Code for processing each feed type
β βββ ainews.py # AI News stuff
β βββ hackernews.py # Hacker News stuff
β βββ techcrunch.py # TechCrunch stuff
β βββ wired.py # Wired stuff
β βββ wsj.py # Wall Street Journal stuff
βββ summaries/ # Where all the summaries end up