newsmcp
Real-time world news for AI agents — events clustered from hundreds of sources, classified by 12 topics and 30+ regions, ranked by importance. Free, no API key.
Real-time news events, clustered by AI from hundreds of sources, classified by topic and geography, ranked by importance.
Free. No API key. One command to install.
Coverage
12 topics — politics economy technology science health environment sports culture crime military education society
30 regions — 6 continents and 24 countries. Filter by europe, asia, united-states, germany, japan, ukraine, and more.
Hundreds of sources — Articles clustered into events in real-time, ranked by source count and impact score.
Integrations
| Platform | Package | Install |
|---|---|---|
| Claude Desktop | @newsmcp/server | MCP config |
| Claude Code plugin | newsmcp | /plugin install |
| Claude Code MCP | @newsmcp/server | claude mcp add |
| Cursor | @newsmcp/server | MCP config |
| Windsurf | @newsmcp/server | MCP config |
| OpenAI Codex | @newsmcp/server | codex mcp add |
| Gemini CLI | @newsmcp/server | settings.json |
| OpenCode | @newsmcp/server | opencode mcp add |
| Smithery | @newsmcp/server | npx @smithery/cli |
| OpenClaw plugin | @newsmcp/openclaw | openclaw plugins install |
| OpenClaw skill | newsmcp-skill | clawhub install |
| REST API | — | curl https://newsmcp.io/v1/news/ |
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"newsmcp": {
"command": "npx",
"args": ["-y", "@newsmcp/server"]
}
}
}
Claude Code Plugin
/plugin marketplace add pranciskus/newsmcp
/plugin install newsmcp
Claude Code MCP
claude mcp add newsmcp -- npx -y @newsmcp/server
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"newsmcp": {
"command": "npx",
"args": ["-y", "@newsmcp/server"]
}
}
}
Windsurf
Add to MCP config:
{
"mcpServers": {
"newsmcp": {
"command": "npx",
"args": ["-y", "@newsmcp/server"]
}
}
}
OpenAI Codex
codex mcp add newsmcp -- npx -y @newsmcp/server
Or add to ~/.codex/config.toml:
[mcp_servers.newsmcp]
command = "npx"
args = ["-y", "@newsmcp/server"]
Gemini CLI
Add to ~/.gemini/settings.json (or project-local .gemini/settings.json):
{
"mcpServers": {
"newsmcp": {
"command": "npx",
"args": ["-y", "@newsmcp/server"]
}
}
}
OpenCode
opencode mcp add
Or add to ~/.config/opencode/opencode.json (or project-local .opencode/opencode.json):
{
"mcp": {
"newsmcp": {
"type": "local",
"enabled": true,
"command": ["npx", "-y", "@newsmcp/server"]
}
}
}
Smithery
npx -y @smithery/cli install @newsmcp/server --client claude
OpenClaw Plugin
openclaw plugins install @newsmcp/openclaw
No configuration needed — works out of the box. See @newsmcp/openclaw for options.
OpenClaw Skill
clawhub install newsmcp-skill
Lightweight alternative — a single SKILL.md that teaches the agent to call the REST API via curl. No dependencies. See newsmcp-skill on ClawHub.
MCP Tools
Four tools. That's the interface.
get_news
Top events happening right now. Filter by topic, region, time window.
| Parameter | Type | Default | Description |
|---|---|---|---|
topics | string | — | Comma-separated topic slugs: politics,technology |
geo | string | — | Comma-separated region slugs: europe,lithuania |
hours | number | 24 | Time window in hours (1–168) |
page | number | 1 | Page number |
per_page | number | 20 | Results per page (max 50) |
order_by | string | -sources_count | Sort field (see below) |
Sort options: -sources_count, -impact_score, -last_seen_at, -entries_count (prefix - for descending)
get_news_detail
Full details on a single event — all source articles, AI-generated context, impact analysis, entity tags.
| Parameter | Type | Description |
|---|---|---|
event_id | string | Event UUID from get_news results |
get_topics
Lists every topic category available for filtering. No parameters.
crime culture economy education environment health military politics science society sports technology
get_regions
Lists every geographic region — 6 continents and 24 countries — available for filtering. No parameters.
How agents use it
| Prompt | What happens |
|---|---|
| "What's happening in the world?" | get_news with defaults — top 20 events by source coverage |
| "Any tech news from Europe today?" | get_news with topics=technology, geo=europe, hours=24 |
| "Tell me more about that earthquake" | get_news_detail with the event UUID |
| "What topics can I filter by?" | get_topics — returns the full list |
| "Show me news from Asia this week" | get_news with geo=asia, hours=168 |
REST API
Don't need MCP? Hit the endpoints directly. Same data, same filters.
Base URL: https://newsmcp.io/v1
| Method | Endpoint | Description |
|---|---|---|
GET | /news/ | List news events with optional filtering |
GET | /news/{id}/ | Single event with full article list |
GET | /news/topics/ | All topic categories |
GET | /news/regions/ | All geographic regions |
Query parameters
All parameters are optional. Combine freely.
# Latest events
curl -s https://newsmcp.io/v1/news/ | jq
# Filter by topic
curl -s "https://newsmcp.io/v1/news/?topics=technology" | jq
# Filter by region
curl -s "https://newsmcp.io/v1/news/?geo=europe" | jq
# Last 12 hours, sorted by impact
curl -s "https://newsmcp.io/v1/news/?hours=12&order_by=-impact_score" | jq
# Combine everything
curl -s "https://newsmcp.io/v1/news/?topics=politics&geo=united+states&hours=48&per_page=5" | jq
Response format
{
"events": [
{
"id": "cc3428ab-2ada-41bb-86ab-833fd39ffd8d",
"summary": "Event description with AI-generated context...",
"topics": ["technology", "politics"],
"geo": ["united states"],
"entries_count": 86,
"sources_count": 45,
"first_seen_at": "2026-02-15T04:06:41.728Z",
"last_seen_at": "2026-03-03T05:00:30Z",
"impact_score": 8,
"entries": [
{
"title": "Article headline",
"url": "https://source.com/article",
"domain": "source.com",
"published_at": "2026-03-03T05:00:30Z"
}
]
}
],
"total": 142,
"page": 1,
"per_page": 20
}
How it works
- Collect — Hundreds of news sources are scraped continuously
- Cluster — Articles about the same event are grouped using vector embeddings
- Classify — Each event is tagged with topics and geographic entities
- Rank — Events are scored by source count, impact, and recency
- Serve — Clean JSON via REST API and MCP server
Events update in real-time as new articles appear. The clustering AI merges duplicate coverage automatically.
Configuration
Point to a different API backend:
{
"mcpServers": {
"newsmcp": {
"command": "npx",
"args": ["-y", "@newsmcp/server"],
"env": {
"NEWS_API_BASE_URL": "https://your-api.example.com/v1"
}
}
}
}
Releases (GitHub Actions + OIDC)
Publishing is tag-driven via .github/workflows/release.yml:
- Trigger: push tag
v*.*.* - Publishes
@newsmcp/serverand@newsmcp/openclawto npm via Trusted Publishing (OIDC) - Publishes MCP metadata with
mcp-publisher login github-oidc - Creates a GitHub release with generated notes
One-time setup
- npm package settings:
For
@newsmcp/serverand@newsmcp/openclaw, add a Trusted Publisher pointing to:- Owner:
pranciskus - Repository:
newsmcp - Workflow file:
.github/workflows/release.yml - Environment: leave empty (unless you intentionally use one)
- Owner:
- MCP Registry: Ensure the repo/package is authorized for GitHub OIDC publishing in MCP Registry.
Release flow
- Bump versions in:
packages/mcp-server/package.jsonpackages/openclaw-plugin/package.jsonpackages/mcp-server/server.jsonpackage-lock.json
- Commit and push to
main - Create and push tag:
git tag -a vX.Y.Z -m "vX.Y.Z"
git push origin vX.Y.Z
The workflow does the publish and GitHub release automatically.
Repository structure
newsmcp/
├── .github/workflows/ # CI/CD workflows (release automation)
├── .claude-plugin/ # Marketplace manifest
├── packages/
│ ├── mcp-server/ # @newsmcp/server — MCP server (npm)
│ ├── claude-code-plugin/ # newsmcp — Claude Code plugin
│ ├── openclaw-plugin/ # @newsmcp/openclaw — OpenClaw plugin (npm)
│ └── skill/ # newsmcp-skill — OpenClaw skill (ClawHub)
├── publish.sh # Build, test, publish workflow
├── README.md
└── LICENSE
License
MIT
Related Servers
Krep MCP Server
A high-performance string search server powered by the krep binary.
Custom Elasticsearch
A simple MCP server for Elasticsearch, designed for cloud environments where your public key is already authorized.
MCP Gemini Google Search
Performs Google searches using Gemini's built-in Grounding with Google Search feature.
Discourse MCP Server
Perform search operations on Discourse forums.
Dynamics Partner Advisor
An MCP server for finding and comparing Microsoft Dynamics 365 implementation partners. Features tools to search by industry/region, get detailed partner profiles, and generate personalized shortlists for new projects.
Azure AI Agent & Search
Search content using Azure AI Agent Service and Azure AI Search.
Brave Search
Integrates the Brave Search API for both web and local search capabilities. Requires a BRAVE_API_KEY.
MCP Compass
Explore and discover Model Context Protocol servers using natural language queries.
Semantic Scholar
Access Semantic Scholar's academic paper database through their API.
Adzuna Job Search MCP
MCP server for Adzuna Job Search API - search jobs, analyze salaries, and research employers across 12 countries