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_incidentupdate_incidentresolve_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. アプリの詳細を入力します:

フィールド
NamePulsetic MCP (または任意の名前)
DescriptionUptime monitoring (オプション)
MCP Server URLhttps://api.pulsetic.com/mcp
AuthenticationOAuth

ステップ 4. OAuth エンドポイントはサーバーから自動検出されます。Advanced settings で確認できます:

フィールド
Auth URLhttps://api.pulsetic.com/mcp/oauth/authorize
Token URLhttps://api.pulsetic.com/mcp/oauth/token
Registration URLhttps://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_stats1日/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_idintegerはいモニター ID。

get_monitor_stats

1日、7日、30日、90日の期間におけるアップタイム率、ダウンタイム、インシデント数、平均応答時間を返します。

パラメータ必須説明
monitor_idintegerはいモニター ID。

get_monitor_events

日付範囲内のオンライン/オフラインイベントを返します (最大 100、新しい順)。

パラメータ必須説明
monitor_idintegerはいモニター ID。
fromstringいいえ開始日 (YYYY-MM-DD)。デフォルト: 7 日前。
tostringいいえ終了日 (YYYY-MM-DD)。デフォルト: 今日。

get_monitor_downtime

期間の合計ダウンタイム (秒単位) とインシデント数を返します。

パラメータ必須説明
monitor_idintegerはいモニター ID。
daysintegerいいえ遡る日数。デフォルト: 30。

create_monitor

新しいアップタイムモニターを作成します。

パラメータ必須説明
urlstringはい監視する URL またはホスト名。
namestringいいえ表示名。
request_typestringいいえhttptcp、または icmp。デフォルト: http
uptime_check_frequencyintegerいいえチェック間隔 (秒単位)。デフォルト: 60。
request_methodstringいいえHTTP メソッド。デフォルト: GET。
request_timeoutintegerいいえタイムアウト (秒単位)。デフォルト: 30。
ssl_checkbooleanいいえSSL 監視を有効にします。

update_monitor

既存のモニターの設定を更新します。変更したいフィールドのみを含めてください。

パラメータ必須説明
monitor_idintegerはいモニター ID。
namestringいいえ新しい表示名。
urlstringいいえ新しい URL またはホスト名。
uptime_check_frequencyintegerいいえ新しいチェック間隔 (秒単位)。
request_methodstringいいえHTTP メソッド。
request_timeoutintegerいいえタイムアウト (秒単位)。
ssl_checkbooleanいいえSSL 監視を有効/無効にします。

delete_monitor

モニターと関連するすべてのデータを完全に削除します。

パラメータ必須説明
monitor_idintegerはいモニター ID。

pause_monitor

モニターを一時停止します。再開されるまでチェックは停止されます。

パラメータ必須説明
monitor_idintegerはいモニター ID。

resume_monitor

一時停止中のモニターを再開します。

パラメータ必須説明
monitor_idintegerはいモニター ID。

list_status_pages

アカウントのすべてのステータスページを返します。

パラメータなし。


list_incidents

各インシデントの最新の更新を含む、ステータスページのインシデントを返します。

パラメータ必須説明
status_page_idintegerはいステータスページ ID。

create_incident

ステータスページに表示される初期ステータス更新を含む新しいインシデントを作成します。

パラメータ必須説明
status_page_idintegerはいステータスページ ID。
titlestringはいインシデントのタイトル。
statusstringはいinvestigatingidentifiedmonitoring、または resolved
messagestringはい初期更新メッセージ。

update_incident

既存のインシデントに新しいステータス更新を投稿します。

パラメータ必須説明
incident_idintegerはいインシデント ID。
statusstringはいinvestigatingidentifiedmonitoring、または resolved
messagestringはい更新メッセージ。
titlestringいいえインシデントのタイトルを更新します。

resolve_incident

解決メッセージとともにインシデントを解決済みとしてマークします。

パラメータ必須説明
incident_idintegerはいインシデント ID。
messagestringはい解決メッセージ。

create_maintenance

ステータスページにメンテナンス期間をスケジュールします。

パラメータ必須説明
status_page_idintegerはいステータスページ ID。
namestringはいメンテナンスのタイトル。
descriptionstringいいえメンテナンスの説明。
startstringはいISO 8601 形式の開始時刻。
endstringはいISO 8601 形式の終了時刻。
timezonestringいいえタイムゾーン (例: UTCAmerica/New_York)。デフォルト: UTC

delete_maintenance

スケジュールされたメンテナンス期間を削除します。

パラメータ必須説明
maintenance_idintegerはいメンテナンス期間 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トランスポートを使用します。