HostTracker
io.github.HostTracker由 GitHub 帳號 HostTracker 發布v2.1.0更新於 Oct 24, 2026
Website uptime monitoring: run checks from 300+ locations, manage monitors, alerts and incidents
概覽
HostTracker 託管 MCP 伺服器讓助理從 300 多個地點執行網站檢測,並管理可用性監控、告警、事件與狀態頁。
- 可以做什麼
- 從 300 多個地點對任意網址執行即時檢測(HTTP/S、ping、TCP 埠、路由追蹤、DNS、黑名單、WHOIS、網頁速度)並取得結果
- 列出、檢視、建立、編輯、複製、暫停、恢復和刪除監控項目,支援單筆與批次操作
- 檢視可用性彙總、原始檢測結果、事件清單與事件詳情及留言,並管理維護時段
- 管理聯絡人、聯絡人群組、訂閱關係、Webhook 端點及其投遞紀錄
- 管理公開狀態頁、發布事件與後續更新,並產生報表
- 輪詢、等待、取消或恢復非同步工作,列出可用的監測地點,讀取帳戶配額與用量
- 適用情境
- 適合想用自然語言詢問某個網站目前是否正常、哪些監控項目處於故障狀態,或直接建立、暫停、調整監控、告警與狀態頁工作而不必開啟 HostTracker 主控台的場合。
- 執行需求
- 需要 HostTracker 帳戶,並連線到託管的 streamable HTTP 端點。驗證方式為 OAuth 2.1 登入並在同意頁授權,或在 Authorization 標頭提供 HostTracker API 權杖(自行架設副本以 stdio 執行時改用 HT_TOKEN 環境變數)。自行架設需 Docker 或 .NET 10 SDK;使用 mcp-remote 橋接需 Node.js 18 或更新版本。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 HostTracker,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.HostTracker%2Fhosttracker/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"hosttracker": {
"type": "http",
"url": "https://mcp.host-tracker.com/mcp"
}
}
}README
HostTracker MCP server
[validate] [Smithery] [Glama score] [MIT]
Connect an AI assistant to HostTracker over the Model Context Protocol and let it operate your monitoring account in conversation: run a live check from 300+ global locations, see what is down, create or pause a monitor, schedule a maintenance window, review incidents, manage who gets alerted, wire a webhook, publish a status page update.
This repository is the public face of that hosted server: the connection metadata
(server.json), the per-client setup guide (CLIENT.md), and the security policy
(SECURITY.md) - and, since 2.0.0, the server's own source code in src/, so you can read
exactly what runs behind the endpoint or run a copy yourself (see "Run it yourself" below).
Connect in two minutes
With OAuth (recommended - Claude.ai, Claude Desktop, Claude Code, ChatGPT and any client with an OAuth-capable connector dialog):
- Add the endpoint
https://mcp.host-tracker.com/mcpas a connector in your client. - Sign in and approve. The client opens HostTracker's sign-in page, then a consent card listing the permissions it asks for (by default: run checks + read monitors). Press Approve. No token ever appears.
- Ask in plain language: "is example.com up right now, checked from Europe and Asia?", "which of my monitors are down?", "pause the staging monitor until tomorrow".
Claude Code
With OAuth (no token needed):
Or with a bearer token in the header:
.mcp.json in your project (or ~/.claude.json for a user-wide connector):
Or from the command line:
Claude.ai and Claude Desktop
Settings -> Connectors -> Add custom connector -> paste https://mcp.host-tracker.com/mcp -> Connect. The
browser opens HostTracker's sign-in + consent page; press Approve and the connector is live. That is the whole
setup.
To use a bearer token instead (for example a long-lived token with a hand-picked scope set), Desktop can also
connect through the mcp-remote bridge. Edit claude_desktop_config.json:
The ${HT_AUTH} indirection is deliberate: some mcp-remote builds split an argument on its first space, which
breaks a literal Authorization: Bearer .... Node.js 18 or newer is required.
Cursor
~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:
VS Code (GitHub Copilot agent mode)
.vscode/mcp.json in the workspace. The inputs block keeps the token out of the file, prompting for it once and
storing it in the editor's secret storage:
Windsurf
~/.codeium/windsurf/mcp_config.json:
Run it yourself (Docker)
The hosted endpoint is the normal way to use the server. If you would rather run your own copy - to read the code, audit it, or keep the MCP hop inside your network - the repository builds it from source:
Your copy then answers at http://localhost:8080/mcp and takes exactly the same Authorization: Bearer header:
it is a stateless bridge, so it stores nothing and still talks to the public HostTracker API v2 under your token.
Without Docker, dotnet run --project src does the same on any machine with the .NET 10 SDK.
The same binary also speaks stdio, for clients that launch the server as a child process instead of
connecting to a URL. Add --stdio and pass your token as the HT_TOKEN environment variable (there is no request
header on stdio):
Logs go to stderr in that mode, so stdout stays a clean protocol stream.
ChatGPT and other clients
ChatGPT (developer mode -> connectors): add https://mcp.host-tracker.com/mcp; ChatGPT offers its "link
account" step, which opens HostTracker's sign-in + consent page. Any other client with an OAuth-capable connector
dialog works the same way - just the URL.
Any client that can send a static header also works with a bearer token: the endpoint
https://mcp.host-tracker.com/mcp and the header Authorization: Bearer YOUR_HOSTTRACKER_API_TOKEN. Where a
client's connector form offers an API-key or custom-header authentication mode, the token goes there.
A generic, dependency-free bridge for anything that can only launch a command:
Longer walkthroughs, verification commands and troubleshooting live in CLIENT.md.
What the assistant can do
The server exposes the HostTracker v2 REST API as MCP tools. Every list tool takes limit (maximum 50) and
cursor and returns the next cursor; every timestamp is Unix seconds in both directions; ids are opaque strings.
The full tool list
Three behaviours worth knowing before the first call:
- Bulk operations validate first. A bulk tool returns a validation report; the write needs an explicit second
call with
submit=true. Bulk deletion additionally needsconfirmed=trueand the count the validation pass reported, so a selection that drifted in between is refused. - Bulk operations and reports are asynchronous. They answer with a job id; poll it with
wait_for_job. - Deleting anything is not undoable, so it always takes two calls. A delete tool's first call removes
nothing - it returns the resource so the assistant can show you what is about to go - and only a repeat call
with
confirmed=truedeletes. The API returns a receipt listing what was removed.
Authentication and scopes
Two ways in, same permission model:
- OAuth (connected apps). The client registers itself, you sign in once and approve a scope set on the
consent page, and the server mints short-lived access tokens (1 hour) with rotating refresh tokens (90 days)
behind the scenes. If the client requests no scopes it gets
check+monitor:read. Theaccountfamily is never grantable to a connected app. Every connection is listed under Integrations -> API -> Connected apps, where one click revokes it (the app then has to ask you again). A tool that needs a scope the connection lacks answersmissing_scopenaming what is required - reconnect and approve the wider set. - Bearer tokens. Mint them at Integrations -> API with a
hand-picked scope set, expiration and optional IP allow-list; pass them in the
Authorizationheader.
Scopes are per family with :read and :write leaves that do not imply each other; a bare family name
satisfies every leaf under it.
Grant the narrowest set that covers the work. There is never a reason to grant account:write: the server refuses
every write under /account regardless of what the token allows. If a call comes back refused, ask the assistant
to run get_account_quota, which reports the scopes the token actually carries.
Limits and quota
- The endpoint rate-limits each client IP on
/mcp. A limited response carriesRetry-After, which the server passes through as a value; it never sleeps or retries on your behalf, so the assistant decides what to do. - Your API plan quota is enforced against your own token, exactly as it is for direct REST calls.
get_account_usageandget_account_quotareport where you stand. Details in the errors and limits guide. - Application failures (no token, wrong scope, quota exhausted, invalid input) come back as ordinary tool results with an actionable message rather than a protocol error.
Safety
The server is stateless and stores nothing: every call is forwarded to the API under your own token, and all
ownership, quota and rate enforcement happens there. On top of that it refuses, at the server, regardless of the
token: any write under /account, and anything touching payments, plans, passwords, login or the minting of API
tokens. Content that a checked target controls is wrapped in a fenced, length-capped block before it reaches the
model, so a hostile target cannot inject instructions into your assistant. Full policy in
SECURITY.md.
Links
- MCP server overview
- Mint an API token
- API v2 reference and guides
- All integrations
- Official clients: JavaScript · Python · Go · .NET · CLI · OpenAPI description · GitHub Action
- Support: [email protected]
License
The contents of this repository (documentation and metadata) are released under the MIT license. The hosted MCP server and the HostTracker service itself are proprietary.
來源:README.md,提交 d9598c4
工具
0版本歷史
1- v2.1.0最新Sep 16, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分