@ChanMeng666/server-google-news: Google News MCP Server

ChanMeng666/server-google-news
18

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.

☁️cloud

Author

ChanMeng666

README


Google News MCP Server


Star This Project


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.

Google News Server MCP server


👉Try It Now!👈


https://github.com/user-attachments/assets/1cc71c27-f840-4c94-9ab5-460d84ba4779

屏幕截图 2024-12-30 021446

屏幕截图 2024-12-30 021524

屏幕截图 2024-12-30 021914

屏幕截图 2024-12-30 021941

✨ 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:

  1. Visit SERP API website and create an account

  2. After registration, go to your Dashboard:

    • Locate the "API Key" section
    • Copy your API key
    • New users get 100 free API calls
  3. 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.
  4. 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

  1. Install dependencies:
bash
npm install
  1. 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" } }
  1. Build the server:
bash
npm run build
  1. Start the server:
bash
npm start

Troubleshooting

  1. Invalid API Key
  • Verify API key configuration in claude_desktop_config.json
  • Confirm API key is active in SERP API dashboard
  1. 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:

bash
npx -y @smithery/cli install @chanmeng666/google-news-server --client claude

smithery badge

Installing via mcp-get

bash
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

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

TypeScript NodeJS MCP

📖 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 topics
  • publication_token: Token for specific publishers
  • story_token: Token for full coverage of a story
  • section_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. GitHub LinkedIn