io.github.pranciskus/newsmcp
Real-time world news for AI agents. 50+ regions, topic filtering. Free, no API key.
Ask AI about io.github.pranciskus/newsmcp
Powered by Claude Β· Grounded in docs
I know everything about io.github.pranciskus/newsmcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
NewsMCP β World news for AI agents
newsmcp.ioΒ Β β’Β Β integrationsΒ Β β’Β Β 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 | @newsmcp/server | MCP config |
| Claude Code plugin | newsmcp | /plugin install |
| Claude Code MCP | @newsmcp/server | claude mcp add |
| Cursor | @newsmcp/server | MCP config |
| Windsurf | @newsmcp/server | MCP config |
| OpenAI Codex | @newsmcp/server | codex mcp add |
| Gemini CLI | @newsmcp/server | settings.json |
| OpenCode | @newsmcp/server | opencode mcp add |
| Smithery | @newsmcp/server | npx @smithery/cli |
| OpenClaw plugin | @newsmcp/openclaw | openclaw plugins install |
| OpenClaw skill | newsmcp-skill | clawhub 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.
| 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.
# 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
- Collect β Hundreds of news sources are scraped continuously
- Cluster β Articles about the same event are grouped using vector embeddings
- Classify β Each event is tagged with topics and geographic entities
- Rank β Events are scored by source count, impact, and recency
- 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/serverand@newsmcp/openclawto npm via Trusted Publishing (OIDC) - Publishes MCP metadata with
mcp-publisher login github-oidc - Creates a GitHub release with generated notes
One-time setup
- npm package settings:
For
@newsmcp/serverand@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)
- Owner:
- MCP Registry: Ensure the repo/package is authorized for GitHub OIDC publishing in MCP Registry.
Release flow
- Bump versions in:
packages/mcp-server/package.jsonpackages/openclaw-plugin/package.jsonpackages/mcp-server/server.jsonpackage-lock.json
- Commit and push to
main - 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
