NodePing MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi
Read NodePing checks, uptime, results and events; mute checks, manage maintenance and schedules.
28 tools: 10 can delete or cancel things, 1 change things and 17 only read.
Scanned Oct 21, 2026
- Deletes or cancels10Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads17Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http nodeping https://nodeping.usefulapi.io/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "nodeping_get_probe_info" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "nodeping_get_probe_info" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
28 tools
Deletes or cancels 10Claude Code: deny
nodeping_create_adhoc_maintenanceWRITE: create a one-off maintenance window that disables the listed checks for duration_minutes and re-enables them afterwards (no alerts meanwhile).No findings
Why it is in this group
- The name "nodeping_create_adhoc_maintenance" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: create a one-off maintenance window that disables the listed checks for duration_minutes and re-enables them afterwards (no alerts meanwhile). Created inactive unless start_now=true, which starts it immediately. POST /maintenance/ad-hoc.
Annotations the server declares
- title: Create ad-hoc maintenance
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
nodeping_create_contact_groupWRITE: create a contact group from existing contact address ids.No findings
Why it is in this group
- The name "nodeping_create_contact_group" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: create a contact group from existing contact address ids. POST /contactgroups.
Annotations the server declares
- title: Create contact group
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
nodeping_delete_contact_groupWRITE (destructive): delete a contact group.No findings
Why it is in this group
- The name "nodeping_delete_contact_group" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE (destructive): delete a contact group. Checks that notify the group lose that notification target. DELETE /contactgroups/{id}.
Annotations the server declares
- title: Delete contact group
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
nodeping_delete_maintenanceWRITE (destructive): remove a maintenance entry.No findings
Why it is in this group
- The name "nodeping_delete_maintenance" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE (destructive): remove a maintenance entry. DELETE /maintenance/{id}.
Annotations the server declares
- title: Delete maintenance entry
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
nodeping_delete_scheduleWRITE (destructive): delete a notification schedule by name.No findings
Why it is in this group
- The name "nodeping_delete_schedule" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE (destructive): delete a notification schedule by name. DELETE /schedules/{name}.
Annotations the server declares
- title: Delete notification schedule
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
nodeping_disable_checkWRITE: stop a check from running (enabled=false); its history is kept.No findings
Why it is in this group
- The name "nodeping_disable_check" says "disable": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: stop a check from running (enabled=false); its history is kept. Re-enabling is done in the NodePing app (it changes the number of billed checks). PUT /checks/{id}.
Annotations the server declares
- title: Disable check
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
nodeping_mute_checkWRITE: mute a check's notifications (the check keeps running and recording) until a time or indefinitely, or unmute it.No findings
Why it is in this group
- The description's first verb is "write": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: mute a check's notifications (the check keeps running and recording) until a time or indefinitely, or unmute it. mute_until is a future time in ms since the epoch; omit it with mute=true to mute until unmuted. PUT /checks/{id}.
Annotations the server declares
- title: Mute or unmute check
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
nodeping_put_scheduleWRITE: create or update a notification schedule.No findings
Why it is in this group
- The name "nodeping_put_schedule" says "put": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: create or update a notification schedule. NodePing stores all seven weekdays at once, so for an existing schedule the weekdays you pass are merged into its current ones; a new schedule needs all seven. Per weekday: time1/time2 window (24h), exclude to invert it, disabled for no alerts, allday for always. GET then PUT /schedules/{name}.
Annotations the server declares
- title: Create or update notification schedule
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
nodeping_update_checkWRITE: change a check's label, description, tags, target, timeout (threshold seconds) or re-checks before alert (sens).No findings
Why it is in this group
- The name "nodeping_update_check" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: change a check's label, description, tags, target, timeout (threshold seconds) or re-checks before alert (sens). Only the fields you pass change. It does not enable the check, create checks or touch billing. PUT /checks/{id}.
Annotations the server declares
- title: Update check settings
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
nodeping_update_contact_groupWRITE: rename a contact group and/or replace its member list (send the FULL list; omitted members are removed).No findings
Why it is in this group
- The name "nodeping_update_contact_group" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it WRITE: rename a contact group and/or replace its member list (send the FULL list; omitted members are removed). PUT /contactgroups/{id}.
Annotations the server declares
- title: Update contact group
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Changes things 1Claude Code: ask
nodeping_get_probe_infoNodePing's probe servers (two-letter codes) or regions (nam, lam, eur, eao, wlw): the values a check's run locations use.1 finding
Why it is in this group
- The name "nodeping_get_probe_info" says "get": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "nodeping_get_probe_info" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "nodeping_get_probe_info" says "get": a word for reading.
Description, as the server wrote it NodePing's probe servers (two-letter codes) or regions (nam, lam, eur, eao, wlw): the values a check's run locations use. GET /info/probe[/{code}] or /info/location[/{code}].
Annotations the server declares
- title: Get probe locations
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
Only reads 17Claude Code: allow
nodeping_get_accountThe NodePing account the token belongs to (name, status, timezone, next billing date, default probe locations), or a SubAccount with customer_id.No findings
Why it is in this group
- The name "nodeping_get_account" says "get": a word for reading.
Description, as the server wrote it The NodePing account the token belongs to (name, status, timezone, next billing date, default probe locations), or a SubAccount with customer_id. GET /accounts.
Annotations the server declares
- title: Get account
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_get_checkOne check by id with its full (scrubbed) configuration.No findings
Why it is in this group
- The name "nodeping_get_check" says "get": a word for reading.
Description, as the server wrote it One check by id with its full (scrubbed) configuration. Optionally include its latest result and uptime. GET /checks/{id}.
Annotations the server declares
- title: Get check
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_get_check_eventsDown and disabled events of a check (start, end, message, open) newest first: an incident history.No findings
Why it is in this group
- The name "nodeping_get_check_events" says "get": a word for reading.
Description, as the server wrote it Down and disabled events of a check (start, end, message, open) newest first: an incident history. limit=1 returns the most recent event. GET /results/events/{id}.
Annotations the server declares
- title: Get check events
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_get_check_resultsRaw results of a check, newest first by default: pass/fail (su), run time (rt, ms), message (m), status text (sc), start (s) and the probe location (l).No findings
Why it is in this group
- The name "nodeping_get_check_results" says "get": a word for reading.
Description, as the server wrote it Raw results of a check, newest first by default: pass/fail (su), run time (rt, ms), message (m), status text (sc), start (s) and the probe location (l). Use span (hours) or start/end (ms epoch, ISO 8601 or RFC 2822; GMT unless a zone is given) to bound it. GET /results/{id}.
Annotations the server declares
- title: Get check results
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_get_check_summaryHourly summary of a check's results: count, min, max and average run time per UTC hour.No findings
Why it is in this group
- The name "nodeping_get_check_summary" says "get": a word for reading.
Description, as the server wrote it Hourly summary of a check's results: count, min, max and average run time per UTC hour. GET /results/summary/{id}.
Annotations the server declares
- title: Get check hourly summary
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_get_check_uptimeUptime percentage of a check per day or month (enabled and down milliseconds plus uptime %), with a total.No findings
Why it is in this group
- The name "nodeping_get_check_uptime" says "get": a word for reading.
Description, as the server wrote it Uptime percentage of a check per day or month (enabled and down milliseconds plus uptime %), with a total. GET /results/uptime/{id}.
Annotations the server declares
- title: Get check uptime
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_get_contactOne contact by id with its addresses (secret-like addresses masked).No findings
Why it is in this group
- The name "nodeping_get_contact" says "get": a word for reading.
Description, as the server wrote it One contact by id with its addresses (secret-like addresses masked). GET /contacts?id={id}.
Annotations the server declares
- title: Get contact
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_get_current_eventsEverything that is down or disabled right now across the account (type, label, since when).No findings
Why it is in this group
- The name "nodeping_get_current_events" says "get": a word for reading.
Description, as the server wrote it Everything that is down or disabled right now across the account (type, label, since when). The quickest 'what is broken' view. GET /results/current.
Annotations the server declares
- title: Get current events
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_get_maintenanceOne maintenance entry by id.No findings
Why it is in this group
- The name "nodeping_get_maintenance" says "get": a word for reading.
Description, as the server wrote it One maintenance entry by id. GET /maintenance/{id}.
Annotations the server declares
- title: Get maintenance window
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_get_scheduleOne notification schedule by name (for example Days or All) with its seven weekday entries.No findings
Why it is in this group
- The name "nodeping_get_schedule" says "get": a word for reading.
Description, as the server wrote it One notification schedule by name (for example Days or All) with its seven weekday entries. GET /schedules/{name}.
Annotations the server declares
- title: Get notification schedule
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_list_checksList monitoring checks with label, type, target, interval, enabled state and pass/fail (state 1 = passing, 0 = failing; firstdown = when the current outage began).No findings
Why it is in this group
- The name "nodeping_list_checks" says "list": a word for reading.
Description, as the server wrote it List monitoring checks with label, type, target, interval, enabled state and pass/fail (state 1 = passing, 0 = failing; firstdown = when the current outage began). Filter client-side by status, type or label text. Compact by default; set detail=true for the full (scrubbed) check objects. GET /checks.
Annotations the server declares
- title: List checks
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_list_contact_groupsContact groups (name and member address ids), keyed by group id.No findings
Why it is in this group
- The name "nodeping_list_contact_groups" says "list": a word for reading.
Description, as the server wrote it Contact groups (name and member address ids), keyed by group id. GET /contactgroups.
Annotations the server declares
- title: List contact groups
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_list_contactsAll notification contacts with their addresses (email, SMS, webhook, Slack, ...).No findings
Why it is in this group
- The name "nodeping_list_contacts" says "list": a word for reading.
Description, as the server wrote it All notification contacts with their addresses (email, SMS, webhook, Slack, ...). Webhook/Slack/PagerDuty/Pushover addresses are masked. Address ids are what contact groups and checks reference. GET /contacts.
Annotations the server declares
- title: List contacts
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_list_maintenanceScheduled and ad-hoc maintenance entries (checks they disable, cron, duration, next run, last runs).No findings
Why it is in this group
- The name "nodeping_list_maintenance" says "list": a word for reading.
Description, as the server wrote it Scheduled and ad-hoc maintenance entries (checks they disable, cron, duration, next run, last runs). GET /maintenance.
Annotations the server declares
- title: List maintenance windows
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_list_notification_profilesNotification profiles: named sets of contacts/groups with delay and schedule, reusable across checks.No findings
Why it is in this group
- The name "nodeping_list_notification_profiles" says "list": a word for reading.
Description, as the server wrote it Notification profiles: named sets of contacts/groups with delay and schedule, reusable across checks. GET /notificationprofiles.
Annotations the server declares
- title: List notification profiles
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_list_notificationsThe alert notifications NodePing sent (who, when, what), for one check or for the whole account, newest first.No findings
Why it is in this group
- The name "nodeping_list_notifications" says "list": a word for reading.
Description, as the server wrote it The alert notifications NodePing sent (who, when, what), for one check or for the whole account, newest first. Contact addresses that are webhook URLs or keys are masked. GET /notifications[/{check_id}].
Annotations the server declares
- title: List notifications sent
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
nodeping_list_schedulesNotification schedules (per-weekday time windows a contact is alerted in).No findings
Why it is in this group
- The name "nodeping_list_schedules" says "list": a word for reading.
Description, as the server wrote it Notification schedules (per-weekday time windows a contact is alerted in). GET /schedules.
Annotations the server declares
- title: List notification schedules
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.3.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http nodeping https://nodeping.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__nodeping__nodeping_get_account",
"mcp__nodeping__nodeping_list_checks",
"mcp__nodeping__nodeping_get_check",
"mcp__nodeping__nodeping_get_check_results",
"mcp__nodeping__nodeping_get_check_uptime",
"mcp__nodeping__nodeping_get_check_events",
"mcp__nodeping__nodeping_get_current_events",
"mcp__nodeping__nodeping_get_check_summary",
"mcp__nodeping__nodeping_list_notifications",
"mcp__nodeping__nodeping_list_contacts",
"mcp__nodeping__nodeping_get_contact",
"mcp__nodeping__nodeping_list_contact_groups",
"mcp__nodeping__nodeping_list_schedules",
"mcp__nodeping__nodeping_get_schedule",
"mcp__nodeping__nodeping_list_notification_profiles",
"mcp__nodeping__nodeping_list_maintenance",
"mcp__nodeping__nodeping_get_maintenance"
],
"ask": [
"mcp__nodeping__nodeping_get_probe_info"
],
"deny": [
"mcp__nodeping__nodeping_update_check",
"mcp__nodeping__nodeping_mute_check",
"mcp__nodeping__nodeping_disable_check",
"mcp__nodeping__nodeping_create_adhoc_maintenance",
"mcp__nodeping__nodeping_delete_maintenance",
"mcp__nodeping__nodeping_create_contact_group",
"mcp__nodeping__nodeping_update_contact_group",
"mcp__nodeping__nodeping_delete_contact_group",
"mcp__nodeping__nodeping_put_schedule",
"mcp__nodeping__nodeping_delete_schedule"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as nodeping. Review it before you use it.