mcp-ai-news-server
MCP server that fetches and filters AI-related news from 20+ RSS feeds with scheduled notifications and email digests.
README
MCP AI News Server
A Model Context Protocol (MCP) server that fetches and filters AI-related news from 20+ RSS feeds with scheduled notifications and email digests. Get your daily AI news delivered automatically via desktop notifications or email!
Features
- 20+ News Sources: TechCrunch, Hacker News, arXiv, Google AI, NVIDIA, VentureBeat, and more
- š Scheduled Digests: Automatic daily/weekly news delivery at your preferred time
- š Desktop Notifications: Native system notifications with news summaries
- š§ Email Digests: Beautiful HTML emails with latest AI news
- AI News Filtering: Automatically filters content for AI/ML-related keywords
- Category Selection: Choose from Tech, AI, Research, Community, or Hacker News categories
- Custom Source Selection: Pick specific sources for targeted news
- Keyword Search: Search across all sources for specific topics
- Parallel Fetching: Fast performance by fetching multiple feeds simultaneously
- MCP Integration: Works seamlessly with Claude Desktop
- Timezone Support: Configure for Australian Eastern or any timezone
Installation
# Install dependencies
npm install
# Build the project
npm run build
š Quick Start: Notifications
Set Up Daily Digest
1. Enable desktop notifications
2. Configure schedule for 8 AM daily in Australia/Sydney
3. Send me a test digest now
That's it! You'll now get AI news every morning at 8 AM.
See NOTIFICATIONS.md for complete setup guide including email configuration.
News Sources
20 sources across 5 categories:
- Hacker News (2): Latest posts, Front page
- Tech News (6): TechCrunch, Ars Technica, The Verge, Wired, Engadget, ZDNet
- AI Publications (6): MIT Tech Review, VentureBeat, AI Trends, Google AI, NVIDIA, Microsoft AI
- Research (3): arXiv AI, arXiv ML, arXiv Computational Linguistics
- Community (3): Dev.to, Medium AI, Medium ML
See SOURCES.md for complete details on all sources and usage patterns.
Available Tools
1. get_ai_news
Fetches recent AI-related news from multiple RSS feeds with automatic filtering.
Parameters:
limit(optional, default: 10): Maximum number of items to returncategory(optional, default: "all"): Feed category - "all", "hackernews", "tech", "ai", "research", or "community"sources(optional): Array of specific feed sources (overrides category)
Example Response:
Found 3 AI-related items from 6 source(s):
1. What could possibly go wrong if an enterprise replaces all its engineers with AI?
Source: venturebeat
https://venturebeat.com/ai/what-could-possibly-go-wrong...
Published: Sat, 08 Nov 2025 05:00:00 GMT
2. Terminal-Bench 2.0 launches alongside Harbor
Source: venturebeat
https://venturebeat.com/ai/terminal-bench-2-0...
Published: Fri, 07 Nov 2025 23:25:00 GMT
2. search_news
Search for news items matching specific keywords across multiple sources.
Parameters:
keywords(required): Keywords to search for (comma-separated)limit(optional, default: 10): Maximum number of items to returncategory(optional, default: "all"): Feed category to searchsources(optional): Array of specific feed sources to search
Example:
Keywords: "gpt-4, chatgpt"
Category: "ai"
3. list_sources
List all available news sources and categories.
No parameters required - returns complete list of 20 sources organized by category.
4. configure_schedule
Set up scheduled digest delivery.
Parameters:
enabled(boolean): Enable/disable schedulercronExpression(string): When to send (e.g., "0 8 * * *" for 8 AM daily)timezone(string): Your timezone (e.g., "Australia/Sydney")category(string): News category for digestlimit(number): Number of items in digest
Example:
Configure schedule: enabled true, 8 AM daily, Australia/Sydney timezone
5. configure_notifications
Configure email and desktop notification settings.
Parameters:
desktop(object): Desktop notification settingsemail(object): Email notification settings
Example:
Enable desktop notifications
Configure email to user@example.com
6. send_digest_now
Send a digest immediately (testing or on-demand).
Parameters:
desktop(boolean): Send desktop notificationemail(boolean): Send email notification
Example:
Send me a digest now
Send digest via email only
7. get_config
View current configuration including schedule and notification settings.
Example:
Show my notification settings
What's my schedule configuration?
Testing
Method 1: Testing with Claude Desktop
Step 1: Configure Claude Desktop
Add the server to your Claude Desktop configuration file:
macOS Location:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows Location:
%APPDATA%/Claude/claude_desktop_config.json
Configuration:
{
"mcpServers": {
"ai-news": {
"command": "node",
"args": ["/absolute/path/to/mcp-ai-news-server/build/index.js"]
}
}
}
Important: Replace /absolute/path/to/mcp-ai-news-server with your actual project path.
To get your absolute path, run:
pwd
Step 2: Restart Claude Desktop
Completely quit and restart Claude Desktop for the changes to take effect.
Step 3: Verify Installation
In Claude Desktop, look for the hammer icon (šØ) in the input area, which indicates MCP tools are available.
Step 4: Test the Tools
Try these prompts in Claude Desktop:
Basic queries:
Get me the latest AI news
List all available news sources
Show me AI news from tech publications
Category-specific:
Get AI news from research sources
Show me news from AI company blogs
What's new on Hacker News about AI?
Advanced searches:
Search for "GPT-4" across all sources
Find news about "ChatGPT" in tech publications
Look for "transformer" in research papers
Get 15 AI news items from TechCrunch and VentureBeat
Method 2: Testing with MCP Inspector
The MCP Inspector provides a debugging interface for testing MCP servers.
Install MCP Inspector:
npm install -g @modelcontextprotocol/inspector
Run Inspector:
npx @modelcontextprotocol/inspector node build/index.js
This will open a web interface where you can:
- View available tools
- Test tool calls with custom parameters
- See request/response logs
- Debug server behavior
Method 3: Testing Standalone (Manual Testing)
You can test the server directly using Node.js with JSON-RPC messages.
Create a test script test.js:
import { spawn } from 'child_process';
const server = spawn('node', ['build/index.js']);
// Send initialize request
const initRequest = {
jsonrpc: '2.0',
id: 1,
method: 'initialize',
params: {
protocolVersion: '2024-11-05',
capabilities: {},
clientInfo: { name: 'test-client', version: '1.0.0' }
}
};
server.stdin.write(JSON.stringify(initRequest) + '\n');
// Send list tools request
setTimeout(() => {
const listToolsRequest = {
jsonrpc: '2.0',
id: 2,
method: 'tools/list',
params: {}
};
server.stdin.write(JSON.stringify(listToolsRequest) + '\n');
}, 1000);
// Send call tool request
setTimeout(() => {
const callToolRequest = {
jsonrpc: '2.0',
id: 3,
method: 'tools/call',
params: {
name: 'get_ai_news',
arguments: { limit: 5, source: 'newest' }
}
};
server.stdin.write(JSON.stringify(callToolRequest) + '\n');
}, 2000);
server.stdout.on('data', (data) => {
console.log('Response:', data.toString());
});
server.stderr.on('data', (data) => {
console.error('Server log:', data.toString());
});
setTimeout(() => {
server.kill();
}, 5000);
Run the test:
node test.js
Method 4: Testing with curl (JSON-RPC over stdio)
For quick testing, you can send JSON-RPC messages directly:
# Start the server
node build/index.js
# In another terminal, send a test message (note: this is complex for stdio)
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node build/index.js
Development
Project Structure
mcp-ai-news-server/
āāā src/
ā āāā index.ts # Main server implementation
āāā build/ # Compiled JavaScript (generated)
āāā package.json # Dependencies and scripts
āāā tsconfig.json # TypeScript configuration
āāā README.md # This file
Development Mode
# Watch mode (rebuild on changes)
npm run dev
Scripts
npm run build- Compile TypeScript to JavaScriptnpm run start- Run the compiled servernpm run dev- Build and run in one command
AI Keywords
The server filters content based on these keywords:
- ai, artificial intelligence
- machine learning, ml
- deep learning
- neural network
- llm, gpt, chatgpt
- claude, gemini
- openai, anthropic
- generative
- transformer
- nlp
- computer vision
- reinforcement learning
Troubleshooting
Server not appearing in Claude Desktop
- Check config file path: Ensure you're editing the correct
claude_desktop_config.json - Verify absolute path: The path in the config must be absolute, not relative
- Check build: Run
npm run buildto ensure the server is compiled - Restart Claude Desktop: Completely quit and reopen the application
- Check logs: Look at Claude Desktop's logs for errors
Finding Claude Desktop Logs
macOS:
~/Library/Logs/Claude/
Windows:
%APPDATA%/Claude/logs/
Testing if server starts correctly
node build/index.js
# Should output: "AI News MCP Server running on stdio"
# Press Ctrl+C to exit
RSS Feed Issues
If the RSS feeds are slow or unavailable:
- Check your internet connection
- The Hacker News RSS feeds might be temporarily down
- Try again in a few minutes
Environment
- Node.js: v20+ recommended
- TypeScript: v5+
- MCP SDK: v1.0.0+
License
MIT
Contributing
Contributions welcome! Please feel free to submit issues or pull requests.
Useful Links
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.