# PingZen Uptime Monitoring

Monitor websites, APIs, and services with 44 tools across 22 protocols (HTTP, TCP, DNS, SSL, gRPC, ICMP, and more).

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add pingzen/uptime-monitoring

# Browse available tools
npx -y @smithery/cli@latest tool list pingzen/uptime-monitoring

# Get full schema for a tool
npx -y @smithery/cli@latest tool get pingzen/uptime-monitoring ping

# Call a tool
npx -y @smithery/cli@latest tool call pingzen/uptime-monitoring ping '{}'
```

## Direct MCP Connection

Endpoint: `https://uptime-monitoring--pingzen.run.tools`

## Tools (44)

- `ping` — Health check endpoint for MCP server. Returns server status and version information.
- `list_monitors` — List all monitors for a user or workspace. Returns monitor name, current status (up/down/degraded), URL, and uptime per…
- `get_monitor_status` — Get real-time status of a specific monitor. Returns current status, last check time, response time, and error message i…
- `get_uptime_stats` — Get uptime statistics for a monitor over a time period. Returns uptime percentage, total checks, failed checks, and ave…
- `get_check_history` — Get historical check results for a monitor. Returns list of checks with timestamp, status, response time, and errors.
- `create_monitor` — Create a new uptime monitor. Supports 22 protocols (HTTP, HTTPS, TCP, DNS, SSL, etc.).
- `update_monitor` — Update an existing monitor's settings. Only provided fields are changed; others keep current values.
- `delete_monitor` — Delete a monitor and all its data (check results, alerts, incidents). This action is IRREVERSIBLE.
- `execute_check` — Run an immediate health check for a monitor. Returns real-time result without waiting for the next scheduled check.
- `list_alerts` — List all alert configurations. Returns alert name, channel, target, triggers, and active status.
- `create_alert` — Create a new alert rule. Sends notifications via the chosen channel when triggers fire.
- `update_alert` — Update an existing alert rule. Only provided fields are changed.
- `delete_alert` — Delete an alert rule. Pass confirm=true to confirm deletion.
- `test_alert` — Send a test notification for an alert to verify channel configuration.
- `list_incidents` — List incidents. Filter by status (investigating, identified, monitoring, resolved).
- `get_incident` — Get incident details including timeline of status updates.
- `update_incident` — Add a status update to an incident. Optionally change status (investigating -> identified -> monitoring -> resolved).
- `resolve_incident` — Resolve an incident. Shortcut for update_incident with status=resolved.
- `list_status_pages` — List all status pages in the workspace.
- `create_status_page` — Create a new public status page with a unique slug.
- `update_status_page` — Update a status page's title, slug, description, theme, or visibility.
- `add_status_page_monitor` — Add a monitor to a status page.
- `remove_status_page_monitor` — Remove a monitor from a status page.
- `list_workspaces` — List all workspaces for the current user.
- `register` — Create a new PingZen account. Returns access token, refresh token, and a permanent API key.
- `login` — Log in to an existing PingZen account. Returns access token, refresh token, and a permanent API key.
- `refresh_token` — Refresh an expired access token using a refresh token. Returns a new access token and refresh token pair.
- `get_current_user` — Get profile information for the currently authenticated user.
- `generate_api_key` — Generate a permanent API key for MCP access. API keys never expire and replace JWT tokens for long-term use.
- `create_workspace` — Create a new workspace for organizing monitors.
- `update_workspace` — Update a workspace's name, description, or color. Only provided fields are changed.
- `list_monitor_groups` — List all monitor groups. Returns group name, monitor count, status, and health percentage.
- `create_monitor_group` — Create a monitor group for organizing related monitors.
- `update_monitor_group` — Update a monitor group. Only provided fields are changed.
- `delete_monitor_group` — Delete a monitor group. Monitors are NOT deleted, only ungrouped.
- `list_telegram_groups` — List Telegram groups linked to the current user. Groups can receive alert notifications via the Telegram channel.
- `link_telegram_group` — Generate a deep link URL for adding the PingZen bot to a Telegram group. Open the URL in Telegram to select a group. Th…
- `delete_telegram_group` — Unlink a Telegram group. The bot stays in the group, but alerts will no longer be sent to it.
- `list_heartbeats` — List all heartbeat monitors for cron job / scheduled task monitoring. Heartbeats work in reverse: your service pings Pi…
- `create_heartbeat` — Create a new heartbeat monitor for cron jobs or scheduled tasks. Your service pings PingZen at the expected interval; i…
- `get_heartbeat` — Get detailed information about a specific heartbeat monitor.
- `delete_heartbeat` — Delete a heartbeat monitor and all its ping history. This action is IRREVERSIBLE.
- `pause_heartbeat` — Pause a heartbeat monitor. No alerts will be sent while paused.
- `resume_heartbeat` — Resume a paused heartbeat monitor. Status resets to 'pending' until the next ping is received.

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get pingzen/uptime-monitoring <tool-name>
```

## Resources

- `pinger://monitors` — All monitors with status, URL, and uptime
- `pinger://alerts` — All alert configurations
- `pinger://incidents` — Current and recent incidents
- `pinger://status-pages` — All status pages with monitors
- `pinger://workspaces` — User workspaces

## Prompts (3)

- `analyze_performance` (monitor_id, days) — Analyze monitor performance trends and provide optimization recommendations
- `troubleshoot_downtime` (monitor_id) — Diagnose downtime root causes using failed checks and incident data
- `sla_report` (workspace_id, days) — Generate an SLA compliance report for all monitors in a workspace
