MCP server: One MCP server.

Newsmcp

@pranciskusMCP server · External

Real-time world news for AI agents. 50+ regions, topic filtering. Free, no API key.

Newsv1.1.1MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npm@newsmcp/serverv1.1.1

Run

npx -y @newsmcp/server

MCP client config

{
  "mcpServers": {
    "newsmcp": {
      "command": "npx",
      "args": [
        "-y",
        "@newsmcp/server"
      ]
    }
  }
}
README5 min read

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

json
{
  "mcpServers": {
    "newsmcp": {
      "command": "npx",
      "args": ["-y", "@newsmcp/server"]
    }
  }
}

Claude Code Plugin

bash
/plugin marketplace add pranciskus/newsmcp
/plugin install newsmcp

Claude Code MCP

bash
claude mcp add newsmcp -- npx -y @newsmcp/server

Cursor

Add to .cursor/mcp.json:

json
{
  "mcpServers": {
    "newsmcp": {
      "command": "npx",
      "args": ["-y", "@newsmcp/server"]
    }
  }
}

Windsurf

Add to MCP config:

json
{
  "mcpServers": {
    "newsmcp": {
      "command": "npx",
      "args": ["-y", "@newsmcp/server"]
    }
  }
}

OpenAI Codex

bash
codex mcp add newsmcp -- npx -y @newsmcp/server

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

toml
[mcp_servers.newsmcp]
command = "npx"
args = ["-y", "@newsmcp/server"]

Gemini CLI

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

json
{
  "mcpServers": {
    "newsmcp": {
      "command": "npx",
      "args": ["-y", "@newsmcp/server"]
    }
  }
}

OpenCode

bash
opencode mcp add

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

json
{
  "mcp": {
    "newsmcp": {
      "type": "local",
      "enabled": true,
      "command": ["npx", "-y", "@newsmcp/server"]
    }
  }
}

Smithery

bash
npx -y @smithery/cli install @newsmcp/server --client claude

OpenClaw Plugin

bash
openclaw plugins install @newsmcp/openclaw

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

OpenClaw Skill

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

bash
# 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

json
{
  "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:

json
{
  "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:
bash
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

Similar modules

Browse News