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

pingcheck-mcp

v0.3.0

Published

MCP server for PingCheck — query public status pages and your own monitors from any AI agent. Zero-config for public pages; set your PingCheck API key (pk_...) right in chat (no config file editing) or via env. 10 tools: public status, set key / auth stat

Readme

PingCheck MCP Server

An MCP server that lets any AI coding agent (Claude, Cursor, Copilot, Windsurf, Codex…) read your PingCheck status data.

Works with any MCP client — not just the ones named above. This server speaks the standard MCP protocol over stdio, so every AI coding tool that supports MCP can connect: Claude Desktop, Cursor, VS Code + GitHub Copilot, Cline, Roo, Windsurf, Zed, Trae, Codex, WorkBuddy, and more. There is no client allow-list — the only thing that changes is whether you supply a PINGCHECK_API_KEY (to read your own monitors) or omit it (public pages only).

  • Public status pages: read with no API key. Status data is already public — just give the agent a slug.
  • Your own monitors: authenticate with your pk_ API key (generate it in PingCheck Dashboard → API Key sidebar; admin accounts bypass the Pro/Team requirement) to list your pages, see component uptime, and trigger on-demand checks.

This server is an MCP server over the existing PingCheck REST API. Read tools work with or without an API key; write tools require your pk_ API key and only modify resources you own.

Three ways to provide your API key

You never have to edit a config file. Pick whichever is easiest:

| # | Method | Best for | How | |---|--------|----------|-----| | A | Tell the AI in chat ⭐ | Non-technical users | After installing the server, just say "my PingCheck key is pk_...". The agent calls pingcheck_set_api_key, which verifies and stores it for the conversation. No file editing at all. | | B | Env in config file | Persistent setup | Add PINGCHECK_API_KEY to the env block of your MCP config (see below). Survives restarts. | | C | Let the AI edit the config | Agents with file access (WorkBuddy, Cursor…) | Say "add my PingCheck key pk_... to my MCP config" — the agent writes it to the file for you. |

Method A is the recommended path if you're not comfortable finding and editing JSON config files. The key set via chat lives in memory for that session only; use B to make it permanent.

Tools (10 total)

| Tool | Auth | What it does | |------|------|--------------| | pingcheck_public_status | none | Live status of any public page by slug | | pingcheck_set_api_key | none | Set your pk_ key in chat — no config file needed | | pingcheck_auth_status | none | Report whether you're authenticated ("am I connected?") | | pingcheck_list_my_pages | pk_ key | List your own status pages | | pingcheck_page_detail | pk_ key | Full detail (components + incidents) for one page | | pingcheck_check_now | pk_ key | Force an on-demand re-check of a component | | pingcheck_create_component | pk_ key | Add a new monitoring component to your page | | pingcheck_delete_component | pk_ key | Delete a component from your page | | pingcheck_create_incident | pk_ key | Report a new incident on your status page | | pingcheck_update_incident | pk_ key | Update or resolve an existing incident |

Install / run

# via npx (after publishing to npm)
npx pingcheck-mcp

# or clone + build
npm install
npm run build
node dist/index.js

Connect from your AI tool

✅ Easiest: install key-less, then set your key in chat (no JSON editing)

  1. Add PingCheck MCP to your client with no env block at all — the server runs fine without a key (public pages work immediately):
    { "mcpServers": { "pingcheck": { "command": "npx", "args": ["pingcheck-mcp"] } } }
  2. In your AI chat, say: "My PingCheck key is pk_xxx".
  3. The agent calls pingcheck_set_api_key, verifies it, and you now have full access — no config file touched. Ask "am I connected?" anytime to check.

One-click from the PingCheck dashboard (copies a ready config)

  1. Log in to pingcheck.cloudDashboard → API Key.
  2. Scroll to "Connect your AI agent".
  3. Pick your client (WorkBuddy / Claude Desktop / Cursor / VS Code / Zed…).
  4. Click Copy (Free: key-less config for public pages) or Generate & copy (Pro/Team: auto-creates your API key and copies a ready-to-paste config with it included).
  5. Paste into your client's config file. Done.

Manual config (advanced)

PingCheck MCP uses the standard mcpServers config block. Paste the snippet below into whatever MCP client you use — the JSON is identical across Claude Desktop, Cursor, VS Code (Copilot), Cline, Roo, Windsurf, Zed, Trae, Codex, WorkBuddy, and any other MCP-compatible tool. Only the location of the config file differs from client to client.

{
  "mcpServers": {
    "pingcheck": {
      "command": "npx",
      "args": ["pingcheck-mcp"],
      "env": {
        "PINGCHECK_API_KEY": "pk_xxx_your_key_here"
      }
    }
  }
}

Where to paste it (common clients):

| Client | Config location | |--------|-----------------| | Claude Desktop | claude_desktop_config.json (OS config dir) | | Cursor | Settings → MCP, or ~/.cursor/mcp.json | | VS Code (Copilot) | .vscode/mcp.json in your workspace | | Cline / Roo | Cline's MCP settings (cline_mcp_settings.json) | | Windsurf | ~/.codeium/windsurf/mcp.json | | Zed | settings.jsoncontext_servers | | Trae | MCP settings panel | | WorkBuddy | ~/.workbuddy/mcp.json |

Don't see your tool? If it supports MCP and lets you add a mcpServers entry, it works. The server itself imposes no client restrictions — it just speaks standard MCP over stdio.

Leave PINGCHECK_API_KEY out entirely if you only need public pages.

Example prompts once connected

  • "My PingCheck key is pk_xxx" — authenticate in one line, no config file
  • "Am I connected to PingCheck?" — check auth status
  • "Is the Acme API up? Check pingcheck.cloud/status/acme"
  • "List my PingCheck pages"
  • "Re-check my database component now"

Notes

  • Defaults to https://pingcheck.cloud; override with PINGCHECK_BASE_URL.
  • Public reads need no token; private reads require a pk_ key (Pro/Team).
  • Rate limits apply on the PingCheck side; the agent should not hammer.

Publish to the MCP Registry

npm install -g mcp-publisher
mcp-publisher login github     # device OAuth, personal account, no company
mcp-publisher publish          # zero-review publish to the official Registry

Then list it on community directories (Glama, mcp.so) for discoverability. The mcpName field in package.json must match io.github.Churman1113/pingcheck-mcp.