69
/ 100
10 hours ago
glama

news-monitor-mcp

MCP server for global news monitoring, media analysis and sentiment tracking via WorldNewsAPI — full-text search across 150+ countries, German/English sentiment analysis, top headlines, GL briefings, newspaper front pages and geo-search. API key required.

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.

Install from

M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.

// key findings
15 tools verified — handlers match their declared behaviour
12 read-only tools verified — handlers contain no write/delete/exec
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 2 credentials: MCP_BEARER_TOKEN, WORLD_NEWS_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// required environment variables
This server reads these from process.env. You'll be asked to provide them before it can run.
configMCP_ALLOWED_HOSTS
configMCP_HOST127.0.0.1 HTTP bind host. Use 0.0.0.0 only inside a container.
configMCP_PORT8000 Port for HTTP transport
🔐 secretMCP_BEARER_TOKENRequired in --http mode. Bearer token clients must present in Authorization: Bearer <token>. Generate via python -c "import secrets; print(secrets.token_urlsafe(32))".
configMCP_ALLOWED_ORIGINSOptional CSV allowlist for the Origin header (DNS-rebinding protection). Example: https://claude.ai.
🔐 secretWORLD_NEWS_API_KEYyour-key uvx news-monitor-mcp
configMCP_CACHE_MAX_PER_TYPE1000 Maximum cache entries per tool type. When exceeded, the least-recently-used entry of that type is evicted. Set to 0 to disable the cap (unbounded growth — only safe for short-lived processes).
configMCP_CACHE_SWEEP_SECONDS300 Interval for the background task that removes TTL-expired entries from the cache. Set to 0 to disable the sweep (expired entries are still pruned lazily on news_cache_stats).
configLOG_LEVELINFO Log level: DEBUG / INFO / WARNING / ERROR. Logs are emitted as JSON to stderr with automatic redaction of api-key= query params and Authorization: Bearer headers.
configMCP_ALERT_RETENTION_DAYS90 Alerts older than this many days are deleted on server start (Privacy default per [docs/privacy-dsg.md](docs/privacy-dsg.md)). Set to 0 to disable retention.
configNEWS_MONITOR_ALERTS_FILE(Back-compat) explicit path to the alerts file. Same symlink check applies. Prefer NEWS_MONITOR_ALERTS_DIR.
configNEWS_MONITOR_ALERTS_DIRNEWS_MONITOR_ALERTS_FILE – (Back-compat) explicit path to the alerts file. Same symlink check applies. Prefer .
// full audit trail
The full breakdown of what we checked, the deductions that landed, the network hosts, the dependency advisories, and concrete fix guidance is available to verified publishers.
// improvement guidance — verified publishers only
We have 3 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/malkreide-news-monitor-mcp-1ijdko)](https://m8ven.ai/mcp/malkreide-news-monitor-mcp-1ijdko)
commit: 962a9006426ff04bb4302608083535e5248032d5
code hash: 5f78c3faa7e6c5ffd8b094e8e82dbfadb7a6a5facf09c0804e7f9de9934fe112
verified: 7/31/2026, 9:27:10 AM
view raw JSON →