Skip to main content
Model Context Protocol

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.

One API token powers the REST API, the SDKs, ht-cli and the MCP server · 30-day trial · no credit card
.mcp.json
{
  "mcpServers": {
    "hosttracker": {
      "type": "http",
      "url": "https://mcp.host-tracker.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}
then: "use hosttracker to run an http check on example.com from Europe and Asia"
Tools65Across 9 groups, plus the generic api_request door.
Instant-check types10Http, Ping, Port, Trace, Dns, DNSBL, Whois, WebRisk, Crawl, Waterfall.
Checkpoints300+Across 158 cities worldwide.
TransportStreamable HTTPOne endpoint, no local server to run.
AuthOne tokenThe same token as the REST API, SDKs and ht-cli.
Since2004HostTracker's monitoring network, now reachable from your assistant.

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.

Getting started

Three steps, one token

  1. Mint a token. On Integrations - API, create a token and tick the scopes the assistant should use - check for instant checks, monitor:read/monitor:write to see or change monitors, and so on. There is no reason to grant account:write: the server refuses every account write regardless.
  2. Paste the config. Add an http-transport MCP server entry pointing at https://mcp.host-tracker.com/mcp with an Authorization: Bearer header carrying the token, in whichever client you use:
    {
      "mcpServers": {
        "hosttracker": {
          "type": "http",
          "url": "https://mcp.host-tracker.com/mcp",
          "headers": { "Authorization": "Bearer YOUR_TOKEN" }
        }
      }
    }
    For a client that can only launch a local command, use the mcp-remote shim instead:
    npx mcp-remote https://mcp.host-tracker.com/mcp --header "Authorization: Bearer YOUR_TOKEN"
  3. 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.
65 tools, 9 groups

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.

Checks

Run a check right now

run_instant_check, get_check_result, list_check_types - a synchronous check from 300+ locations, no monitor required.

Monitors

Create and manage monitors

12 tools: list, get, create, update, delete, pause/resume, copy, three bulk operations and list_monitor_types.

Results & incidents

Uptime, results and incidents

5 tools: get_uptime_summary, list_monitor_results, list_incidents, get_incident, comment_incident.

Maintenance

Schedule maintenance windows

4 tools to list, create, update and delete maintenance windows, so a planned change does not page anyone.

Contacts

Contacts and groups

12 tools: create, edit, delete and test contacts and contact groups; send and confirm confirmation codes.

Subscriptions

Who gets alerted

list_subscriptions, subscribe_contact, unsubscribe_contact - the alert and report legs.

Webhooks

Wire your own systems

7 tools: create, edit, delete and test webhooks; list deliveries and redeliver a failed one.

Status pages

Publish incidents

7 tools: manage status pages and open or update an incident on one, straight from a chat.

Reports

Generate a report

generate_report (returns a job) and list_report_types.

Account, jobs, locations

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.

Generic door

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.

What people actually ask

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)
Clients

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.

ClientConfig shapeNotes
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.jsonSame mcpServers shape as Claude Code.
VS Code.vscode/mcp.jsonSame http-transport shape with a header for the bearer token.
Windsurfmcp_config.jsonSame mcpServers shape.
mcp-remote (any stdio client)CLI commandnpx 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 connectorNot yetThe 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.

Access, limits and safety

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.

PlanAPI accessReadsWrites
Free, Personal, WebmasterNot included--
30-day trialIncluded10 per minute, 10,000 per month5 per minute, 500 per month
BusinessIncluded60 per minute, 100,000 per month30 per minute, 20,000 per month
EnterpriseIncluded120 per minute, 1,000,000 per month60 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-Reset and RateLimit-Policy; a 429 carries Retry-After. Current usage is on the Integrations - API page and at GET /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.

30-day free trial - no credit card

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.