Skip to main content
Glama

šŸ“° News MCP Server

License TypeScript MCP

A smart news search MCP (Model Context Protocol) server with automatic API switching for reliable news fetching. Never worry about API limits again!

✨ Features

  • šŸ”„ Smart API Switching: Automatically switches between multiple news APIs when one reaches its limit

  • šŸ†“ Multiple Free APIs: Supports 5+ free news APIs with generous daily quotas

  • šŸ“Š Quota Management: Intelligent tracking of daily API usage limits

  • šŸŒ Multi-language Support: Search news in 20+ languages

  • ⚔ Fast & Reliable: Failover mechanism ensures you always get results

  • šŸ› ļø Easy Setup: Simple configuration with environment variables

Related MCP server: News MCP Server

šŸš€ Quick Start

1. Installation

# Clone the repository
git clone https://github.com/guangxiangdebizi/news-mcp.git
cd news-mcp

# Install dependencies
npm install

# Copy environment template
cp .env.example .env

2. API Configuration

Get free API keys from any of these services (you only need one, but more = better reliability):

Service

Daily Limit

Sign Up Link

Priority

TheNewsAPI

Unlimited*

Get Key

šŸ„‡ Highest

NewsData.io

~200 requests

Get Key

🄈 High

NewsAPI.org

100 requests

Get Key

šŸ„‰ Medium

GNews

100 requests

Get Key

šŸ… Medium

Twingly

Trial available

Get Key

šŸŽ–ļø Low

*Claimed unlimited for free tier

3. Configure Environment

Edit .env file and add your API keys:

# Add at least one API key (more is better for reliability)
THE_NEWS_API_KEY=your_api_key_here
NEWSDATA_IO_KEY=your_api_key_here
NEWSAPI_ORG_KEY=your_api_key_here
GNEWS_API_KEY=your_api_key_here
TWINGLY_API_KEY=your_api_key_here

4. Build & Run

# Build the project
npm run build

# Start the MCP server
npm start

# Or run in development mode
npm run dev

šŸ”§ Usage

With Claude Desktop

Add to your Claude Desktop configuration:

Stdio Mode (Local Development):

{
  "mcpServers": {
    "news-mcp": {
      "command": "node",
      "args": ["path/to/news-mcp/build/index.js"]
    }
  }
}

SSE Mode (Web Access):

# Start SSE server
npm run sse
{
  "mcpServers": {
    "news-mcp": {
      "type": "sse",
      "url": "http://localhost:3100/sse",
      "timeout": 600
    }
  }
}

Available Tools

search_news

Search for news articles with automatic API switching.

Parameters:

  • query (required): Search keywords or topics

  • language (optional): Language code (default: "en")

  • limit (optional): Number of articles (1-10, default: 5)

Example:

// Search for technology news
{
  "query": "artificial intelligence",
  "language": "en",
  "limit": 5
}

// Search for Chinese news
{
  "query": "ē§‘ęŠ€ę–°é—»",
  "language": "zh",
  "limit": 3
}

🧠 How Smart Switching Works

  1. Priority Order: APIs are tried in order of reliability and quota limits

  2. Quota Tracking: System tracks daily usage for each API

  3. Automatic Failover: When an API fails or reaches limit, automatically tries the next one

  4. Success Guarantee: Continues until successful response or all APIs exhausted

TheNewsAPI (āˆž) → NewsData.io (200) → NewsAPI.org (100) → GNews (100) → Twingly (50)

šŸ“Š Supported Languages

  • English (en) - All APIs

  • Chinese (zh) - Most APIs

  • Spanish (es) - Most APIs

  • French (fr) - Most APIs

  • German (de) - Most APIs

  • And 15+ more languages

šŸ› ļø Development

Project Structure

src/
ā”œā”€ā”€ index.ts              # MCP server entry point
ā”œā”€ā”€ config.ts             # API configuration management
└── tools/
    └── newsSearch.ts     # Smart news search tool

Scripts

npm run build     # Build TypeScript
npm run dev       # Development mode with watch
npm start         # Start built server
npm run sse       # Start SSE server on port 3100

Adding New APIs

  1. Add API configuration to src/config.ts

  2. Implement API-specific request logic in src/tools/newsSearch.ts

  3. Add environment variable to .env.example

šŸ¤ Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/AmazingFeature)

  3. Commit your changes (git commit -m 'Add some AmazingFeature')

  4. Push to the branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

šŸ“ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

šŸ‘Øā€šŸ’» Author

Xingyu Chen

šŸ™ Acknowledgments

  • Model Context Protocol for the amazing MCP framework

  • All the news API providers for their generous free tiers

  • The open-source community for inspiration and support


⭐ If this project helped you, please give it a star!

Available Tools

1 tool
search_newsB

Search for news articles using multiple news APIs with automatic failover. The system intelligently switches between different news APIs when one reaches its limit or fails.

Inputs: query (required), language, limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined as searching for news articles, and no other tools exist to cause confusion.

    Naming Consistency5/5

    A single tool inherently has perfect naming consistency, as there are no other tools to compare against. The tool name 'search_news' follows a clear verb_noun pattern, which is appropriate for its function.

    Tool Count2/5

    A single tool is too few for a server named 'News MCP Server', which implies a broader scope for news-related operations. While the tool is well-described, the server lacks basic operations like fetching headlines, categories, or article details, making it feel incomplete and under-scoped.

    Completeness2/5

    The server is severely incomplete for a news domain. It only provides search functionality, missing essential operations such as retrieving top headlines, filtering by category or source, or accessing full article content. This will likely cause agent failures when trying to perform common news-related tasks.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Aggregates news from 7 APIs and unlimited RSS feeds with AI-powered bias removal and synthesis. Provides over 7,300 free daily requests with conversation-aware caching and 25 comprehensive news analysis tools.
      1
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      A Model Context Protocol (MCP) server that provides real-time news intelligence using NewsAPI.ai. This server enables LLMs to search articles, track events, and analyze news through natural conversation.
      373 npm
      3
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol (MCP) server that provides access to global news articles through the News API. It implements a standardized interface for searching news articles, retrieving top headlines, and listing available news sources.
      3
      12
      MIT