NewsAPI
@nimblebraininc/newsapi
Search news articles and top headlines using the NewsAPI
README
NewsAPI MCP Server
A Model Context Protocol (MCP) server that provides news search and headline retrieval using NewsAPI. Get top headlines by country and category, or search articles across thousands of sources.
View on mpak registry | Built by NimbleBrain
Install
Install with mpak:
mpak install @nimblebraininc/newsapi
Configuration
Get your API key from NewsAPI, then configure:
mpak config set @nimblebraininc/newsapi api_key YOUR_API_KEY
Claude Code
claude mcp add newsapi -- mpak run @nimblebraininc/newsapi
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"newsapi": {
"command": "mpak",
"args": ["run", "@nimblebraininc/newsapi"]
}
}
}
See the mpak registry page for full install options.
Tools
get_top_headlines
Get top news headlines by country and category.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | No | Keywords to search in article headlines |
country | string | No | 2-letter country code (default: "us") |
category | string | No | One of: "business", "entertainment", "general", "health", "science", "sports", "technology" |
page_size | integer | No | Number of results, max 100 (default: 10) |
Example call:
{
"name": "get_top_headlines",
"arguments": {
"country": "us",
"category": "technology",
"page_size": 5
}
}
Example response:
{
"articles": [
{
"title": "New AI breakthrough announced",
"description": "Researchers have developed a new approach...",
"url": "https://example.com/article",
"source": "TechCrunch",
"author": "Jane Smith",
"published_at": "2026-02-13T10:00:00Z"
}
],
"total_results": 5
}
search_news
Search news articles across all sources. Note: Only returns articles from the last 30 days (NewsAPI free tier limitation).
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search keywords or phrase |
sources | string | No | Comma-separated source IDs (e.g. "bbc-news,cnn") |
domains | string | No | Comma-separated domains (e.g. "bbc.co.uk,techcrunch.com") |
from_date | string | No | Oldest article date, ISO 8601 (e.g. "2026-01-01") |
to_date | string | No | Newest article date, ISO 8601 (e.g. "2026-01-31") |
language | string | No | 2-letter language code (default: "en") |
sort_by | string | No | "relevancy", "popularity", or "publishedAt" (default: "publishedAt") |
page_size | integer | No | Number of results, max 100 (default: 10) |
Example call:
{
"name": "search_news",
"arguments": {
"query": "artificial intelligence",
"sort_by": "relevancy",
"page_size": 5
}
}
Example response:
{
"query": "artificial intelligence",
"articles": [
{
"title": "The State of AI in 2026",
"description": "A comprehensive look at how AI has evolved...",
"url": "https://example.com/ai-2026",
"source": "Wired",
"author": "John Doe",
"published_at": "2026-02-10T14:30:00Z",
"content": "First 200 characters of the article content..."
}
],
"total_results": 127
}
Quick Start
Local Development
git clone https://github.com/NimbleBrainInc/mcp-newsapi.git
cd mcp-newsapi
# Install dependencies
uv sync
# Set API key
cp .env.example .env
# Edit .env with your API key
# Run the server (stdio mode)
uv run python -m mcp_newsapi.server
The server supports HTTP transport with:
- Health check:
GET /health - MCP endpoint:
POST /mcp
Development
# Install with dev dependencies
uv sync --group dev
# Run all checks (format, lint, typecheck, unit tests)
make check
# Run unit tests
make test
# Run with coverage
make test-cov
About
NewsAPI MCP Server is published on the mpak registry and built by NimbleBrain. mpak is an open registry for Model Context Protocol servers.
License
MIT