About News Agents
News Agents is an MCP server published by eugeneyan in the Developer Tools category: ๐ฐ Building News Agents to Summarize News with MCP, Q, and tmux.
The repository has 332 stars and 42 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/eugeneyan/news-agentsThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about News Agents
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 8 hours ago. Heuristics on the source, not an audit.
- โREADME presentThe repository ships documentation.
- โLicense declaredUsable under a stated license.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- โDependencies pinnedA lockfile pins dependency versions.
- โNo dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
News Agents
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.
What's This All About?
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.
Getting Started
Setting Up Amazon Q
- Follow the official guide to install Amazon Q CLI
- Set up your AWS credentials
- Make sure it's working:
q --version
Clone repo and run it
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.
How It Works
Main Agent
- 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
Sub Agents
- 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
The Whole Process Looks Like This
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
What You Get
- Individual summaries in the
summaries/folder - One big summary in
main-summary.md - A cool demonstration of agents working together in your terminal
Debugging MCP
uv run mcp dev src/main.p
Project Files
.
โโโ 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
README fetched from the repository 8 hours ago. The original is authoritative.
