Bring HostTracker into your AI workflow.
HostTracker's MCP server for uptime monitoring puts 65 tools in front of your AI assistant - run a synchronous check from 300+ locations, list what is down, pause a monitor or open a status-page incident, all from a chat with Claude Code, Cursor, VS Code or Windsurf.
{
"mcpServers": {
"hosttracker": {
"type": "http",
"url": "https://mcp.host-tracker.com/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
The part nobody else markets: a synchronous check, from inside the chat. Most
monitoring vendors that ship an MCP server hand the assistant a way to read what a background job
already recorded - yesterday's uptime, the last scheduled result. HostTracker's run_instant_check
tool actually dispatches a live check to 300+ checkpoints when the assistant calls it, waits for the
replies, and returns the per-location result in the same turn: no monitor to create first, no polling
loop, no dashboard tab to switch to. Ask "is example.com up from Europe and Asia right now" and the
answer comes back with real, fresh numbers - not a cached figure from the last scheduled run.
Three steps, one token
- Mint a token. On Integrations - API, create a
token and tick the scopes the assistant should use -
checkfor instant checks,monitor:read/monitor:writeto see or change monitors, and so on. There is no reason to grantaccount:write: the server refuses every account write regardless. - Paste the config. Add an
http-transport MCP server entry pointing athttps://mcp.host-tracker.com/mcpwith anAuthorization: Bearerheader carrying the token, in whichever client you use:
For a client that can only launch a local command, use the{ "mcpServers": { "hosttracker": { "type": "http", "url": "https://mcp.host-tracker.com/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } }mcp-remoteshim instead:npx mcp-remote https://mcp.host-tracker.com/mcp --header "Authorization: Bearer YOUR_TOKEN" - Ask. Restart the client so it discovers the tools, then just describe what you want: "which of my monitors are down", "run an http check on example.com from Europe and Asia", "pause staging for an hour". The assistant picks the tool.
Everything the REST API v2 can do, in chat
Every tool call is one v2 operation, scoped by the token's own permissions. Full detail: the API reference.
Run a check right now
run_instant_check, get_check_result, list_check_types - a
synchronous check from 300+ locations, no monitor required.
Create and manage monitors
12 tools: list, get, create, update, delete, pause/resume, copy, three bulk operations and
list_monitor_types.
Uptime, results and incidents
5 tools: get_uptime_summary, list_monitor_results,
list_incidents, get_incident, comment_incident.
Schedule maintenance windows
4 tools to list, create, update and delete maintenance windows, so a planned change does not page anyone.
Contacts and groups
12 tools: create, edit, delete and test contacts and contact groups; send and confirm confirmation codes.
Who gets alerted
list_subscriptions, subscribe_contact, unsubscribe_contact -
the alert and report legs.
Wire your own systems
7 tools: create, edit, delete and test webhooks; list deliveries and redeliver a failed one.
Publish incidents
7 tools: manage status pages and open or update an incident on one, straight from a chat.
Generate a report
generate_report (returns a job) and list_report_types.
Diagnose and pin locations
Read-only get_account/get_account_quota/get_account_usage;
4 job tools to poll async work; list_locations for pools and agents.
Everything else in the API
describe_api explains a v2 operation and api_request calls it - validated
against the live operation list, with the same safety rules as every named tool.
Plain-language prompts, real tool calls
You do not need to know the tool names - describe what you want and the assistant picks the right one (or chains a few). The mapping below is what actually runs behind eight questions people ask most.
"Run a check on example.com from Europe and Asia."
run_instant_check(url, type: "http", pools: [...])
get_check_result(dbId, id) // if the first call comes back partial
"Which of my monitors are down?"
list_monitors(state: "down")
"Pause staging for an hour."
pause_monitor(id)
// or, for a scheduled window instead of an immediate pause:
create_maintenance(monitorIds: [...], start, end)
"Open a status-page incident for the outage."
create_status_page_incident(statusPageId, title, status)
"Who gets alerted if this monitor goes down?"
list_subscriptions(monitorId)
"Add a Telegram contact and subscribe it to my monitors."
create_contact(type: "telegram", address)
subscribe_contact(contactId, monitorIds: [...])
"What was my uptime last week?"
get_uptime_summary(monitorId, from, to)
"Redeliver the webhook that failed."
list_webhook_deliveries(webhookId, status: "failed")
redeliver_webhook(webhookId, deliveryId)
Pick your client
The server speaks one protocol - streamable HTTP with a bearer token - so every supported client uses the same config shape with a different file name.
| Client | Config shape | Notes |
|---|---|---|
| Claude Code | .mcp.json (project) or ~/.claude.json (user-wide) | type: "http", url, headers.Authorization. Tools appear as hosttracker_*. |
| Cursor | ~/.cursor/mcp.json or .cursor/mcp.json | Same mcpServers shape as Claude Code. |
| VS Code | .vscode/mcp.json | Same http-transport shape with a header for the bearer token. |
| Windsurf | mcp_config.json | Same mcpServers shape. |
| mcp-remote (any stdio client) | CLI command | npx mcp-remote https://mcp.host-tracker.com/mcp --header "Authorization: Bearer YOUR_TOKEN" - for a client that can only launch a local process. |
| Claude.ai / Claude Desktop one-click connector | Not yet | The one-click "Add connector" flow there accepts OAuth only, with no field for a bearer token. Not available today - use Claude Code instead. |
If your assistant is not in the list, it likely still works: any MCP client that supports the http
transport with custom headers can point at https://mcp.host-tracker.com/mcp directly, and
mcp-remote bridges anything that only launches a local stdio process. The server itself does
not care which client is asking - it is the client's config format that differs, not the protocol.
Where it is listed. The server is published in the
official MCP Registry
as io.github.HostTracker/hosttracker, on
Smithery
(whose gateway lets you paste the token once instead of editing config files) and on
Glama;
the connection metadata, per-client guide and security policy live in the public
HostTracker/mcp repository.
One token. Stated limits. Nothing hidden behind "generous".
The same personal API token authenticates the REST API v2, every official SDK, the ht-cli command line client and the MCP server. Mint it once on your HostTracker profile, pick the scopes it may use, and point any of the four at it.
| Plan | API access | Reads | Writes |
|---|---|---|---|
| Free, Personal, Webmaster | Not included | - | - |
| 30-day trial | Included | 10 per minute, 10,000 per month | 5 per minute, 500 per month |
| Business | Included | 60 per minute, 100,000 per month | 30 per minute, 20,000 per month |
| Enterprise | Included | 120 per minute, 1,000,000 per month | 60 per minute, 100,000 per month |
- Scoped tokens. A token carries only the scopes you tick - monitor, contact, webhook, check, status page, report, incident, maintenance, job, account - each as read or write. Grant what the integration needs and nothing else.
- Long-lived, not revocable. Tokens are JWTs with a lifetime you choose (10 years by default) and cannot be revoked before they expire; an account-wide API switch disables every token at once. Treat a token like a password: keep it out of source control, and add an IP allow-list and a per-token request cap when you mint it.
- Limits you can read. Every response carries
RateLimit-Limit,RateLimit-Remaining,RateLimit-ResetandRateLimit-Policy; a 429 carriesRetry-After. Current usage is on the Integrations - API page and atGET /account/quota. - Safe retries. Writes accept an
Idempotency-Key, so a retried request is never a duplicate; long operations return a job you can poll or have delivered to a webhook. - Guard rails. The server refuses account-profile writes (POST/PUT/PATCH/DELETE on /account) - reading the account, its quota and usage is allowed; every other tool does exactly what the token's scopes allow, so a read-only token gives a read-only assistant.
Full details: authentication and limits in the docs. Plans and prices: pricing.
Frequently Asked Questions
The Model Context Protocol (MCP) is an open standard that lets AI assistants call external tools in a uniform way, instead of every vendor inventing its own plugin format. HostTracker's MCP server exposes the same REST API v2 that powers the dashboard, the SDKs and ht-cli as 65 MCP tools, authenticated with your own HostTracker API token. Point a supported client at it and the assistant can run a live check, list what is down, pause a monitor or open a status-page incident - inside the conversation, without you opening a browser.
Any MCP client that can send a custom Authorization header: Claude Code, Cursor, VS Code and Windsurf all read the same http-transport config shape, and the mcp-remote command-line shim covers any other client that can only launch a local process. The endpoint speaks streamable HTTP at a single URL, so the configuration is a few lines in each client - see the client table below.
Within the scopes your token carries, the assistant can do almost everything the REST API v2 can: run instant checks from 300+ locations, create and manage monitors, subscribe and test contacts, wire webhooks, publish status-page incidents, schedule maintenance and pull reports - 9 tool groups plus a generic api_request door for anything not covered by a named tool. It cannot touch your account profile, email, password, package or payments: those are not on the API v2 surface at all, and the server additionally refuses every write under /account regardless of what the token allows.
Give it a token scoped to only what the assistant needs - the same scope families as the REST API v2 (monitor, contact, webhook, check, status page, report, incident, maintenance, job, account), each as read or write. There is no reason to grant account:write: the MCP server refuses every account write on its own, so that scope buys nothing. Remember tokens are long-lived and not revocable before they expire - add an IP allow-list and a short expiration when you mint one for an assistant, and disable API access account-wide if you ever need to cut it off immediately.
No separate charge - it rides the same API access and quota as the REST API v2, SDKs and ht-cli. That means it is included in the 30-day trial and in the Business and Enterprise plans; Free, Personal and Webmaster plans do not include API access, so the MCP server has nothing to authenticate against on those plans. Every tool call counts against your account's normal request quota, visible with get_account_quota or on the Integrations - API page.
Those surfaces' "Add connector" flow currently accepts only OAuth, with no field for a static bearer token. HostTracker's MCP server authenticates with a personal API token in an Authorization header, which is what Claude Code, Cursor, VS Code, Windsurf and mcp-remote all support today. An OAuth-based one-click connector is on the roadmap but is not live - this page will not claim it works until it does.
Yes - that is the lead capability. run_instant_check runs a synchronous, ad-hoc check from 300+ checkpoints against any URL you give it, with no monitor, no dashboard visit and no setup: ask for an HTTP check from a couple of regions and the tool waits for the result and hands it back in the same turn. Saved monitors are a separate, persistent thing the assistant can also create and manage (create_monitor, list_monitors and friends) once you want the check to keep running on a schedule.
The same 10 types the rest of HostTracker supports: Http, Ping, Port, Trace, Dns, DNSBL, Whois, WebRisk, Crawl and Waterfall (a full-page load timing check - pageSpeed is accepted as an alias for it). list_check_types reads the live catalogue, so the assistant always sees exactly what the API currently accepts rather than a list that can go stale.
Keep exploring HostTracker's monitoring
Call the REST API v2 directly
The same 182 operations behind every MCP tool, for scripts, backends and CI - curl or any HTTP client.
Use an official SDK instead
TypeScript, Python, Go and .NET clients with every operation typed, if you would rather write code than chat.
Drive it from a terminal
ht-cli puts the same API behind 139 commands - the non-AI way to script your monitoring.
Ask your assistant, not your dashboard
Mint a token, paste one config block, and HostTracker's 300+ checkpoints answer inside Claude Code, Cursor, VS Code or Windsurf.