HostTracker
REMOTE · MCP.HOST-TRACKER.COM · SCANNED OCT 6
Website uptime monitoring: run checks from 300+ locations, manage monitors, alerts and incidents
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security81
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. View diagnostics → Pass
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 520, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability0
- Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http. See how to fix → View diagnostics → Unverified
Schema Quality & AI Usability0
- Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
- Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
- Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified
Unverified: 6 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.
How do I install the HostTracker MCP server?
HostTracker is a hosted endpoint at https://mcp.host-tracker.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.host-tracker.com
claude mcp add --transport http hosttracker-hosttracker 'https://mcp.host-tracker.com/mcp'
{
"mcpServers": {
"hosttracker-hosttracker": {
"url": "https://mcp.host-tracker.com/mcp"
}
}
} {
"servers": {
"hosttracker-hosttracker": {
"type": "http",
"url": "https://mcp.host-tracker.com/mcp"
}
}
} [mcp_servers.hosttracker-hosttracker] url = "https://mcp.host-tracker.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"hosttracker-hosttracker": {
"type": "remote",
"url": "https://mcp.host-tracker.com/mcp",
"enabled": true
}
}
} openclaw mcp add hosttracker-hosttracker --url 'https://mcp.host-tracker.com/mcp' --transport streamable-http
mcp_servers:
hosttracker-hosttracker:
url: "https://mcp.host-tracker.com/mcp" {
"McpServers": {
"hosttracker-hosttracker": {
"Transport": "http",
"Url": "https://mcp.host-tracker.com/mcp"
}
}
} assistant mcp add hosttracker-hosttracker -t streamable-http -u 'https://mcp.host-tracker.com/mcp'
{
"mcpServers": {
"hosttracker-hosttracker": {
"type": "http",
"url": "https://mcp.host-tracker.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
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.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Aug 26 0
- Endpoint reachability: reachable → behind authorisation ▼ security
- Stability: 0.13 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Transport: pass → unverified ▼ security
- Authorization: fail → pass ▲ security
- First check of Authorization: pass security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 0
First indexed and scored.
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 6 Oct 2026 · Probed https://mcp.host-tracker.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=host-tracker.com | CN=WE1,O=Google Trust Services,C=US | 5 Sept 2026 | 4 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 84d0bcb1352b52f213c55f794ea79e2d |
| SANs: host-tracker.com, *.host-tracker.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.host-tracker.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| host-tracker.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On connection |
| HTTP status | 401 |
WWW-Authenticate challenge Bearer resource_metadata="https://mcp.host-tracker.com/.well-known/oauth-protected-resource"
Bearer resource_metadata="https://mcp.host-tracker.com/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| www-authenticate | Bearer resource_metadata="https://mcp.host-tracker.com/.well-known/oauth-protected-resource" |
Protected resource metadata
| Document | https://mcp.host-tracker.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.host-tracker.com/mcp |
| Authorisation server | https://www.host-tracker.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.host-tracker.com/mcp | Auth required | 401 | |
| http (plaintext) | http://mcp.host-tracker.com/mcp | Inconclusive | 520 |
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 →
add_status_page_incident_update ~135
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The status page id. |
| idempotencyKey | string|null | – | Reuse the same key to make a retry replay instead of publishing twice. |
| incidentId | string | yes | The incident id. |
| message | string | yes | The update message shown to visitors. |
| state | string | yes | New lifecycle state: investigating, identified, monitoring or resolved. |
No output schema declared.
No examples provided.
api_request ~269
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.
| Name | Type | Req | Description |
|---|---|---|---|
| bodyJson | string|null | – | Request body as a JSON object, for POST/PATCH/PUT. |
| confirmed | boolean | – | Required true for a DELETE or a non-validate bulk write, after the user has confirmed. |
| idempotencyKey | string|null | – | Idempotency key; required by the bulk and status-page-incident doors, optional elsewhere. |
| method | string | yes | HTTP method: GET, POST, PATCH, PUT or DELETE. |
| path | string | yes | The v2 path with its ids filled in, e.g. '/monitor/9f2…/incident'. No host, no version prefix. |
| query | string|null | – | Query string, e.g. 'limit=10&state=down'. May also be a JSON object of parameters. |
No output schema declared.
No examples provided.
bulk_create_monitors ~175
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.
| Name | Type | Req | Description |
|---|---|---|---|
| defaultsJson | string|null | – | JSON object of defaults applied to every item, e.g. {"interval":5,"tags":["prod"]}. |
| idempotencyKey | string|null | – | Reuse the same key to make a retry replay instead of creating twice. |
| itemsJson | string | yes | JSON array of monitor definitions, e.g. [{"type":"http","url":"a.com"},{"type":"ping","url":"b.com"}]. |
| submit | boolean | – | Set true to actually create them after reviewing the validation report. |
No output schema declared.
No examples provided.
bulk_delete_monitors ~171
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'.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmed | boolean | – | Must be true, together with expectedCount, to actually delete. |
| expectedCount | integer|null | – | The 'matched' number the validation step reported. Required to submit. |
| filterJson | string | yes | JSON selection filter, e.g. {"tags":["staging"]}. |
| idempotencyKey | string|null | – | Reuse the same key to make a retry replay instead of deleting twice. |
No output schema declared.
No examples provided.
bulk_update_monitors ~167
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.
| Name | Type | Req | Description |
|---|---|---|---|
| filterJson | string | yes | JSON selection filter, e.g. {"tags":["prod"]} or {"monitorIds":["..."]}. |
| idempotencyKey | string|null | – | Reuse the same key to make a retry replay instead of applying twice. |
| operation | string|null | – | Set to 'resetStats' to clear statistics instead of patching. |
| patchJson | string|null | – | JSON patch applied to each selected monitor, e.g. {"interval":5}. |
| submit | boolean | – | Set true to actually apply the change. |
No output schema declared.
No examples provided.
cancel_job ~53
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The job id. |
No output schema declared.
No examples provided.
comment_incident ~66
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.
| Name | Type | Req | Description |
|---|---|---|---|
| comment | string | yes | The note to store on the incident. |
| id | string | yes | The incident id. |
No output schema declared.
No examples provided.
confirm_contact ~59
Confirm a contact with the code it received. Scope 'contact:write'. Ask the user to read the code from their inbox or phone.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | The confirmation code the contact received. |
| id | string | yes | The contact id. |
No output schema declared.
No examples provided.
copy_monitor ~136
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The monitor id to copy from. |
| includeAlerts | boolean|null | – | Copy the alert subscriptions too (default true). |
| includeMaintenance | boolean|null | – | Copy the maintenance windows too. |
| includeReports | boolean|null | – | Copy the report subscriptions too. |
| name | string|null | – | Name for the copies; the address is used when omitted. |
| urls | string | yes | Comma-separated addresses to create copies for. |
No output schema declared.
No examples provided.
create_contact ~176
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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | The address: an email address, or a phone number in international format. |
| alertDelay | integer|null | – | Delay in minutes before an alert is sent to this contact. |
| language | string|null | – | Message language code, e.g. 'en'. |
| name | string|null | – | Display name. |
| type | string | yes | Contact type: email, sms, voiceCall or webPush. |
No output schema declared.
No examples provided.
create_contact_group ~93
Create a contact group: a named set of contacts, each with the events it should receive. Scope 'contact:write'.
| Name | Type | Req | Description |
|---|---|---|---|
| itemsJson | string | yes | JSON array of members, e.g. [{"contact":"<contactId>","events":["down","up"]}]. Events: up, down, repeatedlyDown, daily, weekly, monthly, quarterly, yearly. |
| name | string | yes | Group name. |
No output schema declared.
No examples provided.
create_maintenance ~207
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.
| Name | Type | Req | Description |
|---|---|---|---|
| durationSec | integer|null | – | Length in seconds. Pass this or 'to'. |
| from | integer | yes | Start instant, Unix seconds. |
| monitorIds | string | yes | Comma-separated monitor ids the window covers. |
| name | string | yes | Window name. |
| suppressAlerts | boolean|null | – | Suppress alerts during the window (default true on the API side). |
| suppressStats | boolean|null | – | Suppress statistics during the window. |
| timezone | string|null | – | IANA timezone the schedule is expressed in, e.g. Europe/Berlin. |
| to | integer|null | – | End instant, Unix seconds. Pass this or 'durationSec'. |
| weekDays | string|null | – | Comma-separated weekdays for a recurring window, e.g. 'Saturday,Sunday'. |
No output schema declared.
No examples provided.
create_monitor ~228
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean|null | – | Set true to validate only, creating nothing. |
| enabled | boolean|null | – | Whether the monitor starts enabled (default true). |
| interval | integer|null | – | Check interval in minutes; must be one of the account's allowed intervals. |
| name | string|null | – | Display name; defaults to the url. |
| pools | string|null | – | Comma-separated location pools, e.g. 'allworld' for everywhere. At least one is required when the type needs locations. |
| settingsJson | string|null | – | Type-specific settings as a JSON object (see the monitor type's schema). |
| tags | string|null | – | Comma-separated tags. |
| type | string | yes | Monitor type, e.g. http, ping, port, waterfall, sslExp, domainExp. See list_monitor_types. |
| url | string|null | – | The address to monitor. |
No output schema declared.
No examples provided.
create_status_page ~134
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.
| Name | Type | Req | Description |
|---|---|---|---|
| componentsJson | string|null | – | JSON array of components, e.g. [{"monitorId":"…","name":"API","group":"Core"}]. |
| settingsJson | string|null | – | JSON object of page settings, e.g. {"theme":"light","robotsIndex":false}. |
| slug | string | yes | URL slug the page is served at; must be unique. |
| title | string | yes | Page title shown to visitors. |
No output schema declared.
No examples provided.
create_status_page_incident ~211
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.
| Name | Type | Req | Description |
|---|---|---|---|
| componentIds | string|null | – | Comma-separated component ids the incident affects. |
| id | string | yes | The status page id. |
| idempotencyKey | string|null | – | Reuse the same key to make a retry replay instead of publishing twice. |
| impact | string|null | – | Impact: minor or major. |
| kind | string|null | – | 'incident' (default) or 'maintenance'. |
| message | string | yes | The first timeline message shown to visitors. |
| scheduledEnd | integer|null | – | Scheduled end for a maintenance, Unix seconds. |
| scheduledStart | integer|null | – | Scheduled start for a maintenance, Unix seconds. |
| state | string | – | Lifecycle state: investigating, identified, monitoring or resolved. |
| title | string | yes | Incident headline. |
No output schema declared.
No examples provided.
create_webhook ~176
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.
| Name | Type | Req | Description |
|---|---|---|---|
| events | string | yes | Comma-separated event names, e.g. 'monitor.down,monitor.up'. |
| monitorIds | string|null | – | Comma-separated monitor ids to scope deliveries to; omit for the whole account. |
| name | string|null | – | Display name. |
| tags | string|null | – | Comma-separated tags to scope deliveries to. |
| url | string | yes | The https endpoint deliveries are POSTed to. |
No output schema declared.
No examples provided.
delete_contact ~89
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.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmed | boolean | – | Must be true to actually delete. Call WITHOUT it first: the tool answers with the resource so you can confirm with the user. |
| id | string | yes | The contact id. |
No output schema declared.
No examples provided.
delete_contact_group ~79
Delete a contact group. Scope 'contact:write'. DESTRUCTIVE — confirm with the user first. The contacts themselves are not deleted.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmed | boolean | – | Must be true to actually delete. Call WITHOUT it first: the tool answers with the resource so you can confirm with the user. |
| id | string | yes | The group id. |
No output schema declared.
No examples provided.
delete_maintenance ~86
Cancel a maintenance window. Scope 'monitor:write'. DESTRUCTIVE — confirm with the user first; cancelling an ACTIVE window makes its monitors start alerting again immediately.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmed | boolean | – | Must be true to actually cancel. Call WITHOUT it first: the tool answers with the resource so you can confirm with the user. |
| id | string | yes | The maintenance window id. |
No output schema declared.
No examples provided.
delete_monitor ~85
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.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmed | boolean | – | Must be true to actually delete. Call WITHOUT it first: the tool answers with the resource so you can confirm with the user. |
| id | string | yes | The monitor id. |
No output schema declared.
No examples provided.
delete_status_page ~90
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.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmed | boolean | – | Must be true to actually delete. Call WITHOUT it first: the tool answers with the resource so you can confirm with the user. |
| id | string | yes | The status page id. |
No output schema declared.
No examples provided.
delete_webhook ~89
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.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmed | boolean | – | Must be true to actually delete. Call WITHOUT it first: the tool answers with the resource so you can confirm with the user. |
| id | string | yes | The webhook id. |
No output schema declared.
No examples provided.
describe_api ~129
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.
| Name | Type | Req | Description |
|---|---|---|---|
| search | string|null | – | Path fragment or operation-id fragment to search for, e.g. '/monitor', 'incident', 'createWebhook'. Omit to list every path. |
No output schema declared.
No examples provided.
generate_report ~201
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.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string|null | – | Output format: pdf, csv, xml or html. |
| from | integer|null | – | Range start, Unix seconds. |
| idempotencyKey | string|null | – | Reuse the same key to make a retry replay instead of generating twice. |
| language | string|null | – | Language code for the report text, e.g. 'en'. |
| monitorIds | string | yes | Comma-separated monitor ids the report covers. |
| sections | string|null | – | Comma-separated sections: state, stats, outages, incidents, log. |
| timezone | string|null | – | IANA timezone the report is rendered in. |
| to | integer|null | – | Range end, Unix seconds. |
No output schema declared.
No examples provided.
get_account ~40
Read the account: identity, package, resource usage, limits and status flags. Scope 'account:read'. Read-only — this server cannot change account settings.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_account_quota ~53
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_account_usage ~36
Read how many monitors, contacts, reports and maintenance windows the account uses out of what its package allows. Scope 'account:read'.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_check_result ~79
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dbId | integer | yes | The dbId from run_instant_check. |
| id | string | yes | The check id (a GUID) from run_instant_check. |
No output schema declared.
No examples provided.
get_contact ~60
Read one contact. Scope 'contact:read'. Add expand='subscription' to see what it is subscribed to.
| Name | Type | Req | Description |
|---|---|---|---|
| expand | string|null | – | Comma-separated expand tokens: subscription, template, group. |
| id | string | yes | The contact id. |
No output schema declared.
No examples provided.
get_incident ~67
Read one incident with the transitions that opened and closed it. Scope 'monitor:read'.
| Name | Type | Req | Description |
|---|---|---|---|
| expand | string|null | – | Comma-separated expand tokens, e.g. 'monitor,recheck'. |
| id | string | yes | The incident id (an opaque string such as inc_…). |
No output schema declared.
No examples provided.
get_job ~92
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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string|null | – | Opaque cursor to continue the item list. |
| id | string | yes | The job id. |
| limit | integer|null | – | How many per-item results to include, 1-50 (default 20). |
No output schema declared.
No examples provided.
get_monitor ~112
Read one monitor with its full configuration. Scope 'monitor:read'. Add expand tokens for more detail (settings, uptime, lastResult, lastIncident, subscription, maintenance, attached, spans).
| Name | Type | Req | Description |
|---|---|---|---|
| expand | string|null | – | Comma-separated expand tokens; defaults to 'settings,uptime'. |
| from | integer|null | – | Window start for uptime/spans, Unix seconds. |
| id | string | yes | The monitor id. |
| to | integer|null | – | Window end for uptime/spans, Unix seconds. |
No output schema declared.
No examples provided.
get_status_page ~37
Read one status page with its settings and components. Scope 'statuspage:read'.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The status page id. |
No output schema declared.
No examples provided.
get_uptime_summary ~220
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.
| Name | Type | Req | Description |
|---|---|---|---|
| bucket | string|null | – | Bucket size: none, hour, day, week or month. |
| cursor | string|null | – | Opaque cursor from a previous call. |
| from | integer|null | – | Window start, Unix seconds. |
| groupBy | string|null | – | Group by 'monitor' (per monitor) or 'account' (one total). |
| limit | integer|null | – | Rows per page, 1-50 (default 20). |
| metrics | string|null | – | Comma-separated timing metrics: responseTime, dns, connect, tls, ttfb, transfer. |
| monitor | string | yes | Comma-separated monitor ids (required). |
| sla | number|null | – | SLA target percentage to measure against, e.g. 99.9. |
| to | integer|null | – | Window end, Unix seconds. |
No output schema declared.
No examples provided.
list_check_types ~47
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_contact_groups ~57
List the account's contact groups. Scope 'contact:read'.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string|null | – | Opaque cursor from a previous call. |
| limit | integer|null | – | Rows per page, 1-50 (default 20). |
No output schema declared.
No examples provided.
list_contacts ~137
List the account's contacts. Scope 'contact:read'. An unconfirmed contact receives nothing until it is confirmed.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmed | boolean|null | – | Keep only confirmed (true) or only unconfirmed (false) contacts. |
| cursor | string|null | – | Opaque cursor from a previous call. |
| id | string|null | – | Comma-separated contact ids. |
| limit | integer|null | – | Rows per page, 1-50 (default 20). |
| q | string|null | – | Free-text search over name and address. |
| type | string|null | – | Comma-separated contact types, e.g. 'email,sms'. |
No output schema declared.
No examples provided.
list_incidents ~145
List down-episodes across the account or a monitor selection, newest first. Scope 'monitor:read'.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string|null | – | Opaque cursor from a previous call. |
| from | integer|null | – | Window start, Unix seconds. |
| limit | integer|null | – | Rows per page, 1-50 (default 20). |
| monitor | string|null | – | Comma-separated monitor ids; omit for the whole account. |
| severity | string|null | – | Comma-separated severities: minor, major, critical. |
| state | string|null | – | Comma-separated states: open, resolved. |
| to | integer|null | – | Window end, Unix seconds. |
No output schema declared.
No examples provided.
list_locations ~143
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.
| Name | Type | Req | Description |
|---|---|---|---|
| agents | boolean | – | Set true to list individual agents instead of pools. |
| country | string|null | – | Comma-separated ISO country codes to filter agents by. |
| cursor | string|null | – | Opaque cursor from a previous call. |
| limit | integer|null | – | Rows per page, 1-50 (default 50 for pools). |
| pool | string|null | – | Comma-separated pool ids to filter agents by. |
No output schema declared.
No examples provided.
list_maintenance ~119
List scheduled, active and finished maintenance windows. Scope 'monitor:read'.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string|null | – | Opaque cursor from a previous call. |
| from | integer|null | – | Window start, Unix seconds. |
| limit | integer|null | – | Rows per page, 1-50 (default 20). |
| monitor | string|null | – | Comma-separated monitor ids to filter by. |
| state | string|null | – | Comma-separated states: scheduled, active, finished. |
| to | integer|null | – | Window end, Unix seconds. |
No output schema declared.
No examples provided.
list_monitor_results ~178
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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string|null | – | Opaque cursor from a previous call. |
| expand | string|null | – | Comma-separated expand tokens, e.g. 'metrics,recheck'. |
| from | integer|null | – | Window start, Unix seconds. |
| limit | integer|null | – | Rows per page, 1-50 (default 20). |
| location | string|null | – | Comma-separated location names to keep. |
| monitorId | string | yes | The monitor id. |
| state | string|null | – | Comma-separated states to keep: up, down. |
| to | integer|null | – | Window end, Unix seconds. |
No output schema declared.
No examples provided.
list_monitor_types ~40
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_monitors ~204
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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string|null | – | Opaque cursor from a previous call's continuation line. |
| id | string|null | – | Comma-separated monitor ids. |
| limit | integer|null | – | Rows per page, 1-50 (default 20). |
| q | string|null | – | Free-text search over name and url. |
| sort | string|null | – | Sort column, e.g. 'name', 'state', 'lastChange:desc'. |
| state | string|null | – | Comma-separated states to keep: up, down, paused, maintenance. |
| tag | string|null | – | Comma-separated tags. |
| type | string|null | – | Comma-separated monitor types, e.g. 'http,ping'. See list_monitor_types. |
No output schema declared.
No examples provided.
list_report_types ~24
List the report types, output formats, sections and schedules available. Anonymous.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_status_pages ~58
List the account's status pages. Scope 'statuspage:read'.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string|null | – | Opaque cursor from a previous call. |
| limit | integer|null | – | Rows per page, 1-50 (default 20). |
No output schema declared.
No examples provided.
list_subscriptions ~161
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.
| Name | Type | Req | Description |
|---|---|---|---|
| contactId | string|null | – | Comma-separated contact ids. |
| contactQuery | string|null | – | Free-text search over the contacts. |
| cursor | string|null | – | Opaque cursor from a previous call. |
| kind | string|null | – | Which leg to list: 'alert' or 'report'. |
| limit | integer|null | – | Rows per page, 1-50 (default 20). |
| monitorId | string|null | – | Comma-separated monitor ids. |
| monitorQuery | string|null | – | Free-text search over the monitors. |
No output schema declared.
No examples provided.
list_webhook_deliveries ~148
List recent deliveries for one webhook, with their outcome and attempts. Scope 'webhook:read'. Use it to diagnose why an endpoint stopped receiving events.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string|null | – | Opaque cursor from a previous call. |
| eventName | string|null | – | Comma-separated event names. |
| from | integer|null | – | Window start, Unix seconds. |
| id | string | yes | The webhook id. |
| limit | integer|null | – | Rows per page, 1-50 (default 20). |
| outcome | string|null | – | Comma-separated outcomes: pending, delivered, failed, dropped. |
| to | integer|null | – | Window end, Unix seconds. |
No output schema declared.
No examples provided.
list_webhooks ~70
List the account's registered webhooks, including whether each is enabled and its recent failure count. Scope 'webhook:read'.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string|null | – | Opaque cursor from a previous call. |
| limit | integer|null | – | Rows per page, 1-50 (default 20). |
No output schema declared.
No examples provided.
pause_monitor ~38
Pause a monitor: it stops checking and stops alerting until resumed. Scope 'monitor:write'.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The monitor id. |
No output schema declared.
No examples provided.
redeliver_webhook ~80
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.
| Name | Type | Req | Description |
|---|---|---|---|
| deliveryId | string | yes | The delivery id (d_… ) from list_webhook_deliveries. |
| id | string | yes | The webhook id. |
No output schema declared.
No examples provided.
What is the HostTracker MCP server?
HostTracker is an MCP server listed in the public MCP registry as io.github.HostTracker/hosttracker. Website uptime monitoring: run checks from 300+ locations, manage monitors, alerts and incidents. This page covers its hosted endpoint (https://mcp.host-tracker.com/mcp).
Is the HostTracker MCP server safe to use?
HostTracker scores 32 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 HostTracker MCP server expose?
HostTracker exposes 65 tools: get_monitor, delete_status_page, create_maintenance, create_contact_group, get_uptime_summary, and 60 more. Their descriptions and schemas cost roughly 7,341 tokens of context every time the server is loaded.
Does the HostTracker MCP server require authentication?
Yes. HostTracker asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the HostTracker MCP server still maintained?
HostTracker is still listed as active in the MCP registry. We last reached this channel on 6 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.