Gives your AI agent real-time access to clustered news events from hundreds of sources, filterable across 12 topics and 30 geographic regions. Exposes four MCP tools: get_news for browsing recent events with topic and location filters, get_news_detail for full article lists and impact scores, plus get_topics and get_regions for available filters. Events are ranked by source count and impact score, with each cluster showing how many outlets covered it and when it was first detected. Works immediately with no API key required. Also available as a REST API if you want to call it directly instead of through MCP.
newsmcp.io • integrations • REST API
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.
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.
| 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/ |
Add to claude_desktop_config.json:
{
"mcpServers": {
"newsmcp": {
"command": "npx",
"args": ["-y", "@newsmcp/server"]
}
}
}
/plugin marketplace add pranciskus/newsmcp
/plugin install newsmcp
claude mcp add newsmcp -- npx -y @newsmcp/server
Add to .cursor/mcp.json:
{
"mcpServers": {
"newsmcp": {
"command": "npx",
"args": ["-y", "@newsmcp/server"]
}
}
}
Add to MCP config:
{
"mcpServers": {
"newsmcp": {
"command": "npx",
"args": ["-y", "@newsmcp/server"]
}
}
}
codex mcp add newsmcp -- npx -y @newsmcp/server
Or add to ~/.codex/config.toml:
[mcp_servers.newsmcp]
command = "npx"
args = ["-y", "@newsmcp/server"]
Add to ~/.gemini/settings.json (or project-local .gemini/settings.json):
{
"mcpServers": {
"newsmcp": {
"command": "npx",
"args": ["-y", "@newsmcp/server"]
}
}
}
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"]
}
}
}
npx -y @smithery/cli install @newsmcp/server --client claude
openclaw plugins install @newsmcp/openclaw
No configuration needed — works out of the box. See @newsmcp/openclaw for options.
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.
Four tools. That's the interface.
get_newsTop 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_detailFull 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_topicsLists every topic category available for filtering. No parameters.
crime culture economy education environment health military politics science society sports technology
get_regionsLists every geographic region — 6 continents and 24 countries — available for filtering. No parameters.
| 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 |
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 |
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
{
"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
}
Events update in real-time as new articles appear. The clustering AI merges duplicate coverage automatically.
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"
}
}
}
}
Publishing is tag-driven via .github/workflows/release.yml:
v*.*.*@newsmcp/server and @newsmcp/openclaw to npm via Trusted Publishing (OIDC)mcp-publisher login github-oidc@newsmcp/server and @newsmcp/openclaw, add a Trusted Publisher pointing to:
pranciskusnewsmcp.github/workflows/release.ymlpackages/mcp-server/package.jsonpackages/openclaw-plugin/package.jsonpackages/mcp-server/server.jsonpackage-lock.jsonmaingit tag -a vX.Y.Z -m "vX.Y.Z"
git push origin vX.Y.Z
The workflow does the publish and GitHub release automatically.
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
MIT