News MCP Server
Handles environment variable configuration for API keys and server settings through the .env file.
Integration point for cloning the repository and accessing source code for setup and deployment.
Used for package management and running the MCP server, with configuration available for the author's NPM account.
Provides badge integration for displaying license, language, and protocol version information in the README.
Core language used for implementation with version 5.3+ support highlighted in the project badges.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@News MCP Serversearch for latest AI developments in French"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
š° News MCP Server
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 .env2. 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* | š„ Highest | |
NewsData.io | ~200 requests | š„ High | |
NewsAPI.org | 100 requests | š„ Medium | |
GNews | 100 requests | š Medium | |
Twingly | Trial available | šļø 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_here4. 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 topicslanguage(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
Priority Order: APIs are tried in order of reliability and quota limits
Quota Tracking: System tracks daily usage for each API
Automatic Failover: When an API fails or reaches limit, automatically tries the next one
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 toolScripts
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 3100Adding New APIs
Add API configuration to
src/config.tsImplement API-specific request logic in
src/tools/newsSearch.tsAdd environment variable to
.env.example
š¤ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/AmazingFeature)Commit your changes (
git commit -m 'Add some AmazingFeature')Push to the branch (
git push origin feature/AmazingFeature)Open a Pull Request
š License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
šØāš» Author
Xingyu Chen
š Website: GitHub Profile
š§ Email: guangxiangdebizi@gmail.com
š¼ LinkedIn: Xingyu Chen
š¦ NPM: @xingyuchen
š 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 toolsearch_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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for news articles (keywords, topics, etc.) | |
| language | No | Language code for news articles (e.g., 'en', 'zh', 'es') | en |
| limit | No | Maximum number of articles to return (1-10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: the tool uses multiple APIs and includes automatic failover when limits are reached or failures occur. However, it lacks details on rate limits, authentication needs, error handling, or response format. This provides some context but is incomplete for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, consisting of two sentences that directly explain the tool's function and key feature (failover). Every sentence adds value, but it could be slightly more structured by separating purpose from behavioral details for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (search with failover), no annotations, and no output schema, the description is partially complete. It covers the core functionality and failover behavior but misses details like response format, error cases, or API specifics. This leaves gaps for an agent to use the tool effectively without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, documenting all three parameters (query, language, limit) with details like defaults and constraints. The description adds no parameter-specific information beyond what the schema provides, such as query examples or language code specifics. With high schema coverage, the baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for news articles using multiple news APIs with automatic failover.' It specifies the verb ('Search') and resource ('news articles'), and mentions the mechanism ('multiple news APIs with automatic failover'). However, since there are no sibling tools, it cannot differentiate from alternatives, preventing a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions the failover feature but does not specify scenarios where this is beneficial (e.g., high-volume searches, reliability needs) or any prerequisites. Without sibling tools, explicit alternatives aren't needed, but general usage context is lacking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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.
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.
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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Real-time news search across 500,000+ sources in 60+ languages with sentiment and entities.
12 Google News endpoints. Pay per call in USDC via x402.
Cross-source news (AP, BBC, NPR, HN, Google News) with topic filtering and dedup.
Real-time corroborated news events + 5-year archive, for agents. Free tier, no key.
Related MCP Servers
- AlicenseAqualityDmaintenanceThis server enables users to perform Google News searches with automatic categorization and multi-language support via SerpAPI integration.153126MIT
- FlicenseNot gradedqualityDmaintenanceAggregates 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
- AlicenseNot gradedqualityBmaintenanceA 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.421MIT
- AlicenseBqualityDmaintenanceA 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.312MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/guangxiangdebizi/news-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server