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
Maintainers
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.jsConnect from your AI tool
✅ Easiest: install key-less, then set your key in chat (no JSON editing)
- Add PingCheck MCP to your client with no
envblock at all — the server runs fine without a key (public pages work immediately):{ "mcpServers": { "pingcheck": { "command": "npx", "args": ["pingcheck-mcp"] } } } - In your AI chat, say: "My PingCheck key is pk_xxx".
- 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)
- Log in to pingcheck.cloud → Dashboard → API Key.
- Scroll to "Connect your AI agent".
- Pick your client (WorkBuddy / Claude Desktop / Cursor / VS Code / Zed…).
- 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).
- 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.json → context_servers |
| Trae | MCP settings panel |
| WorkBuddy | ~/.workbuddy/mcp.json |
Don't see your tool? If it supports MCP and lets you add a
mcpServersentry, 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 withPINGCHECK_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 RegistryThen list it on community directories (Glama, mcp.so) for discoverability.
The mcpName field in package.json must match io.github.Churman1113/pingcheck-mcp.
