Global News MCP Server
Enables global news retrieval across multiple countries and categories (world, country, technology, science) via RSS feeds, exposing reusable MCP tools for fetching and searching news articles with no API keys required.
README
š Global News MCP Server
A Model Context Protocol (MCP) powered global news application that collects news from multiple countries and categories using RSS feeds and exposes them as reusable MCP tools.
The project contains:
- š§ MCP Server for news intelligence
- š Streamlit web interface
- š° RSS-based news aggregation
- š Global news search
- š Country-based filtering
- š» Technology and science news categories
No API keys are required.
⨠Features
š Global News
Fetch worldwide news from trusted RSS sources:
- BBC World
- The Guardian
š Country News
Get news by country:
| Country | Sources |
|---|---|
| š®š³ India | The Hindu, Times of India |
| šŗšø USA | CNN |
| š¬š§ UK | BBC UK |
| šØš¦ Canada | CBC |
| š¦šŗ Australia | ABC Australia |
| š©šŖ Germany | DW |
| š«š· France | France24 |
š» Technology News
Technology updates from:
- TechCrunch
- The Verge
š Science News
Science and space updates from:
- NASA
- Science Daily
š Global Search
Search news articles across multiple RSS feeds.
Examples:
Artificial Intelligence
Space
Climate Change
Robotics
Technology
šļø Architecture
User
|
|
Streamlit UI
|
|
MCP Client
|
|
MCP Server
|
-----------------------
| |
News Service MCP Tools
|
|
RSS Feed Sources
|
|
Structured JSON Response
š MCP Tools
The MCP Server exposes these tools:
get_global_news()
Returns latest worldwide news.
Example response:
[
{
"source": "BBC World",
"title": "Latest World News",
"summary": "News summary",
"link": "article url"
}
]
get_country_news(country)
Fetch news from a specific country.
Example:
get_country_news("India")
Returns:
[
{
"source": "The Hindu",
"title": "India News",
"summary": "...",
"link": "..."
}
]
get_technology_news()
Returns technology-related articles.
Sources:
- TechCrunch
- The Verge
get_science_news()
Returns science-related articles.
Sources:
- NASA
- Science Daily
search_news(keyword)
Searches across available RSS feeds.
Example:
search_news("AI")
š Project Structure
news-mcp/
ā
āāā app.py # Streamlit frontend
ā
āāā requirements.txt # Dependencies
ā
āāā mcp_server/
ā ā
ā āāā __init__.py
ā āāā server.py # MCP server and tools
ā āāā news_service.py # RSS processing logic
ā
āāā components/
ā
āāā __init__.py
āāā cards.py # News UI components
š ļø Tech Stack
Backend
- Python 3.11
- Model Context Protocol (MCP)
- FastMCP
- Feedparser
Frontend
- Streamlit
Data Sources
RSS feeds from:
- BBC
- The Guardian
- The Hindu
- CNN
- CBC
- DW
- France24
- TechCrunch
- NASA
- Science Daily
āļø Installation
Clone Repository
git clone https://github.com/kevin-arock/news-mcp.git
Navigate:
cd news-mcp
Create Virtual Environment
python -m venv venv
Activate environment.
Windows
venv\Scripts\activate
Linux / Mac
source venv/bin/activate
Install Dependencies
pip install -r requirements.txt
ā¶ļø Run Application
Start Streamlit:
streamlit run app.py
Application opens at:
http://localhost:8501
š Application Flow
User selects news category
|
|
Streamlit Interface
|
|
MCP Client
|
|
MCP Server
|
|
News MCP Tools
|
|
RSS News Sources
|
|
JSON News Response
|
|
UI Cards
š” Why MCP?
Instead of directly connecting the UI to data sources, MCP creates a reusable tool layer.
Advantages:
ā
AI agents can discover and call tools
ā
Backend capabilities are separated from UI
ā
Multiple AI clients can use the same tools
ā
External data sources can be integrated easily
šÆ Interview Overview
"I built a Global News MCP Server that exposes news retrieval capabilities as MCP tools. The server collects RSS feeds from different countries, processes them into structured JSON responses, and allows a Streamlit MCP client to consume those tools. This demonstrates how AI applications can use MCP as a standard way to connect with external capabilities."
š Future Improvements
Planned enhancements:
- š¤ AI-powered article summarization
- š Multi-language translation
- š§ Semantic search using embeddings
- š News sentiment analysis
- š Personalized news recommendations
- š¬ Chat-based AI news assistant
- š Integration with AI clients supporting MCP
šØāš» Author
Arockia Kevin J
GitHub:
https://github.com/kevin-arock
ā Support
If you like this project, consider giving it a ā on GitHub.
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.