J

server-google-news

...
Created 12/29/2024byChanMeng666

Categories

aiclaudeclaude-desktopgoogle-news-apimcpmcp-servermodelcontextprotocolnews-aggregationnews-searchnodejsserpapitypescript

Language:

JavaScript

Stars:

16

Forks:

3

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.

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

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

smithery badge

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

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

# 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

Last updated: 2/20/2025

Publisher info

ChanMeng666's avatar

Chan Meng

🔧 Full-Stack Developer | 🎨 UI/UX Designer | 📱 Web and Mobile Application Development | ✨ Incorporating Minimalist Aesthetics into the Web and Apps.

Lincoln University (NZ)
New Zealand
65
followers
29
following
55
repos

More MCP servers built with JavaScript

emergency-medicare-planner-mcp-server

emergency-medicare-planner-mcp-server

By manolaz1
mcp-warpcast-server

MCP Server for Warpcast integration

By zhangzhongnan9281
mcp-tavily-server

Tavily MCP Server for Cline

By dkmaker1