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 newsmcpclaude mcp add newsmcp -- npx -y @newsmcp/serverAdd 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/serverOr 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 addOr 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 claudeopenclaw plugins install @newsmcp/openclawNo configuration needed — works out of the box. See @newsmcp/openclaw for options.
clawhub install newsmcp-skillLightweight 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.
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)
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 |
Lists every topic category available for filtering. No parameters.
crime culture economy education environment health military politics science society sports technology
Lists 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
}- 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.
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:
- 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
- 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.
- 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.ZThe 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