server-google-news
Categories
Language:
JavaScript
Stars:
16
Forks:
3
Google News MCP Server
A Model Context Protocol (MCP) server implementation that provides Google News search capabilities via SerpAPI integration. Automatically categorizes news results and supports multiple languages and regions.
https://github.com/user-attachments/assets/1cc71c27-f840-4c94-9ab5-460d84ba4779
✨ Features
🔍 Flexible Search Options
Comprehensive search capabilities including query-based search, topic search, publication filtering and story coverage.
🌐 Global Coverage
Supports multiple languages and regions through configurable language and country codes.
📊 Smart Categorization
Automatically categorizes news results into topics like AI & Technology, Business, Science & Research, and Healthcare.
🔀 Multiple Result Types
Handles various news result types including headlines, stories, related topics and menu links.
🛠️ Robust Error Handling
Comprehensive error handling for API failures and invalid inputs, with helpful error messages.
🌍 Language Support
Automatic fallback to English for unsupported language codes with appropriate user notifications.
🔑 SERP API Setup Guide
Before getting started, you'll need to obtain a SERP API key. Here's how:
-
Visit SERP API website and create an account
-
After registration, go to your Dashboard:
- Locate the "API Key" section
- Copy your API key
- New users get 100 free API calls
-
API Usage Details:
- Free tier: 100 searches per month
- Paid plans start at $50/month for 5000 searches
- Billing based on successful API calls
- Multiple payment methods: Credit Card, PayPal, etc.
-
Usage Limits:
- Request Rate: 2 requests/second
- IP Restrictions: None
- Concurrent Requests: 5
- Response Cache Time: 1 hour
👩🔧 Solution for MCP Servers Connection Issues with NVM/NPM
Click to view my configuration solution 👉 https://github.com/modelcontextprotocol/servers/issues/76
🚀 Quick Start
- Install dependencies:
npm install
- Configure environment:
Modify your
claude_desktop_config.json
with the following content (adjust paths according to your system):
"google-news": {
"command": "D:\\Program\\nvm\\node.exe",
"args": [
"D:\\github_repository\\path_to\\dist\\index.js"
],
"env": {
"SERP_API_KEY": "your-api-key"
}
}
- Build the server:
npm run build
- Start the server:
npm start
Troubleshooting
- Invalid API Key
- Verify API key configuration in
claude_desktop_config.json
- Confirm API key is active in SERP API dashboard
- Request Failures
- Check network connectivity
- Verify API call quota hasn't been exceeded
- Validate request parameter format
📦 Installation
Installing via Smithery
To install Google News for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @chanmeng666/google-news-server --client claude
Installing via mcp-get
npx @michaellatman/mcp-get@latest install @chanmeng666/google-news-server
If you are using an old version of Windows PowerShell, you may need to run
Set-ExecutionPolicy Bypass -Scope Process
before this command.
Manual Installation
@chanmeng666/google-news-server
# Using npm
npm i @chanmeng666/google-news-server
# or
npm install @chanmeng666/google-news-server
# Using yarn
yarn add @chanmeng666/google-news-server
# Using pnpm
pnpm add @chanmeng666/google-news-server
💻 Tech Stack
📖 API Documentation
The server implements the Model Context Protocol and exposes a Google News search tool with the following parameters:
- `q`: Search query string
gl
: Country code (e.g., 'us', 'uk')hl
: Language code (e.g., 'en', 'es')topic_token
: Token for specific news topicspublication_token
: Token for specific publishersstory_token
: Token for full coverage of a storysection_token
: Token for specific sections
🔧 Development
# Run in development mode with hot reload
npm run dev
# Run linting
npm run lint
# Run tests
npm run test
📝 License
This project is MIT licensed.
🙋♀ Author
Created and maintained by Chan Meng.
Publisher info
Chan Meng
🔧 Full-Stack Developer | 🎨 UI/UX Designer | 📱 Web and Mobile Application Development | ✨ Incorporating Minimalist Aesthetics into the Web and Apps.