Pulsetic MCP Server
公式Pulsetic MCP Serverは、Pulseticの監視機能をAIエージェントやMCP互換ツールと連携させ、Model Context Protocol(MCP)を通じてアップタイムデータ、cron監視結果、インシデント管理ワークフロー、ステータスページ情報に直接アクセスできるようにします。これにより、チームは運用監視データを構造化された形式で安全に公開でき、カスタムミドルウェアなしでAI駆動の自動化、監視アシスタント、インテリジェントな運用ワークフローを構築しやすくなります。
Pulsetic MCPで何ができますか?
- モニターのステータスと稼働時間を確認 —
list_monitorsですべてのモニターを確認するか、get_monitor_statsで特定のモニターの詳細な統計を取得します。 - ダウンタイムイベントを調査 —
get_monitor_eventsでオンライン/オフラインイベントを取得するか、get_monitor_downtimeで合計ダウンタイム秒数を取得します。 - モニターの作成と管理 —
create_monitorで新しいHTTP、TCP、またはICMPモニターを追加し、update_monitorで設定を更新するか、チェックを一時停止/再開します。 - ステータスページのインシデントを処理 —
create_incident、update_incident、resolve_incidentを使用してインシデントのライフサイクルを管理し、ステータス更新を投稿します。 - メンテナンスウィンドウをスケジュール —
create_maintenanceで今後のメンテナンス期間を作成するか、delete_maintenanceで削除します。
ドキュメント
Pulsetic MCP Server
Model Context Protocol (MCP) を使用して、AI アシスタントを Pulsetic 監視プラットフォームに接続します。
MCP とは?
Model Context Protocol は、AI アシスタントが外部ツールやサービスと対話できるようにするオープンスタンダードです。Pulsetic の MCP サーバーを使用すると、AI アシスタントに自然な会話でモニターのステータス確認、インシデントの作成、メンテナンスのスケジュールなどを依頼できます。
対応クライアント:
- Claude Desktop — Anthropic のデスクトップアプリ
- Claude Code — Anthropic の開発者向け CLI
- ChatGPT — OpenAI の AI アシスタント (OAuth 経由)
- Cursor — AI 搭載コードエディター
- Windsurf — AI 搭載 IDE
- MCP 仕様 を実装する任意のクライアント
前提条件
- API アクセス が可能なプラン (Business または Enterprise) の Pulsetic アカウント。
- Pulsetic API キー — ダッシュボードの Settings → API から生成します。
- MCP 互換の AI クライアント。
セットアップ
Claude Desktop
Claude Desktop は stdio ベースの MCP サーバーを使用します。リモート HTTP エンドポイントをブリッジするには mcp-remote を使用します。Settings → Developer → Edit Config を開き、以下を追加します:
{
"mcpServers": {
"pulsetic": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://api.pulsetic.com/mcp",
"--header", "Authorization: Bearer YOUR_API_KEY"
]
}
}
}
YOUR_API_KEY を実際の API キーに置き換えてください。適用するには Claude Desktop を再起動します。
Claude Code
プロジェクトの .mcp.json ファイルにサーバーを追加します:
{
"mcpServers": {
"pulsetic": {
"type": "streamableHttp",
"url": "https://api.pulsetic.com/mcp",
"headers": {
"Authorization": "YOUR_API_KEY"
}
}
}
}
Cursor
Settings → MCP Servers → Add Server を開き、以下を設定します:
- Type: streamableHttp
- URL:
https://api.pulsetic.com/mcp - Headers:
Authorization: YOUR_API_KEY
ChatGPT
ChatGPT は Developer Mode を通じてネイティブ MCP サポートを提供します。Pulsetic での認証には OAuth を使用します。
ステップ 1. ChatGPT で Developer Mode を有効にします: Enabled apps → Advanced settings → Developer mode に移動し、トグルをオンにします。これは ChatGPT Pro、Plus、Team、Business、Enterprise、Edu ユーザーが利用できます。
ステップ 2. 新しいアプリを作成します: Enabled apps → Create app に移動します。
ステップ 3. アプリの詳細を入力します:
| フィールド | 値 |
|---|---|
| Name | Pulsetic MCP (または任意の名前) |
| Description | Uptime monitoring (オプション) |
| MCP Server URL | https://api.pulsetic.com/mcp |
| Authentication | OAuth |
ステップ 4. OAuth エンドポイントはサーバーから自動検出されます。Advanced settings で確認できます:
| フィールド | 値 |
|---|---|
| Auth URL | https://api.pulsetic.com/mcp/oauth/authorize |
| Token URL | https://api.pulsetic.com/mcp/oauth/token |
| Registration URL | https://api.pulsetic.com/mcp/oauth/register |
ステップ 5. "I understand and want to continue" をチェックし、Create をクリックします。
ステップ 6. OAuth ログインフローを完了します。Pulsetic 認証ページにリダイレクトされ、アカウントのメールアドレスと API トークンを入力します。
メールアドレスは API トークンと一致する必要があります。 認証ページで入力するメールアドレスは、提供する API トークンの所有者と一致する必要があります。
API キーは秘密にしてください。 API キーは Pulsetic アカウントへの完全なアクセス権を持ちます。バージョン管理にコミットしたり、公開したりしないでください。
利用可能なツール
MCP サーバーは 4 つのカテゴリに分類される 17 のツールを公開します。
モニター
| ツール | 説明 |
|---|---|
list_monitors | ステータス、アップタイム、応答時間を含むすべてのモニターを一覧表示します。 |
get_monitor | 特定のモニターに関する詳細情報を取得します。 |
get_monitor_stats | 1日/7日/30日/90日間のアップタイム率、ダウンタイム、応答時間。 |
get_monitor_events | 日付範囲内のオンライン/オフラインイベント。 |
get_monitor_downtime | 指定期間の合計ダウンタイム (秒単位)。 |
create_monitor | 新しい HTTP、TCP、または ICMP モニターを作成します。 |
update_monitor | モニターの名前、URL、頻度、または設定を更新します。 |
delete_monitor | モニターを完全に削除します。 |
pause_monitor | 監視を一時停止します (チェックを停止)。 |
resume_monitor | 一時停止中のモニターを再開します。 |
ステータスページ
| ツール | 説明 |
|---|---|
list_status_pages | タイトル、スラッグ、ドメインを含むすべてのステータスページを一覧表示します。 |
インシデント
| ツール | 説明 |
|---|---|
list_incidents | ステータスページのインシデントを一覧表示します。 |
create_incident | 初期ステータス更新を含む新しいインシデントを作成します。 |
update_incident | 既存のインシデントにステータス更新を投稿します。 |
resolve_incident | インシデントを解決済みとしてマークします。 |
メンテナンス
| ツール | 説明 |
|---|---|
create_maintenance | ステータスページにメンテナンス期間をスケジュールします。 |
delete_maintenance | スケジュールされたメンテナンス期間を削除します。 |
使用例
設定が完了すると、自然言語で Pulsetic と対話できます。
モニターを確認する
"Show me all my monitors and their current status."
"What's the uptime for my production API monitor over the last 30 days?"
"Are any of my monitors currently down?"
"Show me the downtime events for monitor 42 in the past week."
モニターを管理する
"Create a new monitor for https://api.example.com that checks every 30 seconds."
"Pause the staging monitor while we do the migration."
"Resume all paused monitors."
"Change the check frequency of monitor 15 to 60 seconds."
"Delete the old marketing-site monitor."
インシデントを処理する
"Create an incident on our main status page: 'Elevated API latency'
with status investigating and message 'We're looking into slow response times.'"
"Update the API latency incident to identified: 'Root cause is a database
connection pool issue. Working on a fix.'"
"Resolve incident 8 with message 'Connection pool limits increased.
Response times back to normal.'"
メンテナンスをスケジュールする
"Schedule a maintenance window on status page 1 called 'Database upgrade'
starting 2025-03-20 at 2am UTC and ending at 4am UTC."
"Delete the maintenance window we scheduled for next week."
cURL でのテスト
cURL を使用して MCP エンドポイントを直接テストし、API キーが機能することを確認できます。
初期化
curl -X POST https://api.pulsetic.com/mcp \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {"name": "curl", "version": "1.0"}
}
}'
ツール一覧
curl -X POST https://api.pulsetic.com/mcp \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
ツールの呼び出し
curl -X POST https://api.pulsetic.com/mcp \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "list_monitors",
"arguments": {}
}
}'
ツールリファレンス
list_monitors
アカウントのすべてのモニターを返します。
パラメータなし。
get_monitor
SSL 証明書情報を含む、単一モニターの完全な詳細を返します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
monitor_id | integer | はい | モニター ID。 |
get_monitor_stats
1日、7日、30日、90日の期間におけるアップタイム率、ダウンタイム、インシデント数、平均応答時間を返します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
monitor_id | integer | はい | モニター ID。 |
get_monitor_events
日付範囲内のオンライン/オフラインイベントを返します (最大 100、新しい順)。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
monitor_id | integer | はい | モニター ID。 |
from | string | いいえ | 開始日 (YYYY-MM-DD)。デフォルト: 7 日前。 |
to | string | いいえ | 終了日 (YYYY-MM-DD)。デフォルト: 今日。 |
get_monitor_downtime
期間の合計ダウンタイム (秒単位) とインシデント数を返します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
monitor_id | integer | はい | モニター ID。 |
days | integer | いいえ | 遡る日数。デフォルト: 30。 |
create_monitor
新しいアップタイムモニターを作成します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
url | string | はい | 監視する URL またはホスト名。 |
name | string | いいえ | 表示名。 |
request_type | string | いいえ | http、tcp、または icmp。デフォルト: http。 |
uptime_check_frequency | integer | いいえ | チェック間隔 (秒単位)。デフォルト: 60。 |
request_method | string | いいえ | HTTP メソッド。デフォルト: GET。 |
request_timeout | integer | いいえ | タイムアウト (秒単位)。デフォルト: 30。 |
ssl_check | boolean | いいえ | SSL 監視を有効にします。 |
update_monitor
既存のモニターの設定を更新します。変更したいフィールドのみを含めてください。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
monitor_id | integer | はい | モニター ID。 |
name | string | いいえ | 新しい表示名。 |
url | string | いいえ | 新しい URL またはホスト名。 |
uptime_check_frequency | integer | いいえ | 新しいチェック間隔 (秒単位)。 |
request_method | string | いいえ | HTTP メソッド。 |
request_timeout | integer | いいえ | タイムアウト (秒単位)。 |
ssl_check | boolean | いいえ | SSL 監視を有効/無効にします。 |
delete_monitor
モニターと関連するすべてのデータを完全に削除します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
monitor_id | integer | はい | モニター ID。 |
pause_monitor
モニターを一時停止します。再開されるまでチェックは停止されます。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
monitor_id | integer | はい | モニター ID。 |
resume_monitor
一時停止中のモニターを再開します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
monitor_id | integer | はい | モニター ID。 |
list_status_pages
アカウントのすべてのステータスページを返します。
パラメータなし。
list_incidents
各インシデントの最新の更新を含む、ステータスページのインシデントを返します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
status_page_id | integer | はい | ステータスページ ID。 |
create_incident
ステータスページに表示される初期ステータス更新を含む新しいインシデントを作成します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
status_page_id | integer | はい | ステータスページ ID。 |
title | string | はい | インシデントのタイトル。 |
status | string | はい | investigating、identified、monitoring、または resolved。 |
message | string | はい | 初期更新メッセージ。 |
update_incident
既存のインシデントに新しいステータス更新を投稿します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
incident_id | integer | はい | インシデント ID。 |
status | string | はい | investigating、identified、monitoring、または resolved。 |
message | string | はい | 更新メッセージ。 |
title | string | いいえ | インシデントのタイトルを更新します。 |
resolve_incident
解決メッセージとともにインシデントを解決済みとしてマークします。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
incident_id | integer | はい | インシデント ID。 |
message | string | はい | 解決メッセージ。 |
create_maintenance
ステータスページにメンテナンス期間をスケジュールします。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
status_page_id | integer | はい | ステータスページ ID。 |
name | string | はい | メンテナンスのタイトル。 |
description | string | いいえ | メンテナンスの説明。 |
start | string | はい | ISO 8601 形式の開始時刻。 |
end | string | はい | ISO 8601 形式の終了時刻。 |
timezone | string | いいえ | タイムゾーン (例: UTC、America/New_York)。デフォルト: UTC。 |
delete_maintenance
スケジュールされたメンテナンス期間を削除します。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
maintenance_id | integer | はい | メンテナンス期間 ID。 |
トラブルシューティング
401 Unauthorized
- API キーが正しく、期限切れでないことを確認してください。
Authorizationヘッダーでキーを渡していることを確認してください (生のトークンとして、またはBearerプレフィックス付きで)。- アカウントが API アクセスが有効なプランであることを確認してください。
OAuth 認証が失敗する (ChatGPT)
- 認証ページで、入力する メールアドレス が API トークンの所有者と一致する必要があります。
- ChatGPT 設定で Developer Mode が有効になっていることを確認してください。
- Developer Mode をサポートする ChatGPT プラン (Pro、Plus、Team、Business、Enterprise、Edu) であることを確認してください。
"Monitor not found or access denied"
- モニター ID が存在しないか、別のアカウントに属しています。
list_monitorsを使用して、利用可能なモニター ID を確認してください。
AI クライアントにツールが表示されない
- MCP 設定を編集した後、AI クライアントを再起動してください。
- URL が正確に
https://api.pulsetic.com/mcpであることを確認してください。 - cURL でエンドポイントをテストし、接続性を確認してください。
プロトコルエラーが発生する
- リクエストが
Content-Type: application/jsonを使用していることを確認してください。 jsonrpcフィールドは正確に"2.0"である必要があります。- 通知を除くすべてのリクエストに
idフィールド (整数または文字列) を含めてください。
API リファレンス
MCPサーバーは、MCP仕様 (2025-03-26) を実装しており、単一の POST /mcp エンドポイント上でJSON-RPC 2.0を用いたストリーミング可能なHTTPトランスポートを使用します。