A FastMCP-based server that provides tools for discovering RSS feeds, fetching and processing news content, searching articles by keyword, and generating summaries across multiple news sources and categories.
A FastMCP-based RSS news aggregation and processing agent that can discover, fetch, and summarize content from various RSS feeds.
pip install -r requirements.txt
.env
file if you need environment variables (optional)python server.py
This will start the MCP server that exposes various RSS-related tools.
response = mcp.invoke("discover_rss_feeds", {"website_url": "https://www.theguardian.com"}) print(f"Found {response['feeds_count']} feeds") for feed in response['feeds']: print(f"- {feed['title']}: {feed['url']}")
response = mcp.invoke("search_news_by_keyword", { "keyword": "climate change", "max_results": 5 }) for article in response['results']: print(f"- {article['title']} ({article['source']})") print(f" Link: {article['link']}") print()
response = mcp.invoke("fetch_webpage", { "url": "https://example.com/article", "output_format": "markdown", "include_images": True }) print(f"Title: {response['title']}") print(f"Extraction method: {response['extracted_by']}") print(f"Content preview: {response['content'][:200]}...")
response = mcp.invoke("get_top_news_from_category", { "category": "technology", "country": "us", "max_results": 3 }) for article in response['results']: print(f"- {article['title']} ({article['source']})")
The project includes a command-line client (client_example.py
) that provides easy access to all the MCP server tools:
# Get feed entries python client_example.py feed https://www.theguardian.com/international/rss # Search news by keyword python client_example.py search "artificial intelligence" # Extract content from a webpage with advanced extraction python client_example.py webpage https://example.com/article --format markdown --images --save # Get news by category python client_example.py category technology --country us
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!