global-news-intelligence-mcp
MCP server that fetches, ranks, and summarizes global news from 28 RSS sources across 12 categories, exposing 16 tools for LLMs to query technology, AI, finance, politics, and more.
README
<p align="center"> <h1 align="center">π Global News Intelligence MCP</h1> <p align="center"> <strong>A high-performance MCP server delivering structured global news to LLMs.</strong> <br/> 28 RSS sources Β· 12 categories Β· 16 tools Β· MIT licensed </p> </p>
<p align="center"> <img src="https://img.shields.io/badge/python-3.10%2B-blue" alt="Python"> <img src="https://img.shields.io/badge/fastmcp-3.4-green" alt="FastMCP"> <img src="https://img.shields.io/badge/license-MIT-yellow" alt="License"> <img src="https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey" alt="Platform"> </p>
Why This Exists
LLMs are only as good as their information. This MCP server gives your AI agent real-time access to curated, ranked, and summarized global news β with technology and AI coverage prioritized.
It is not a simple RSS reader. Every article passes through a pipeline:
RSS Fetch β Parse β Classify β Rank by Importance β Summarize β JSON Response
Built for XiaoZhi AI but compatible with any MCP client (Claude Desktop, Codex, Continue, Cursor, etc.).
Features
- 16 dedicated MCP tools β one per news category, plus headline and summary tools
- 28 RSS sources across technology, AI, hardware, open source, international, politics, finance, military, space, energy, entertainment, and domestic (China)
- Smart ranking β articles scored by source credibility, keyword relevance, and recency
- SQLite cache β 15-minute TTL eliminates redundant fetches; survives network outages
- Proxy support β configurable HTTP/HTTPS proxy for mainland China environments
- Fault isolation β a single failing source never crashes the server; degrades gracefully to cache
- Zero API keys β works entirely on public RSS feeds, no registration required
- Cross-platform β Windows, Linux, macOS; Python 3.10+
Quick Start
git clone https://github.com/ashtondebug/global-news-intelligence-mcp.git
cd global-news-intelligence-mcp
python -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
pip install -e .
cp config.example.yaml config.yaml
Environment Check
python check_env.py
Global News Intelligence MCP - Environment Check
Python 3.12.13: OK
fastmcp: OK httpx: OK feedparser: OK
pyyaml: OK pydantic: OK
Result: ALL CHECKS PASSED
Start
python -m global_news_mcp
The server listens on stdio. Connect it to your MCP client.
MCP Tools
| Tool | Description |
|---|---|
get_top_news |
Top global headlines (tech/AI prioritized) |
get_news |
News by category with configurable limit |
get_technology_news |
AI, chips, software, hardware, open source |
get_ai_news |
Artificial intelligence |
get_hardware_news |
CPUs, GPUs, semiconductors, devices |
get_opensource_news |
Open source community and developer ecosystem |
get_space_news |
Space missions, science, technology |
get_international_news |
Global events from BBC, Reuters, Guardian |
get_politics_news |
Political coverage |
get_finance_news |
Markets, economy, business |
get_military_news |
Defense and security |
get_world_news |
Composite: international + politics + finance + military |
get_domestic_news |
China news (People s Daily, China News, NetEase, IT Home, 36Kr) |
get_energy_news |
Oil, gas, renewables, energy policy |
get_entertainment_news |
Entertainment industry |
get_news_summary |
Summary for a specific article URL |
Response Format
[
{
"title": "OpenAI Announces GPT-5",
"source": "TechCrunch",
"time": "2026-08-04T10:30:00+00:00",
"summary": "OpenAI has officially announced GPT-5, their next-generation...",
"url": "https://techcrunch.com/2026/08/04/...",
"category": "ai"
}
]
Up to 10 articles per response, ranked by importance.
Configuration
config.yaml (copy from config.example.yaml):
network:
timeout: 15
proxy:
enabled: false # Set to true for mainland China
http: "" # e.g. http://127.0.0.1:7890 (Clash)
https: "" # e.g. http://127.0.0.1:7890
cache:
ttl: 900 # Seconds (15 min)
logging:
level: "INFO"
file: "" # Empty = stderr only
sources:
technology: true # Toggle individual categories
ai: true
# ... 12 categories total
Common proxy ports: Clash 7890 Β· V2Ray 10809 Β· SSR 1080
Architecture
ββββββββββββββββββββββββββββββββββββββββ
β MCP Client (LLM) β
β XiaoZhi AI / Claude / Codex / ... β
ββββββββββββββββββββ¬ββββββββββββββββββββ
β stdio (JSON-RPC)
ββββββββββββββββββββΌββββββββββββββββββββ
β main.py (FastMCP) β
β 16 registered tools β
ββββ¬ββββββββ¬βββββββ¬ββββββββ¬βββββββββββββ
β β β β
βΌ βΌ βΌ βΌ
ββββββββ ββββββ ββββββββ ββββββββββββ
β rss β βcacheβ βrankingβ βsummarizerβ
β .py β β .py β β .py β β .py β
ββββ¬ββββ ββββ¬ββ ββββ¬ββββ ββββββ¬ββββββ
β β β β
βΌ βΌ βΌ βΌ
ββββββββ ββββββββ ββββββββ ββββββββββββ
βparserβ βSQLiteβ βsourcesβ βclassifierβ
β .py β β DB β β .py β β .py β
ββββββββ ββββββββ ββββββββ ββββββββββββ
Pipeline: Sources β Fetch β Parse β Classify β Rank β Summarize β Return
News Sources
| Category | Sources |
|---|---|
| Technology | The Verge, TechCrunch, Ars Technica, MIT Technology Review |
| AI | OpenAI Blog, DeepMind Blog, Hugging Face Blog |
| Hardware | Tom s Hardware, AnandTech |
| Open Source | Hacker News |
| International | BBC News, Reuters World, The Guardian |
| Politics | BBC Politics |
| Finance | Reuters Business, CNBC |
| Military | Defense News |
| Space | Space.com, SpaceNews, NASA Releases, ESA Space Science |
| Energy | OilPrice |
| Entertainment | Variety |
| Domestic (China) | People s Daily, China News, NetEase News, IT Home, 36Kr |
28 feeds total. To add a source, edit src/global_news_mcp/sources.py:
{"name": "My Source", "url": "https://example.com/rss", "category": "technology"},
Client Integration
Claude Desktop
{
"mcpServers": {
"global_news": {
"command": "python",
"args": ["-m", "global_news_mcp"],
"cwd": "/path/to/global-news-intelligence-mcp"
}
}
}
Codex / Continue / Cursor
Same pattern β point the command to your Python and set cwd to the project root.
Development
pip install -e ".[dev]"
pytest
Code Conventions
loggingonly β neverprint()(stdout is JSON-RPC)pathlibfor all filesystem paths- UTF-8 throughout
- Every
@mcp.tool()function must have a complete docstring
Adding a New Tool
@mcp.tool()
async def get_my_category_news() -> str:
"""Get news for my custom category."""
return await _fetch_news(["my_category"], 10)
Project Structure
.
βββ pyproject.toml
βββ config.example.yaml
βββ README.md
βββ RUNBOOK.md
βββ check_env.py
βββ install.bat
βββ start.bat
βββ src/global_news_mcp/
β βββ main.py # Entry point + 16 tool registrations
β βββ sources.py # 28 RSS feed definitions
β βββ rss.py # Async concurrent fetching
β βββ parser.py # feedparser β Article model
β βββ classifier.py # Keyword-based classification
β βββ ranking.py # Importance scoring
β βββ summarizer.py # Response formatting
β βββ cache.py # SQLite cache layer
β βββ network.py # httpx client (proxy/timeout)
β βββ config.py # YAML config loader
β βββ logger.py # stderr logging
βββ .gitignore
License
MIT Β© 2026
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.