# Newsmcp

> MCP server for real-time world news — free, no API key required

- **Type:** MCP server
- **Install:** `agentstack add mcp-pranciskus-newsmcp`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [pranciskus](https://agentstack.voostack.com/s/pranciskus)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [pranciskus](https://github.com/pranciskus)
- **Source:** https://github.com/pranciskus/newsmcp

## Install

```sh
agentstack add mcp-pranciskus-newsmcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

NewsMCP — World news for AI agents

  newsmcp.io&nbsp;&nbsp;&bull;&nbsp;&nbsp;integrations&nbsp;&nbsp;&bull;&nbsp;&nbsp;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.

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

| Platform | Package | Install |
|----------|---------|---------|
| [Claude Desktop](#claude-desktop) | `@newsmcp/server` | MCP config |
| [Claude Code plugin](#claude-code-plugin) | `newsmcp` | `/plugin install` |
| [Claude Code MCP](#claude-code-mcp) | `@newsmcp/server` | `claude mcp add` |
| [Cursor](#cursor) | `@newsmcp/server` | MCP config |
| [Windsurf](#windsurf) | `@newsmcp/server` | MCP config |
| [OpenAI Codex](#openai-codex) | `@newsmcp/server` | `codex mcp add` |
| [Gemini CLI](#gemini-cli) | `@newsmcp/server` | `settings.json` |
| [OpenCode](#opencode) | `@newsmcp/server` | `opencode mcp add` |
| [Smithery](#smithery) | `@newsmcp/server` | `npx @smithery/cli` |
| [OpenClaw plugin](#openclaw-plugin) | `@newsmcp/openclaw` | `openclaw plugins install` |
| [OpenClaw skill](#openclaw-skill) | `newsmcp-skill` | `clawhub install` |
| [REST API](#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`](packages/openclaw-plugin/) 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`](packages/skill/) on [ClawHub](https://clawhub.ai/).

## MCP Tools

Four tools. That's the interface.

### `get_news`

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)

### `get_news_detail`

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 |

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

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

## REST API

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 |

### 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`](.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

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [pranciskus](https://github.com/pranciskus)
- **Source:** [pranciskus/newsmcp](https://github.com/pranciskus/newsmcp)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-pranciskus-newsmcp
- Seller: https://agentstack.voostack.com/s/pranciskus
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
