newsmcp

为AI智能体提供实时全球新闻——从数百个来源聚类事件,按12个主题和30多个地区分类,并按重要性排序。免费,无需API密钥。

文档

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:

{
  "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
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.

# 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