npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

worldmonitor

v0.1.3

Published

Command-line client for the World Monitor global-intelligence API — script country briefs, risk scores, conflict/cyber/market feeds, and MCP tools without writing an API integration.

Readme

worldmonitor

npm version npm downloads license

Official command-line client for the World Monitor global-intelligence API. Script country briefs, risk scores, and conflict / cyber / market / news feeds — plus any of the 39 MCP tools — from your shell or an agent, without writing an API integration.

The CLI is a thin, dependency-free wrapper over the MCP server (the recommended agent surface) with a REST escape hatch. It ships as ESM and runs on Node 18+.

📖 Full documentation: worldmonitor.app/docs/cli

Install

npm install -g worldmonitor   # installs the `worldmonitor` command (alias: `wm`)
# or run without installing:
npx worldmonitor tools

Quick start

# Discover every tool — public, no key needed
worldmonitor tools

# Data commands need a user API key (get one at https://worldmonitor.app/pro)
export WORLDMONITOR_API_KEY=wm_xxxxxxxx

worldmonitor world                       # live global situation brief
worldmonitor country IR                  # AI strategic brief for a country
worldmonitor risk DE                      # country risk / resilience scores
worldmonitor conflicts --country IR --limit 5
worldmonitor markets --asset_class crypto
worldmonitor call get_cyber_threats --min_severity 7

Commands

Data commands map to MCP tools/call and require --api-key:

  • world — live global situation brief
  • country <ISO> — AI strategic brief for a country (ISO 3166-1 alpha-2)
  • risk <ISO> — country risk / resilience scores
  • markets — equities, commodities, crypto, FX quotes
  • conflicts — recent conflict events (--country, --min_fatalities, --limit)
  • cyber — cyber-threat indicators (--min_severity, --threat_type, --country)
  • news — classified news intelligence (--topic, --country, --alerts_only)
  • disasters — earthquakes, fires, storms (--dataset, --active_only)
  • sanctions — sanctions designations (--country, --query)
  • forecasts — scenario forecasts (--domain, --region)
  • maritime <ISO> — maritime / port activity for a country

MCP and REST:

  • tools — list every MCP tool (public — no key needed)
  • call <tool> [--arg val] — call any MCP tool (--args '<json>' for typed args)
  • prompts / resources — list MCP prompt / resource templates
  • health — API status / health check (requires --api-key)
  • get <path> [--param val] — call a raw REST path (host-relative /api/…)
  • list [service] — list documented REST operations from the live OpenAPI spec

Any --key value pair you pass that is not a recognised flag becomes a tool or request parameter, so every tool argument is reachable without special wiring.

Every tool also accepts a jmespath argument that projects the response server-side before it crosses the wire — typically 80–95% smaller:

worldmonitor markets --jmespath 'data."stocks-bootstrap".quotes[?symbol==`AAPL`].{s:symbol,p:price}'

See the JMESPath guide for worked examples.

Flags

  • --api-key <key> — user API key (or env WORLDMONITOR_API_KEY)
  • --mcp-url <url> — MCP endpoint (default https://worldmonitor.app/mcp)
  • --base-url <url> — REST base (default https://api.worldmonitor.app)
  • --args <json> — typed arguments object for a tool call
  • --timeout <ms> — request timeout (default 30000)
  • --raw — print the response body verbatim
  • --compact — print single-line JSON
  • -h, --help / -v, --version

Exit codes

  • 0 — success
  • 1 — request or transport error (the response body is written to stderr)
  • 2 — usage error

Programmatic use

import { run } from 'worldmonitor/run';

const code = await run(['risk', 'IR'], { env: process.env });

License

MIT-licensed thin client (the World Monitor platform itself remains AGPL-3.0). Part of the World Monitor project.