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

stillrunning-mcp

v0.3.0

Published

MCP stdio server for StillRunning. Safe primitives for an AI coding agent to plan, create, wire, and test job monitors , confirm-before-edit, never leaks ping URLs.

Readme

stillrunning-mcp

An MCP stdio server that lets your coding agent (Claude Code, Codex) install StillRunning monitoring for your cron jobs, scheduled tasks, and agent scripts , safely.

Your agent does the discovery with its own file and shell tools. This server gives it the safe primitives: an idempotent reconcile, per-runtime wiring snippets with fail-paths that never break your job, and a connectivity test that can never fake a healthy run. It never reads or edits your filesystem, and it never leaks ping URLs.

Setup

You need a StillRunning installer API key (create one at stillrunning.ai/app/settings).

Add the server to your agent. For Claude Code (.mcp.json or your MCP config):

{
  "mcpServers": {
    "stillrunning": {
      "command": "npx",
      "args": ["-y", "stillrunning-mcp"],
      "env": { "STILLRUNNING_API_KEY": "sr_live_xxxxxxxxxxxxxxxxxxxxxxxx" }
    }
  }
}

STILLRUNNING_API_URL is optional and defaults to https://stillrunning.ai.

Tools

| Tool | What it does | |------|--------------| | list_monitors | List your monitors (id, schedule, verification + health state). Never returns ping URLs. | | generate_install_plan | Dry-run reconcile: preview what would be created/updated/unchanged/rejected/missing, writing nothing. | | create_monitors_from_plan | Apply the confirmed plan (re-send the same monitors[]). Idempotent , re-running never duplicates. | | get_wiring_snippet | Exact wiring per runtime (crontab, shell, claude-code-wrapper, GitHub Actions, launchd, systemd, node, python, n8n) with a safe fail-path. | | send_test_ping | Connectivity-test a monitor by id. Verifies the endpoint; never makes it healthy. | | get_alert_destinations | Show where alerts go (owner email + channels, URLs masked). Read-only. | | add_alert_channel | Attach a Slack/Discord alert channel (needs a key with channels:write; generic webhooks via the dashboard). |

The flow

  1. Your agent inspects crontab / launchd / systemd / CI / scripts with its own tools.
  2. generate_install_plan (dry run) , preview the diff.
  3. Your agent shows you the exact files and commands it will change.
  4. You confirm. Nothing is edited before you say yes.
  5. create_monitors_from_plan , apply; each new monitor returns a ping URL once.
  6. get_wiring_snippet , wire each job with a fail-path that can't break it.
  7. send_test_ping , verify the endpoint (it shows "waiting for first real run").
  8. The monitor goes healthy on its first real run, and alerts if it ever stops.

Trust contract

  • Ping URLs are secrets. Returned only when a monitor is first created; never listed in bulk. An installer key cannot reveal an existing monitor's URL.
  • A test ping is not health. It proves the endpoint is reachable. Only a real production run makes a monitor healthy. Test pings are excluded from every health, cost, and anomaly calculation.
  • Re-running reconciles, never duplicates, and never clobbers settings you customized.
  • This server cannot become a generic fetch tool. send_test_ping takes a monitor id only.

Requirements

Node 18+.

License

MIT