ping
Health check endpoint for MCP server. Returns server status and version information.
Use this to verify the MCP server is running and accessible.
list_monitors
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.
get_monitor_status
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.
get_uptime_stats
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.
get_check_history
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.
create_monitor
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.
update_monitor
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.
delete_monitor
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.
execute_check
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.
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.
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.
login
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.
refresh_token
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.
get_current_user
Get profile information for the currently authenticated user.
Returns: user_id, email, plan, limits (monitors, alerts, workspaces), created_at, last_login_at.
generate_api_key
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.
create_workspace
Create a new workspace for organizing monitors.
Returns: workspace_id, name, color, is_default.
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.
Returns: group_id, name, monitor_count.
update_monitor_group
Update a monitor group. Only provided fields are changed.
To replace monitors, pass the full list of monitor_ids.
delete_monitor_group
Delete a monitor group. Monitors are NOT deleted, only ungrouped.
Pass confirm=true to confirm deletion.
list_telegram_groups
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.
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. 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.
delete_telegram_group
Unlink a Telegram group. The bot stays in the group, but alerts will no longer be sent to it.
Pass confirm=true to confirm.
list_heartbeats
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.
create_heartbeat
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.
get_heartbeat
Get detailed information about a specific heartbeat monitor.
Returns: name, slug, status, interval, grace period, last ping, total pings, consecutive misses, ping URL.
delete_heartbeat
Delete a heartbeat monitor and all its ping history. This action is IRREVERSIBLE.
Safety: Pass confirm=true to actually delete.
pause_heartbeat
Pause a heartbeat monitor. No alerts will be sent while paused.
Use resume_heartbeat to reactivate.
resume_heartbeat
Resume a paused heartbeat monitor. Status resets to 'pending' until the next ping is received.