npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@iflow-mcp/google-news-server

v1.0.0

Published

MCP server for Google News search via SerpAPI

Downloads

15

Readme

MseeP.ai Security Assessment Badge

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.

🔑 SerpApi Setup Guide

Before getting started, you'll need to obtain a SerpApi key. Here's how:

  1. Visit SerpApi website and create an account

  2. After registration, go to your Dashboard:

    • Locate the "API Key" section
    • Copy your API key
    • New users get 250 free API calls
  3. API Usage Details:

    • Free tier: 250 searches per month
    • Paid plans start at $75/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. Build the server:
npm run build
  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. 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

Running evals

The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/index.ts

📦 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