Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

PingZen Uptime Monitoring

OCI · DOCKER.IO/ILYAKONG/PINGZEN-MCP:0.9.3 · 2 COMPONENTS · SCANNED SEP 20

Uptime monitoring with 127 tools across 23 protocols. Tag filtering + Code Mode.

+1 this week 52 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency32
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • License check failed: no license is declared. See how to fix → Fail
  • Actively maintained (last published 192 days ago).Pass
  • Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability87
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 3528 tokens (~72/item across 49 items; 44 tools + 5 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
  • Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety94
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 6 of 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "execute_check" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
  • An AI judge read all 45 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the PingZen Uptime Monitoring MCP server?

PingZen Uptime Monitoring runs locally as a container image, launched with docker run --rm -i docker.io/ilyakong/pingzen-mcp:0.9.3. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · docker.io/ilyakong/pingzen-mcp:0.9.3

# add to Claude Code
claude mcp add dev-pingzen-mcp -- docker run --rm -i docker.io/ilyakong/pingzen-mcp:0.9.3
// .cursor/mcp.json
{
  "mcpServers": {
    "dev-pingzen-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/ilyakong/pingzen-mcp:0.9.3"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "dev-pingzen-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/ilyakong/pingzen-mcp:0.9.3"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add dev-pingzen-mcp -- docker run --rm -i docker.io/ilyakong/pingzen-mcp:0.9.3
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dev-pingzen-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "docker.io/ilyakong/pingzen-mcp:0.9.3"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  dev-pingzen-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "docker.io/ilyakong/pingzen-mcp:0.9.3"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "dev-pingzen-mcp": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "docker.io/ilyakong/pingzen-mcp:0.9.3"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "dev-pingzen-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/ilyakong/pingzen-mcp:0.9.3"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Sept 26 −3
    • Stability: pass → 0.83 functional
  • 18 Sept 26 +1
    • Stability: 0.97 → pass security
  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 −4
    • Stability: pass → 0.77 functional
  • 10 Sept 26 +1
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed oci/docker.io/ilyakong/pingzen-mcp:0.9.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 44 exposed · ~3,477 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_status_page_monitor ~70

Add a monitor to a status page.

NameTypeReqDescription
display_namestringCustom display name on the page.
display_orderintegerSort order. Default: 0.
monitor_idintegeryesMonitor ID to add.
page_idintegeryesStatus page ID.

No output schema declared.

No examples provided.

create_alert ~124

Create a new alert rule. Sends notifications via the chosen channel when triggers fire.

NameTypeReqDescription
channelstringyesNotification channel.
cooldown_minutesintegerMinutes between repeated alerts. Default: 5.
monitor_idsarrayMonitor IDs to attach. Default: all monitors.
namestringyesAlert name.
targetstringyesChannel target (email, webhook URL, chat ID, etc.).
triggersarrayTrigger events. Default: ['down', 'recovered'].
workspace_idintegerWorkspace ID.

No output schema declared.

No examples provided.

create_heartbeat ~167

Create a new heartbeat monitor for cron jobs or scheduled tasks. Your service pings PingZen at the expected interval; if a ping is missed, an alert fires after the grace period. Returns: Heartbeat details with slug, secret, and ping URL.

NameTypeReqDescription
descriptionstringOptional description of what this heartbeat monitors.
expected_interval_secondsintegerExpected ping interval in seconds. Range: 60-2592000 (30 days). Default: 3600.
grace_period_secondsintegerGrace period before alerting (seconds). Range: 0-86400. Default: 300.
namestringyesDisplay name (e.g. 'Nightly Backup').
workspace_idintegerWorkspace ID (uses default if omitted).

No output schema declared.

No examples provided.

create_monitor ~192

Create a new uptime monitor. Supports 22 protocols (HTTP, HTTPS, TCP, DNS, SSL, etc.). Common use cases: - 'Monitor https://api.example.com every 60 seconds' - 'Add a TCP check for db.example.com:5432' - 'Create an SSL certificate monitor for example.com' Returns: Created monitor details with ID.

NameTypeReqDescription
interval_secondsintegerCheck interval in seconds. Default: 60, Range: 60-3600.
namestringyesDisplay name for the monitor.
protocolstringyesMonitoring protocol.
timeout_secondsintegerTimeout in seconds. Default: 5, Range: 1-60.
urlstringyesURL or host to monitor (e.g. https://example.com, db.example.com:5432).
workspace_idintegerWorkspace ID to create the monitor in.

No output schema declared.

No examples provided.

create_monitor_group ~77

Create a monitor group for organizing related monitors. Returns: group_id, name, monitor_count.

NameTypeReqDescription
descriptionstringOptional group description.
monitor_idsarrayMonitor IDs to include in the group.
namestringyesGroup name (1-200 characters).
workspace_idintegerWorkspace ID.

No output schema declared.

No examples provided.

create_status_page ~104

Create a new public status page with a unique slug.

NameTypeReqDescription
allow_indexingbooleanAllow search engines to index this page. Default: true.
descriptionstringPage description.
is_publicbooleanPublic visibility. Default: true.
slugstringyesURL slug (lowercase letters, digits, hyphens).
themestringTheme. Default: 'dark'.
titlestringyesPage title.

No output schema declared.

No examples provided.

create_workspace ~85

Create a new workspace for organizing monitors. Returns: workspace_id, name, color, is_default.

NameTypeReqDescription
colorstringHex color code (e.g. #3B82F6). Default: #3B82F6.
descriptionstringOptional description (max 500 chars).
namestringyesWorkspace name (1-100 characters).

No output schema declared.

No examples provided.

delete_alert ~44

Delete an alert rule. Pass confirm=true to confirm deletion.

NameTypeReqDescription
alert_idintegeryesAlert ID to delete.
confirmbooleanMust be true to confirm.

No output schema declared.

No examples provided.

delete_heartbeat ~67

Delete a heartbeat monitor and all its ping history. This action is IRREVERSIBLE. Safety: Pass confirm=true to actually delete.

NameTypeReqDescription
confirmbooleanMust be true to confirm deletion. Default: false.
heartbeat_idstringyesHeartbeat monitor ID to delete.

No output schema declared.

No examples provided.

delete_monitor ~93

Delete a monitor and all its data (check results, alerts, incidents). This action is IRREVERSIBLE. Safety: You must pass confirm=true to actually delete. Without it, returns a warning listing what will be deleted. Returns: Confirmation message or deletion warning.

NameTypeReqDescription
confirmbooleanMust be true to confirm deletion. Default: false.
monitor_idintegeryesID of the monitor to delete.

No output schema declared.

No examples provided.

delete_monitor_group ~61

Delete a monitor group. Monitors are NOT deleted, only ungrouped. Pass confirm=true to confirm deletion.

NameTypeReqDescription
confirmbooleanMust be true to confirm deletion.
group_idstringyesMonitor group ID (UUID) to delete.

No output schema declared.

No examples provided.

delete_telegram_group ~72

Unlink a Telegram group. The bot stays in the group, but alerts will no longer be sent to it. Pass confirm=true to confirm.

NameTypeReqDescription
confirmbooleanMust be true to confirm. Default: false.
group_idintegeryesTelegram group ID (from list_telegram_groups).

No output schema declared.

No examples provided.

execute_check ~95

Run an immediate health check for a monitor. Returns real-time result without waiting for the next scheduled check. The check is marked as manual (excluded from uptime SLA calculations). Common use cases: - 'Check if api.example.com is up right now' - 'Run a health check on monitor 42' Returns: Check result with status, response time, errors.

NameTypeReqDescription
monitor_idintegeryesID of the monitor to check.

No output schema declared.

No examples provided.

generate_api_key ~113

Generate a permanent API key for MCP access. API keys never expire and replace JWT tokens for long-term use. The key is shown ONCE and cannot be retrieved later. Common use cases: - 'Generate an API key for my CI/CD pipeline' - 'I need a permanent token for my MCP client' Returns: raw API key (pz_...), setup instructions for MCP clients.

NameTypeReqDescription
namestringHuman-readable name for the key (e.g. 'Claude Desktop'). Default: 'MCP Key'.

No output schema declared.

No examples provided.

get_check_history ~136

Get historical check results for a monitor. Returns list of checks with timestamp, status, response time, and errors. Common use cases: - 'Show me last 10 checks for api.example.com' - 'What errors occurred in the last hour?' - 'Get check history for monitor 42' Returns: Array of check results with timestamp, status, response_time, error_message.

NameTypeReqDescription
limitintegerNumber of results to return. Default: 10, Range: 1-100
monitor_idintegeryesMonitor ID
statusstringFilter by status. Default: 'all'

No output schema declared.

No examples provided.

get_current_user ~44

Get profile information for the currently authenticated user. Returns: user_id, email, plan, limits (monitors, alerts, workspaces), created_at, last_login_at.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_heartbeat ~56

Get detailed information about a specific heartbeat monitor. Returns: name, slug, status, interval, grace period, last ping, total pings, consecutive misses, ping URL.

NameTypeReqDescription
heartbeat_idstringyesHeartbeat monitor ID.

No output schema declared.

No examples provided.

get_incident ~28

Get incident details including timeline of status updates.

NameTypeReqDescription
incident_idintegeryesIncident ID.

No output schema declared.

No examples provided.

get_monitor_status ~108

Get real-time status of a specific monitor. Returns current status, last check time, response time, and error message if any. Common use cases: - 'What's the status of api.example.com?' - 'Is monitor 42 up or down?' - 'When was the last check?' Returns: status, last_check_at, response_time_ms, http_status_code, error_message.

NameTypeReqDescription
monitor_idintegeryesMonitor ID. Use list_monitors() to find IDs.

No output schema declared.

No examples provided.

get_uptime_stats ~124

Get uptime statistics for a monitor over a time period. Returns uptime percentage, total checks, failed checks, and average response time. Common use cases: - 'What was the uptime last month?' - 'Show me SLA report for Q4' - 'How many failed checks in the last week?' Returns: uptime_percentage, total_checks, successful_checks, failed_checks, avg_response_time_ms.

NameTypeReqDescription
daysintegerTime period in days. Default: 30, Range: 1-365
monitor_idintegeryesMonitor ID

No output schema declared.

No examples provided.

link_telegram_group ~88

Generate a deep link URL for adding the PingZen bot to a Telegram group. Open the URL in Telegram to select a group. The link expires in 1 hour. After linking, the group's chat_id can be used as a target for Telegram alerts. Returns: Deep link URL, workspace name, expiry info.

NameTypeReqDescription
workspace_idintegeryesWorkspace ID to link the group to.

No output schema declared.

No examples provided.

list_alerts ~67

List all alert configurations. Returns alert name, channel, target, triggers, and active status.

NameTypeReqDescription
is_activebooleanFilter by active status.
monitor_idintegerFilter alerts linked to a specific monitor.
workspace_idintegerFilter by workspace ID.

No output schema declared.

No examples provided.

list_heartbeats ~80

List all heartbeat monitors for cron job / scheduled task monitoring. Heartbeats work in reverse: your service pings PingZen to confirm it ran. Returns: Array of heartbeat monitors with id, name, slug, status, interval, grace period, last ping, total pings.

NameTypeReqDescription
workspace_idintegerFilter by workspace ID (optional).

No output schema declared.

No examples provided.

list_incidents ~66

List incidents. Filter by status (investigating, identified, monitoring, resolved).

NameTypeReqDescription
limitintegerMax results. Default: 20.
monitor_idintegerFilter by monitor.
statusstringFilter by status. Default: 'all'.

No output schema declared.

No examples provided.

list_monitor_groups ~39

List all monitor groups. Returns group name, monitor count, status, and health percentage.

NameTypeReqDescription
workspace_idintegerFilter by workspace ID.

No output schema declared.

No examples provided.

list_monitors ~113

List all monitors for a user or workspace. Returns monitor name, current status (up/down/degraded), URL, and uptime percentage. Common use cases: - 'Show me all my monitors' - 'What monitors are in workspace 1?' - 'List all down monitors' Returns: Array of monitors with id, name, status, url, uptime_percentage.

NameTypeReqDescription
statusstringFilter by current status. Default: 'all'
workspace_idintegerFilter by workspace ID (optional).

No output schema declared.

No examples provided.

list_status_pages ~17

List all status pages in the workspace.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_telegram_groups ~62

List Telegram groups linked to the current user. Groups can receive alert notifications via the Telegram channel. Returns: Array of groups with id, chat_id, title, chat_type, workspace_id.

NameTypeReqDescription
workspace_idintegerFilter by workspace ID (optional).

No output schema declared.

No examples provided.

list_workspaces ~18

List all workspaces for the current user.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

login ~110

Log in to an existing PingZen account. Returns access token, refresh token, and a permanent API key. After login, all other tools become available. The API key (pz_...) never expires — save it for permanent MCP access. Common use cases: - 'Log me in to PingZen' - 'I already have an account' Returns: access_token, refresh_token, expires_in, user_id, api_key.

NameTypeReqDescription
emailstringyesEmail address.
passwordstringyesPassword.

No output schema declared.

No examples provided.

pause_heartbeat ~44

Pause a heartbeat monitor. No alerts will be sent while paused. Use resume_heartbeat to reactivate.

NameTypeReqDescription
heartbeat_idstringyesHeartbeat monitor ID to pause.

No output schema declared.

No examples provided.

ping ~33

Health check endpoint for MCP server. Returns server status and version information. Use this to verify the MCP server is running and accessible.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

refresh_token ~65

Refresh an expired access token using a refresh token. Returns a new access token and refresh token pair. Use this when the access token has expired. Returns: new access_token, refresh_token, expires_in.

NameTypeReqDescription
refresh_tokenstringyesThe refresh token from login or previous refresh.

No output schema declared.

No examples provided.

register ~121

Create a new PingZen account. Returns access token, refresh token, and a permanent API key. A default workspace and demo monitor are automatically created. The API key (pz_...) never expires — save it for permanent MCP access. Common use cases: - 'I want to start monitoring my website' - 'Create an account for me' Returns: user_id, email, workspace_id, access_token, refresh_token, api_key.

NameTypeReqDescription
emailstringyesEmail address for the new account.
passwordstringyesPassword (1-128 characters).

No output schema declared.

No examples provided.

remove_status_page_monitor ~41

Remove a monitor from a status page.

NameTypeReqDescription
monitor_idintegeryesMonitor ID to remove.
page_idintegeryesStatus page ID.

No output schema declared.

No examples provided.

resolve_incident ~42

Resolve an incident. Shortcut for update_incident with status=resolved.

NameTypeReqDescription
incident_idintegeryesIncident ID.
messagestringResolution message.

No output schema declared.

No examples provided.

resume_heartbeat ~42

Resume a paused heartbeat monitor. Status resets to 'pending' until the next ping is received.

NameTypeReqDescription
heartbeat_idstringyesHeartbeat monitor ID to resume.

No output schema declared.

No examples provided.

test_alert ~32

Send a test notification for an alert to verify channel configuration.

NameTypeReqDescription
alert_idintegeryesAlert ID to test.

No output schema declared.

No examples provided.

update_alert ~94

Update an existing alert rule. Only provided fields are changed.

NameTypeReqDescription
alert_idintegeryesAlert ID to update.
cooldown_minutesintegerNew cooldown.
is_activebooleanEnable or disable.
monitor_idsarrayNew monitor IDs.
namestringNew alert name.
targetstringNew channel target.
triggersarrayNew trigger events.

No output schema declared.

No examples provided.

update_incident ~62

Add a status update to an incident. Optionally change status (investigating -> identified -> monitoring -> resolved).

NameTypeReqDescription
incident_idintegeryesIncident ID.
messagestringyesUpdate message.
statusstringNew status (optional).

No output schema declared.

No examples provided.

update_monitor ~138

Update an existing monitor's settings. Only provided fields are changed; others keep current values. Common use cases: - 'Rename monitor 42 to Production API' - 'Pause monitor 42' - 'Change interval to 120 seconds' Returns: Updated monitor details.

NameTypeReqDescription
interval_secondsintegerNew check interval in seconds.
is_activebooleanSet true to resume, false to pause.
monitor_idintegeryesID of the monitor to update.
namestringNew display name.
timeout_secondsintegerNew timeout in seconds.
urlstringNew URL or host.

No output schema declared.

No examples provided.

update_monitor_group ~80

Update a monitor group. Only provided fields are changed. To replace monitors, pass the full list of monitor_ids.

NameTypeReqDescription
descriptionstringNew description.
group_idstringyesMonitor group ID (UUID) to update.
monitor_idsarrayNew list of monitor IDs.
namestringNew group name.

No output schema declared.

No examples provided.

update_status_page ~98

Update a status page's title, slug, description, theme, or visibility.

NameTypeReqDescription
allow_indexingbooleanAllow search engines to index this page.
descriptionstringNew description.
is_publicbooleanNew visibility.
page_idintegeryesStatus page ID.
slugstringNew slug.
themestringNew theme.
titlestringNew title.

No output schema declared.

No examples provided.

update_workspace ~65

Update a workspace's name, description, or color. Only provided fields are changed.

NameTypeReqDescription
colorstringNew hex color.
descriptionstringNew description.
namestringNew name.
workspace_idintegeryesWorkspace ID to update.

No output schema declared.

No examples provided.

Common questions

What is the PingZen Uptime Monitoring MCP server?

PingZen Uptime Monitoring is an MCP server listed in the public MCP registry as dev.pingzen/mcp. Uptime monitoring with 127 tools across 23 protocols. Tag filtering + Code Mode. This page covers its container image (docker.io/ilyakong/pingzen-mcp:0.9.3).

Is the PingZen Uptime Monitoring MCP server safe to use?

PingZen Uptime Monitoring scores 52 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the PingZen Uptime Monitoring MCP server expose?

PingZen Uptime Monitoring exposes 44 tools: ping, list_monitors, get_monitor_status, get_uptime_stats, get_check_history, and 39 more. Their descriptions and schemas cost roughly 3,477 tokens of context every time the server is loaded.

Is the PingZen Uptime Monitoring MCP server still maintained?

PingZen Uptime Monitoring is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.