@ChanMeng666/server-google-news: Google News MCP Server
Google News MCP Server: A Model Context Protocol (MCP) server that integrates with SerpAPI to provide Google News search capabilities. It offers flexible search options, global coverage, smart categorization, and robust error handling, supporting multiple languages and regions. Built with TypeScript and Node.js.
Author
ChanMeng666
README

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:
bashnpm install
- Configure environment:
Modify your
claude_desktop_config.json
with the following content (adjust paths according to your system):
json"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:
bashnpm run build
- Start the server:
bashnpm 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:
bashnpx -y @smithery/cli install @chanmeng666/google-news-server --client claude
Installing via mcp-get
bashnpx @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
bash# 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 stringgl
: 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
bash# 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.