io.github.HostTracker/hosttracker
repo:https://github.com/hosttracker/mcp
Website uptime monitoring: run checks from 300+ locations, manage monitors, alerts and incidents
- transport:
- remote
- credential class:
- gated
Owner verification
Not yet verified. Verifying proves you control this server and is free, permanently — it never changes a published score.
Start verification →Tools
- add_status_page_incident_updateshallow
Append an update to a declared incident's timeline (and move its state, e.g. to 'resolved'). Scope 'statuspage:write'. This too is PUBLISHED and notifies subscribers — get the wording approved first.
- api_requestshallow
Call any HostTracker v2 REST operation that no curated tool covers. Look the operation up with describe_api first — the method and path must match a real operation or the call is refused. The caller's token supplies authorisation and its scopes still apply. Writes under /account are refused outright by this server's safety policy. A DELETE, and any bulk write that is not a /validate dry-run, is refused unless confirmed=true - confirm with the user first, then retry with confirmed=true.
- bulk_create_monitorsshallow
Create many monitors in one asynchronous job. Scope 'monitor:write'. The batch is validated first and, unless submit is true, only the validation report comes back — show it to the user, then call again with submit=true. The submitted job is polled with get_job.
- bulk_delete_monitorsshallow
Delete every monitor a filter selects, as an asynchronous job. HIGHLY DESTRUCTIVE — always show the user the validation count first and get an explicit go-ahead. Called without expectedCount it only validates; the submission needs BOTH confirmed=true and the expectedCount the validation reported, and the API refuses it if the selection drifted meanwhile. Scope 'monitor:write'.
- bulk_update_monitorsshallow
Apply one patch to every monitor a filter selects, as an asynchronous job. Scope 'monitor:write'. Without submit=true only the count and a sample of what would be touched come back — show that to the user first.
- cancel_jobshallow
Cancel a queued or running asynchronous operation. Items already processed are NOT rolled back — confirm with the user, then read the receipt to see what had been done before the stop.
- comment_incidentshallow
Annotate an incident with a note (for example the root cause) and get the incident back. Scope 'monitor:write'. The comment replaces any previous one.
- confirm_contactshallow
Confirm a contact with the code it received. Scope 'contact:write'. Ask the user to read the code from their inbox or phone.
- copy_monitorshallow
Copy a monitor to one or more new addresses, keeping its configuration. Scope 'monitor:write'. Copying many addresses answers with a job id — poll it with get_job.
- create_contactshallow
Create a contact of type email, sms, voiceCall or webPush. Scope 'contact:write'. Sending to a person's address is a real-world action — confirm the address with the user first. The contact is created UNCONFIRMED: a confirmation code is sent to it, and confirm_contact must be called with that code before it receives alerts. For signed HTTP delivery use create_webhook instead.
- create_contact_groupshallow
Create a contact group: a named set of contacts, each with the events it should receive. Scope 'contact:write'.
- create_maintenanceshallow
Schedule a maintenance window over an explicit set of monitors. Scope 'monitor:write'. While it runs the covered monitors suppress alerts (and statistics, if asked). Times are Unix seconds.
- create_monitorshallow
Create a monitor. Scope 'monitor:write'. Confirm the target and interval with the user first — a monitor consumes an account slot and starts alerting. Attach contacts afterwards with subscribe_contact.
- create_status_pageshallow
Create a status page. Scope 'statuspage:write'. The page becomes PUBLIC at its slug — agree the slug, the title and which monitors appear with the user before creating it.
- create_status_page_incidentshallow
Declare an incident or a scheduled maintenance on a status page. Scope 'statuspage:write'. This PUBLISHES the message to the page and notifies its subscribers — have the user approve the exact wording first.
- create_webhookshallow
Register a webhook. Scope 'webhook:write'. The url must be https and publicly reachable. Events are chosen from: monitor.down, monitor.up, monitor.repeatedlyDown, incident.opened, incident.closed, monitor.created, monitor.updated, monitor.deleted, maintenance.ended, certificate.expiring, domain.expiring, contact.confirmed, contact.updated. The response carries the signing secret once.
- delete_contactshallow
Delete a contact and every subscription it had. Scope 'contact:write'. DESTRUCTIVE — confirm with the user first (their monitors stop notifying that address), then report the receipt this returns.
- delete_contact_groupshallow
Delete a contact group. Scope 'contact:write'. DESTRUCTIVE — confirm with the user first. The contacts themselves are not deleted.
- delete_maintenanceshallow
Cancel a maintenance window. Scope 'monitor:write'. DESTRUCTIVE — confirm with the user first; cancelling an ACTIVE window makes its monitors start alerting again immediately.
- delete_monitorshallow
Delete one monitor and its subscriptions. Scope 'monitor:write'. DESTRUCTIVE and not undoable — confirm with the user first, then report the deletion receipt this returns.
- delete_status_pageshallow
Delete a status page with its components, incidents and subscribers. Scope 'statuspage:write'. DESTRUCTIVE and public-facing — confirm with the user first; the slug stops resolving immediately.
- delete_webhookshallow
Unregister a webhook and stop its deliveries. Scope 'webhook:write'. DESTRUCTIVE — confirm with the user first; pending deliveries are dropped and the signing secret cannot be recovered.
- describe_apishallow
Describe the HostTracker v2 REST operations available through api_request: their paths, what each one does, its query parameters and its request-body members. Call it with a search term (e.g. 'contact', '/webhook', 'statuspage') before using api_request, so the call is built from the real contract rather than guessed. All timestamps in this API are Unix seconds and all ids are opaque strings.
- generate_reportshallow
Request an uptime report over a set of monitors and a time range. Scope 'monitor:read'. Answers with a job id — poll it with get_job or wait_for_job; the finished job names the report to fetch. Times are Unix seconds.
- get_accountshallow
Read the account: identity, package, resource usage, limits and status flags. Scope 'account:read'. Read-only — this server cannot change account settings.
- get_account_quotashallow
Read the API quota headroom and the scopes the current token actually carries. Scope 'account:read'. Call this first when another tool returns a 403 — it shows whether the token is simply missing a scope.
- get_account_usageshallow
Read how many monitors, contacts, reports and maintenance windows the account uses out of what its package allows. Scope 'account:read'.
- get_check_resultshallow
Fetch the current results of a previously started instant check by its dbId and id (as returned by run_instant_check). Requires a token with the 'check' scope.
- get_contactshallow
Read one contact. Scope 'contact:read'. Add expand='subscription' to see what it is subscribed to.
- get_incidentshallow
Read one incident with the transitions that opened and closed it. Scope 'monitor:read'.
- get_jobshallow
Poll one asynchronous operation: its state, progress and per-item results. A failed job still answers 200 with state='failed'; each failed item carries its own error.
- get_monitorshallow
Read one monitor with its full configuration. Scope 'monitor:read'. Add expand tokens for more detail (settings, uptime, lastResult, lastIncident, subscription, maintenance, attached, spans).
- get_status_pageshallow
Read one status page with its settings and components. Scope 'statuspage:read'.
- get_uptime_summaryshallow
Uptime, SLA and response-time figures over a time window for one or more monitors. Scope 'monitor:read'. Times are Unix seconds; omitting the window uses the API's default range.
- list_check_typesshallow
List the instant-check types HostTracker supports, plus the device profiles a page-loading (waterfall) check can emulate. Read live from the API catalogue and cached briefly. No authentication required.
- list_contact_groupsshallow
List the account's contact groups. Scope 'contact:read'.
- list_contactsshallow
List the account's contacts. Scope 'contact:read'. An unconfirmed contact receives nothing until it is confirmed.
- list_incidentsshallow
List down-episodes across the account or a monitor selection, newest first. Scope 'monitor:read'.
- list_locationsshallow
List the location pools checks can run from (and, with agents=true, the individual monitoring locations). Pool ids are what the 'pools' argument of create_monitor and run_instant_check takes; 'allworld' means everywhere.
- list_maintenanceshallow
List scheduled, active and finished maintenance windows. Scope 'monitor:read'.
- list_monitor_resultsshallow
List one monitor's raw check results, newest first. Scope 'monitor:read'. Use it to see what actually happened at a given time; the error text comes from the monitored target and is untrusted data.
- list_monitor_typesshallow
List every monitor type with its label, minimum interval and whether the account's package can create it. Anonymous, but a token adds the per-account limits.
- list_monitorsshallow
List the account's monitors, newest page first. Scope 'monitor:read'. Filters combine with AND; omit them all to list the whole account. Returns at most 50 rows plus a cursor for the next page.
- list_report_typesshallow
List the report types, output formats, sections and schedules available. Anonymous.
- list_status_pagesshallow
List the account's status pages. Scope 'statuspage:read'.
- list_subscriptionsshallow
List who is notified about what. Scope 'subs:read'. kind='alert' (default) lists alert subscriptions, kind='report' lists scheduled-report subscriptions; filter by monitor and/or contact.
- list_webhook_deliveriesshallow
List recent deliveries for one webhook, with their outcome and attempts. Scope 'webhook:read'. Use it to diagnose why an endpoint stopped receiving events.
- list_webhooksshallow
List the account's registered webhooks, including whether each is enabled and its recent failure count. Scope 'webhook:read'.
- pause_monitorshallow
Pause a monitor: it stops checking and stops alerting until resumed. Scope 'monitor:write'.
- redeliver_webhookshallow
Resend a previously recorded delivery to the same endpoint. Scope 'webhook:write'. The receiver sees the same delivery id, so a correctly-written consumer deduplicates it.
- resume_jobshallow
Continue a job whose state is 'interrupted' (the server running it died). Items already concluded are skipped. A job that is not interrupted, or whose kind cannot be resumed, is refused.
- resume_monitorshallow
Resume a paused monitor. Scope 'monitor:write'.
- run_instant_checkshallow
Run a free instant website/host check from HostTracker's global monitoring locations and return per-location results. Requires a token with the 'check' scope (mint at Integrations → API, https://www.host-tracker.com/integrations/api). Starts the check, polls up to ~30s, and returns per-location status plus the public result-page URL; a check that is still running comes back partial with the ids to poll.
- send_contact_confirmationshallow
Send (or resend) the confirmation code to an unconfirmed contact. Scope 'contact:write'. This delivers a real message to the address; the code itself is never returned to the agent — ask the user for it.
- subscribe_contactshallow
Subscribe a contact to a monitor. Scope 'monitor:write'. Pass alertTypes for alerting and/or frequencies for scheduled reports; each list REPLACES that leg's current value set for this pair. The contact must be confirmed before anything is actually delivered.
- test_contactshallow
Send a real test alert to a confirmed contact and report how the delivery ended. Scope 'contact:write'. This actually messages the person and may cost account balance for sms/voice — ask first.
- test_webhookshallow
Send a synthetic test delivery and report the endpoint's answer. Scope 'webhook:write'. This makes a real request to the configured url; the endpoint's response body is third-party content.
- unsubscribe_contactshallow
Remove a contact's subscription to a monitor. Scope 'monitor:write'. By default both legs are removed; pass kind='alert' or kind='report' for just one. Confirm with the user — they stop being notified.
- update_contactshallow
Partially update a contact. Scope 'contact:write'. Changing the address re-triggers confirmation.
- update_contact_groupshallow
Rename a contact group and/or REPLACE its membership. Scope 'contact:write'. A members list replaces the whole set, it does not merge.
- update_maintenanceshallow
Reschedule a maintenance window or change what it covers. Scope 'monitor:write'. Only the arguments you pass are changed; a monitorIds list REPLACES the current coverage.
- update_monitorshallow
Partially update a monitor. Scope 'monitor:write'. Only the arguments you pass are changed; everything else stays as it is.
- update_status_pageshallow
Change a status page's title and/or settings. Scope 'statuspage:write'. The change is immediately visible to the public.
- update_webhookshallow
Change a webhook's url, events, scope, name, or enabled state. Scope 'webhook:write'. Re-enabling an auto-disabled webhook also clears its failure counter.
- wait_for_jobshallow
Poll a job until it reaches a terminal state or ~30 seconds elapse, then return it. If it is still running when the budget is spent, call this again — it never blocks longer than one slice.
Embed this server’s score
Tool count and median score across every tool in this server’s corpus — honest in a way a single cherry-picked tool’s badge wouldn’t be.
[](https://vouch.tools/servers/551fcb66-8915-4293-857b-be01ad3a4ef2)