Labsco
pranciskus logo

newsmcp

β˜… 8

from pranciskus

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.

πŸ”₯πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredNeeds API keys
<h1 align="center">NewsMCP β€” World news for AI agents</h1> <p align="center"> <a href="https://newsmcp.io">newsmcp.io</a>&nbsp;&nbsp;&bull;&nbsp;&nbsp;<a href="#integrations">integrations</a>&nbsp;&nbsp;&bull;&nbsp;&nbsp;<a href="#rest-api">REST API</a> </p> <p align="center"> <a href="https://www.npmjs.com/package/@newsmcp/server"><img src="https://img.shields.io/npm/v/@newsmcp/server?style=flat-square&color=cb3837" alt="npm @newsmcp/server"></a> <a href="https://www.npmjs.com/package/@newsmcp/openclaw"><img src="https://img.shields.io/npm/v/@newsmcp/openclaw?style=flat-square&color=cb3837" alt="npm @newsmcp/openclaw"></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="MIT"></a> </p>

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

PlatformPackageInstall
Claude Desktop@newsmcp/serverMCP config
Claude Code pluginnewsmcp/plugin install
Claude Code MCP@newsmcp/serverclaude mcp add
Cursor@newsmcp/serverMCP config
Windsurf@newsmcp/serverMCP config
OpenAI Codex@newsmcp/servercodex mcp add
Gemini CLI@newsmcp/serversettings.json
OpenCode@newsmcp/serveropencode mcp add
Smithery@newsmcp/servernpx @smithery/cli
OpenClaw plugin@newsmcp/openclawopenclaw plugins install
OpenClaw skillnewsmcp-skillclawhub install
REST APIβ€”curl https://newsmcp.io/v1/news/

Claude Desktop

Add to claude_desktop_config.json:

Copy & paste β€” that's it
{
  "mcpServers": {
    "newsmcp": {
      "command": "npx",
      "args": ["-y", "@newsmcp/server"]
    }
  }
}

Claude Code Plugin

Copy & paste β€” that's it
/plugin marketplace add pranciskus/newsmcp
/plugin install newsmcp

Claude Code MCP

Copy & paste β€” that's it
claude mcp add newsmcp -- npx -y @newsmcp/server

Cursor

Add to .cursor/mcp.json:

Copy & paste β€” that's it
{
  "mcpServers": {
    "newsmcp": {
      "command": "npx",
      "args": ["-y", "@newsmcp/server"]
    }
  }
}

Windsurf

Add to MCP config:

Copy & paste β€” that's it
{
  "mcpServers": {
    "newsmcp": {
      "command": "npx",
      "args": ["-y", "@newsmcp/server"]
    }
  }
}

OpenAI Codex

Copy & paste β€” that's it
codex mcp add newsmcp -- npx -y @newsmcp/server

Or add to ~/.codex/config.toml:

Copy & paste β€” that's it
[mcp_servers.newsmcp]
command = "npx"
args = ["-y", "@newsmcp/server"]

Gemini CLI

Add to ~/.gemini/settings.json (or project-local .gemini/settings.json):

Copy & paste β€” that's it
{
  "mcpServers": {
    "newsmcp": {
      "command": "npx",
      "args": ["-y", "@newsmcp/server"]
    }
  }
}

OpenCode

Copy & paste β€” that's it
opencode mcp add

Or add to ~/.config/opencode/opencode.json (or project-local .opencode/opencode.json):

Copy & paste β€” that's it
{
  "mcp": {
    "newsmcp": {
      "type": "local",
      "enabled": true,
      "command": ["npx", "-y", "@newsmcp/server"]
    }
  }
}

Smithery

Copy & paste β€” that's it
npx -y @smithery/cli install @newsmcp/server --client claude

OpenClaw Plugin

Copy & paste β€” that's it
openclaw plugins install @newsmcp/openclaw

No configuration needed β€” works out of the box. See @newsmcp/openclaw for options.

OpenClaw Skill

Copy & paste β€” that's it
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.

ParameterTypeDefaultDescription
topicsstringβ€”Comma-separated topic slugs: politics,technology
geostringβ€”Comma-separated region slugs: europe,lithuania
hoursnumber24Time window in hours (1–168)
pagenumber1Page number
per_pagenumber20Results per page (max 50)
order_bystring-sources_countSort 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.

ParameterTypeDescription
event_idstringEvent 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

PromptWhat 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

MethodEndpointDescription
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.

Copy & paste β€” that's it
# 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

Copy & paste β€” that's it
{
  "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

  1. Collect β€” Hundreds of news sources are scraped continuously
  2. Cluster β€” Articles about the same event are grouped using vector embeddings
  3. Classify β€” Each event is tagged with topics and geographic entities
  4. Rank β€” Events are scored by source count, impact, and recency
  5. 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.

Releases (GitHub Actions + OIDC)

Publishing is tag-driven via .github/workflows/release.yml:

  • Trigger: push tag v*.*.*
  • Publishes @newsmcp/server and @newsmcp/openclaw to npm via Trusted Publishing (OIDC)
  • Publishes MCP metadata with mcp-publisher login github-oidc
  • Creates a GitHub release with generated notes

One-time setup

  1. npm package settings: For @newsmcp/server and @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)
  2. MCP Registry: Ensure the repo/package is authorized for GitHub OIDC publishing in MCP Registry.

Release flow

  1. Bump versions in:
    • packages/mcp-server/package.json
    • packages/openclaw-plugin/package.json
    • packages/mcp-server/server.json
    • package-lock.json
  2. Commit and push to main
  3. Create and push tag:
Copy & paste β€” that's it
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

Copy & paste β€” that's it
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