Sandbox
@pranciskus/newsmcp

MCP server for world news in agent tools

NewsMCP gives agents live world news through an MCP server and a REST API. It groups articles into events, classifies them by topic and geography, and ranks them by source coverage and impact.

42 stars2 forksTypeScriptUpdated 6mo ago
Who it's for

Builders who want their agent to fetch and filter live world news during research or writing.

What it delivers

You can ask an agent for current news by topic or region instead of leaving your build flow to check headlines manually.

What it does

Real-time news events

Collects news from hundreds of sources and serves clustered events as they change.

Topic and region filters

Lets agents filter by topics like politics or technology and regions like Europe, Asia, or the United States.

Event details

Returns full source lists, AI-generated context, impact analysis, and entity tags for one news event.

Multi-agent integrations

Works with Claude Desktop, Claude Code, Cursor, Windsurf, Codex, Gemini CLI, OpenCode, and OpenClaw.

REST API access

Exposes the same news data through `/v1/news/`, `/v1/news/{id}/`, `/v1/news/topics/`, and `/v1/news/regions/`.

How to get it

  1. 1Run
    /plugin marketplace add pranciskus/newsmcp
    /plugin install newsmcp
  2. 2Run
    claude mcp add newsmcp -- npx -y @newsmcp/server
  3. 3Run
    codex mcp add newsmcp -- npx -y @newsmcp/server
  4. 4Run
    opencode mcp add
  5. 5Run
    npx -y @smithery/cli install @newsmcp/server --client claude
  6. 6Run
    openclaw plugins install @newsmcp/openclaw

README

NewsMCP — World news for AI agents

newsmcp.io  •  integrations  •  REST API

npm @newsmcp/server npm @newsmcp/openclaw MIT


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 topicspolitics 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 APIcurl 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.

ParameterTypeDefaultDescription
topicsstringComma-separated topic slugs: politics,technology
geostringComma-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.

# 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

  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.

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/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:
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

Files in the repo

Repository payload11 top-level entries
  • .claude-plugin
  • .github
  • packages
  • .gitignore
  • glama.json
  • LICENSE
  • package-lock.json
  • package.json
  • publish.mcp.sh
  • publish.sh
  • README.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k

x64dbg-MCP Server is a native MCP (Model Context Protocol) plugin for x64dbg that exposes the debugger's full functionality over HTTP. Connect any MCP-compatible AI assistant and control x64dbg programmatically: set breakpoints, step through code, read memory, dump registers, and more. Built with Zig — zero dependencies, single-binary output, cros

1.9k