Uptime.com Mcp について
AI アシスタントからウェブサイト、サーバー、インフラの監視を管理する Uptime.com 向け MCP サーバーです。チェック、アラート、ステータスページ、利用状況を扱い、stdio とストリーミング可能な HTTP に対応します。
主な機能
- 01監視チェックの作成と管理
- 02アラートと障害の確認
- 03ステータスページとインシデントの管理
- 04連絡先、タグ、ダッシュボードの管理
- 05アカウント利用状況と上限の確認
- 06stdio と HTTP のトランスポート
活用シーン
- 01ウェブサイトやサーバーの稼働チェック設定
- 02障害と関連アラートの確認
- 03公開ステータスページの更新
- 04アカウント利用状況とプラン上限の確認
MCP 対応
Uptime.com の監視およびアカウント操作を、MCP クライアント向けのツールとして提供します。stdio とストリーミング可能な HTTP に対応し、Bearer トークンまたは OAuth2 で認証します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.uptime.com/mcpclaude mcp add --transport http uptime https://mcp.uptime.com/mcp{"mcpServers":{"uptime":{"type":"http","url":"https://mcp.uptime.com/mcp"}}}Cursor で開く{"servers":{"uptime":{"type":"http","url":"https://mcp.uptime.com/mcp"}}}VS Code で開く{"mcpServers":{"uptime":{"type":"http","url":"https://mcp.uptime.com/mcp"}}}{"mcpServers":{"uptime":{"serverUrl":"https://mcp.uptime.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
uptime-mcp
Uptime.com 用の Model Context Protocol(MCP)サーバーです。Uptime.com のウェブサイト、サーバー、インフラストラクチャーの監視機能を MCP ツールとして提供するため、Claude などの AI アシスタントが、ユーザーに代わって監視チェックの作成や管理、アラートや障害の確認、ステータスページの管理、アカウント使用状況の確認を行えます。
このサーバーは、stdio(Claude Desktop、Claude Code、Cursor などのローカル MCP クライアント向け)とストリーミング可能な HTTP(ホスト型デプロイメント向け)の 2 つのトランスポートに対応しています。静的な API ベアラートークン、またはブラウザーを使った OAuth2 PKCE フローで認証します。
Claude Code プラグイン
Claude Code をお使いの場合、最も簡単に利用を始める方法は uptime-skills プラグインです。このプラグインには、Uptime.com 向けのタスクに特化した スキル(プローブ場所の選択、障害検知感度の調整、対象に適した監視チェックタイプの選択など、厳選されたコンテキストとワークフロー)に加え、適切なデフォルト権限セットが含まれています。ツールだけでも Claude は API を呼び出せるようになりますが、スキルによってツールを適切に使うためのノウハウが加わるため、生の API 呼び出しではなく、適切な監視判断が得られます。
/plugin marketplace add uptime-com/uptime-skills
/plugin install uptime@uptime-com
次に認証します(ブラウザーで OAuth を行い、トークンは保存・更新されます)。
/mcp
チームおよびプロジェクト単位でのセットアップについては、uptime-com/uptime-skills をご覧ください。
ホスト型サーバー
Uptime.com は公式のホスト型インスタンスを運用しているため、ご自身で何かを実行する必要はありません。ストリーミング可能な HTTP に対応した任意の MCP クライアントを、次のエンドポイントに接続してください。
https://mcp.uptime.com/mcp
Uptime.com の API トークンで認証します(Settings → API & Integrations で生成してください)。MCP クライアントの設定例:
{
"mcpServers": {
"uptime": {
"type": "http",
"url": "https://mcp.uptime.com/mcp",
"headers": {
"Authorization": "Bearer <your-api-token>"
}
}
}
}
このエンドポイントは RFC 9728 の保護リソースメタデータも公開するため、OAuth2 対応の MCP クライアントは認可サーバー(https://uptime.com)を検出して、自身でトークンを取得できます。静的トークンを指定する必要はありません。
ご自身で実行したい場合は、以下に進んでください。
クイックスタート
最も手早く試すには、go run(Go 1.26 以降)と個人用の Uptime.com API トークンを使用します。Uptime.com の UI で Settings → API & Integrations を開いてトークンを生成し、次を実行してください。
export UPTIME_BEARER_TOKEN=<your-api-token>
go run github.com/uptime-com/uptime-mcp@latest -transport=stdio
Claude Desktop / Claude Code / Cursor(ベアラートークン)
MCP クライアントの設定(例:claude_desktop_config.json、Cursor の mcp.json、または claude mcp add-json)にサーバーを追加します。
{
"mcpServers": {
"uptime": {
"command": "uptime-mcp",
"args": ["-transport=stdio"],
"env": {
"UPTIME_BEARER_TOKEN": "<your-api-token>"
}
}
}
}
"command": "uptime-mcp" を、ダウンロードしたバイナリの絶対パスに置き換えるか、コンテナーイメージを実行してください。
{
"mcpServers": {
"uptime": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "UPTIME_BEARER_TOKEN",
"ghcr.io/uptime-com/uptime-mcp:latest",
"-transport=stdio"
],
"env": {
"UPTIME_BEARER_TOKEN": "<your-api-token>"
}
}
}
}
Claude Desktop(OAuth2、静的トークン不要)
静的トークンを使う代わりに、最初のツール呼び出し時にサーバーでブラウザーを使った OAuth2 ログインを実行します。この方法では、Uptime.com アカウントに登録された OAuth アプリケーション(クライアント ID)が必要です。設定にトークンを保存する必要はありません。
{
"mcpServers": {
"uptime": {
"command": "uptime-mcp",
"args": [
"-transport=stdio",
"-uptime-url=https://uptime.com",
"-client-id=<your-client-id>"
]
}
}
}
最初のツール呼び出し時にサーバーがブラウザーを開き、認可手続きを完了します。その後、バックグラウンドでトークンが更新されます。認証をご覧ください。
インストール
ビルド済みバイナリ
お使いのプラットフォーム用のアーカイブを
リリースページからダウンロードし(amd64 および arm64 の Linux、macOS、Windows に対応)、展開して、uptime-mcp をPATHに追加します。
tar xzf uptime-mcp_<version>_<os>_<arch>.tar.gz
sudo mv uptime-mcp /usr/local/bin/
uptime-mcp -version
コンテナーイメージ
GitHub Container Registry で公開されています。タグ::<version>(変更不可。例::0.16.0)、:latest(最新の安定版リリース)、:main(mainの最新コミットを追跡)。
docker pull ghcr.io/uptime-com/uptime-mcp:latest
docker run -i --rm -e UPTIME_BEARER_TOKEN ghcr.io/uptime-com/uptime-mcp:latest -transport=stdio
Helm チャート(Kubernetes 上の HTTP モード)
OCI チャートとして公開されています。環境ごとの URL はあらかじめ設定されていないため、インストール時に設定してください。
helm install uptime-mcp oci://ghcr.io/uptime-com/uptime-mcp/charts/uptime-mcp \
--set config.uptimeUrl=https://uptime.com
go install
go install github.com/uptime-com/uptime-mcp@latest
バイナリは $(go env GOPATH)/bin に uptime-mcp としてインストールされます。
ソースからビルド
git clone https://github.com/uptime-com/uptime-mcp.git
cd uptime-mcp
go build -o uptime-mcp .
設定
設定は CLI フラグで指定します。機密情報については、環境変数にフォールバックできます。
| フラグ | 環境変数のフォールバック | デフォルト | 説明 |
|---|---|---|---|
-transport | — | stdio | トランスポートモード:stdio または http。 |
-listen | — | :8080 | HTTP リッスンアドレス(HTTP モードのみ)。 |
-uptime-url | UPTIME_URL | (必須) | Uptime.com インスタンスの URL。例:https://uptime.com。API のベース URL は <uptime-url>/api/v1/ です。 |
-api-url | UPTIME_API_URL | (-uptime-urlから取得) | API の完全なベース URL の上書き値。指定された値をそのまま使用します(例:http://uptime.svc.cluster.local/api/v1/)。 |
-oauth-url | UPTIME_OAUTH_URL | (-uptime-urlから取得) | OAuth2 認可サーバーの完全な URL の上書き値。発行者として指定された値をそのまま使用します。 |
-resource-url | UPTIME_RESOURCE_URL | http://localhost:<port> | OAuth2 保護リソースのメタデータ用に、このサーバーの公開 URL を指定します。 |
-client-id | UPTIME_OAUTH_CLIENT_ID | (空) | OAuth2 クライアント ID。 |
-client-secret | UPTIME_OAUTH_CLIENT_SECRET | (空) | OAuth2 クライアントシークレット(機密クライアント用)。 |
-log-level | — | error | ログレベル:debug、info、warn、error。 |
-version | — | — | バージョンとコミットを表示して終了します。 |
トークンの環境変数:
| 変数 | 説明 |
|---|---|
UPTIME_BEARER_TOKEN | 静的な Uptime.com API トークン。検証や更新を行わず、そのまま転送します。 |
認証
ベアラートークン(最も簡単)
事前に取得した Uptime.com API トークンを UPTIME_BEARER_TOKEN に設定します。stdio モードと HTTP モードの両方で使用できます。OAuth の設定、検証、更新は行わず、トークンをそのまま Uptime.com API に転送します。
UPTIME_BEARER_TOKEN=<your-api-token> uptime-mcp -transport=stdio
OAuth2(stdio、ブラウザー PKCE)
stdio モードでは、UPTIME_BEARER_TOKEN が設定されていない場合、サーバーは起動時ではなく、最初のツール呼び出し時に遅延してブラウザーベースの OAuth2 PKCE フローを実行します。これにより、MCP ハンドシェイク(initialize、tools/list)が高速に保たれます。-uptime-url と -client-id が必要です。<uptime-url>/o/authorize/ と <uptime-url>/o/token/ に対してスコープ api/v1 を要求し、トークンはバックグラウンドで更新されます。
uptime-mcp -transport=stdio \
-uptime-url=https://uptime.com \
-client-id=<your-client-id>
HTTP(リクエストごとのベアラー認証 + RFC 9728 ディスカバリー)
HTTP モードでは、サーバーはトークンをそのまま中継します。各リクエストでは、次の順序でトークンを解決し、Uptime.com API に転送します。
| 優先順位 | ソース |
|---|---|
| 1 | Authorization: Bearer <token> |
| 2 | ?token=<token> クエリパラメーター |
| 3 | UPTIME_BEARER_TOKEN 環境変数 |
OAuth2 アクセストークンとアカウント API キーは、いずれもこれらのどの場所でも使用できます。Uptime.com API は、前者を Authorization: Bearer、後者を Authorization: Token として認証し、異なる認証方式で送信された場合はどちらも拒否するため、サーバーはソースから推定した方式で送信し、API に拒否された場合は一度だけ切り替えます。どちらの認証情報かは見た目では判別できないため、設定は不要で、誤った推定による追加の往復は 1 回だけです。
-uptime-url が設定されている場合、サーバーは
RFC 9728 の保護リソースメタデータも
/.well-known/oauth-protected-resource で提供します。Uptime.com の
認可サーバーとスコープ(api/v1、api/v1:read)を通知するため、OAuth2 対応の MCP
クライアントは自らトークンを取得できます。
uptime-mcp -transport=http -listen=:8080 \
-uptime-url=https://uptime.com \
-client-id=<your-client-id>
動的クライアント登録(RFC 7591) は予定されているため、OAuth2 クライアントに事前登録済みのクライアント ID は不要になります。
HTTP モードとヘルスエンドポイント
HTTP モードでは、サーバーは -listen(デフォルトは :8080)でリッスンし、次のエンドポイントを公開します。
POST /— ストリーミング可能な HTTP MCP エンドポイント。GET /healthz— 稼働状態/準備状態のプローブ。204 No Contentを返します。GET /.well-known/oauth-protected-resource— RFC 9728 メタデータ(-uptime-urlが設定されている場合のみ)。
uptime-mcp -transport=http -listen=:8080 -uptime-url=https://uptime.com
curl -i http://localhost:8080/healthz # -> HTTP/1.1 204 No Content
機能
サーバーは、以下の Uptime.com ドメイン全体でツールを登録します。ツール名は
安定しています。完全な入力スキーマを確認するには、MCP クライアントから
tools/list を使用してください。
チェック — 監視チェックの一覧表示、確認、管理
| ツール | 説明 |
|---|---|
list_checks | 監視チェックを一覧表示します。必要に応じて絞り込めます。 |
get_check | 特定のチェックの詳細を取得します。 |
get_check_stats | チェックの稼働統計を取得します。 |
delete_check | チェックを削除します。 |
create_<type>_check | 指定した種類のチェックを作成します(下記参照)。 |
update_<type>_check | 指定した種類のチェックを更新します(下記参照)。 |
対応するチェックの種類(create_* と update_*):
http、dns、ssl、icmp、tcp、udp、smtp、imap、pop、ssh、
ntp、whois、rdap、blacklist、malware、heartbeat、webhook、
group、pagespeed、rum、rum2、cloudstatus、api、transaction。
ロケーション
list_locations、get_location — プローブサーバーのロケーションとその IP
アドレスを確認します。
連絡先
list_contacts、get_contact、create_contact、update_contact、
delete_contact — アラート通知に使用する連絡先グループを管理します。
タグ
list_tags、get_tag、create_tag、update_tag、delete_tag。
ダッシュボード
list_dashboards、get_dashboard、create_dashboard、update_dashboard、
delete_dashboard。
ステータスページ、コンポーネント、インシデント
- ページ:
list_status_pages、get_status_page、create_status_page、update_status_page、delete_status_page。 - コンポーネント:
list_status_page_components、get_status_page_component、create_status_page_component、update_status_page_component、delete_status_page_component。 - インシデント:
list_status_page_incidents、get_status_page_incident、create_status_page_incident、update_status_page_incident、delete_status_page_incident。
アラートと停止
list_alerts、get_alert、ignore_alert、list_outages、get_outage。
クラウドステータス
list_cloudstatus_providers、search_cloudstatus_services — cloudstatus チェック用の
クラウドプロバイダーとサービスを確認します。
アカウント
get_account_usage — アカウントの使用状況とプランの上限。
開発
必要要件:Go 1.26 以降。
make test # run unit tests
make e2e # run e2e tests (requires UPTIME_BEARER_TOKEN)
make run/http # run the HTTP server locally on :8080
go build -o uptime-mcp .
e2e テストスイートは稼働中の Uptime.com アカウントに接続し、ビルドタグ
e2e が付いています。有効な UPTIME_BEARER_TOKEN を指定した場合のみ実行されます:
UPTIME_BEARER_TOKEN=<your-api-token> make e2e
モックは mockery v3+
(.mockery.yaml)を使用して生成します。
貢献
貢献を歓迎します。大幅な変更については、プルリクエストを送る前にイシューを作成して相談してください。変更範囲を絞り、提出前に make test を実行してください。貢献することで、貢献内容がプロジェクトの MIT ライセンスに基づいてライセンスされることに同意したものとみなされます。
ライセンス
MIT License に基づいてライセンスされています。SPDX-License-Identifier: MIT。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。