mcpField
P
pingpulse

pingpulse

ローカル
github.com/CloudCorpRecordsクラウド・インフラ02 日前に更新

pingpulse について

pingpulse は、Hyperping のホスト型稼働監視 MCP サーバーにつなぐローカルブリッジで、監視やインシデント対応を行うエージェント向けです。モニター、障害、オンコール、ステータスページ、メンテナンス、ログなどを扱います。

主な機能

  1. 01モニターの一覧表示、確認、操作
  2. 02障害の確認と対応
  3. 03稼働率と応答時間の指標確認
  4. 04オンコール予定とエスカレーションポリシーの確認
  5. 05ステータスページとインシデントの管理
  6. 06ログ検索とメンテナンス予定の設定

活用シーン

  1. 01モニターの健全性と性能を確認
  2. 02障害の承認、エスカレーション、解決
  3. 03ステータスページにインシデント更新を掲載
  4. 04ログを調査しメンテナンス期間を計画

MCP 対応

ローカルブリッジを通じて MCP クライアントに Hyperping の監視ツールを公開します。呼び出しを Hyperping のホスト型 MCP サーバーに転送し、応答をそのまま返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-pingpulse": {
"command": "npx",
"args": [
"-y",
"@reneturcios/pingpulse"
]
}
}
}
起動コマンドnpx -y @reneturcios/pingpulse

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/pingpulse0.1.0
ocighcr.io/cloudcorprecords/pingpulse:0.1.0

ツール

69

掲載時のツール一覧 · 2 日前に更新

パラメーター型必須説明
pageintegerいいえ0 始まりのページ番号。デフォルトは 0 です。
limitintegerいいえ1 ページあたりの行数。デフォルトは 50、最大は 200 です。
statusenumいいえステータスで絞り込みます。"ssl_expiring" は、SSL の有効期限が 30 日以内であることを示します。up | down | paused | ssl_expiring

詳細

pingpulse

pingpulseは、ホスト型のHyperping稼働状況監視MCPサーバーへの小規模なローカルブリッジです。監視ワークスペース全体を、単一のツールインターフェースで利用できるようにします。サイトやAPIを監視するモニター、そこから発生する障害、何かが壊れたときに呼び出される担当者、そしてユーザーに状況を伝える公開ステータスページを扱えます。

ここからエージェントは、モニターの一覧表示や詳細確認、一時停止や再開、オンデマンドでのチェック実行、稼働率・応答時間・MTTR・MTTAの数値の確認、障害への対応(確認・エスカレーション・解決)、オンコールスケジュールやエスカレーションポリシーの確認、ステータスページの管理とインシデントの投稿や更新、メンテナンス時間帯のスケジュール設定、ログやログダッシュボードの検索、プロジェクトレポート、ヘルスチェック、サーバー、ブラウザー実行、監査ログの取得ができます。このインターフェースには、ライブエンドポイントから取得したとおり、69個のツールがあります。支払い、請求、プランに関するツールは含まれていません。

このブリッジは監視データを一切保持しません。ツール一覧にはローカルで、取得したとおりの内容を返し、各ツールの呼び出しは上流に転送して、返された内容をそのまま返します。

ツール

分野ごとにまとめています。必須の引数は、取得したスキーマに記載されている場合に示しています。必須引数が記載されていないツールには、必須の引数はありません(69個のうち26個は取得データにrequiredキーがなく、そのまま提供されます)。

  • モニター:list_monitors、get_monitor(uuid)、 create_monitor(name、url)、update_monitor (uuid)、pause_monitor(uuid)、resume_monitor (uuid)、search_monitors_by_name(query)、 get_status_summary。
  • 障害とアラート:list_outages、get_outage (uuid)、get_outage_timeline(uuid)、 get_monitor_outages(monitor_uuid)、 create_outage(description)、 acknowledge_outage(uuid)、escalate_outage (uuid)、resolve_outage(uuid)、 list_recent_alerts、get_outage_alerts(uuid)。
  • モニターのメトリクス:get_monitor_uptime、 get_monitor_response_time、get_monitor_mttr、 get_monitor_mtta、get_monitor_anomalies(uuid)、 get_monitor_http_logs(uuid)。
  • オンコール:list_on_call_schedules、 get_on_call_schedule(uuid)、 list_escalation_policies、get_escalation_policy (uuid)、list_team_members、get_on_call_now。
  • インテグレーション:list_integrations、get_integration (uuid)。
  • ステータスページ:list_status_pages、 get_status_page(uuid)、create_status_page (name、subdomain)、update_status_page(uuid)、 add_status_page_services(uuid、services)、 remove_status_page_services(uuid、services)。
  • ステータスページのインシデント:list_status_page_incidents、 get_status_page_incident(uuid)、 create_status_page_incident(title、message、 status_pages)、add_status_page_incident_update (uuid、message、status)、 resolve_status_page_incident(uuid、message)、 update_status_page_incident(uuid)、 edit_status_page_incident_update(uuid、 update_uuid)。
  • メンテナンス:list_maintenance_windows、 get_maintenance_window(uuid)、 create_maintenance_window(name、start_date、 end_date、monitors)、update_maintenance_window (uuid)、complete_maintenance_window(uuid)、 cancel_maintenance_window(uuid)。
  • ログ:search_logs、get_outage_logs(uuid)、 summarize_log_errors、list_log_dashboards、 run_log_chart、create_log_dashboard_from_template (template_id)。
  • チェックと変更:get_outage_checks(uuid)、 find_correlated_outages、get_recent_changes、 run_check_now(uuid)。
  • プラットフォームビュー:list_healthchecks、 get_healthcheck(uuid)、list_servers、 get_server(uuid)、list_audit_log、 get_project_report、list_browser_runs(uuid)、 get_browser_run(uuid)。

設定

  • HYPERPING_MCP_URL(任意)— 上流エンドポイントを上書きします。デフォルトは https://api.hyperping.io/v1/mcp です。(上書き用フックは、この再構築で独自に付与したラベル付きの再現です。)
  • HYPERPING_API_KEY(任意)— 設定すると、すべての上流リクエストに Hyperping API キーを含む Authorization: Bearer <key> ヘッダーが付与されます。設定されていない場合、キーのヘッダーは送信されません。キャプチャされたインターフェースでは、キーなしでツール一覧が返されました。(Authorization ヘッダー名は、リモートで必須のシークレットとして宣言する元のレジストリレコードによって固定されています。レコードではパッケージの環境変数名が指定されていないため、Bearer 形式と、この環境変数からキーを転送する仕組みは、ラベル付きの再現です。)
転送の仕組み

最初のツール呼び出し時に、クライアントは上流へのストリーミング可能な HTTP セッションを開きます。JSON-RPC の initialize リクエスト(protocolVersion 2025-03-26、clientInfo 名 pingpulse)、次に notifications/initialized 通知、続いて呼び出し元の引数を 変更せずに含めた tools/call リクエストを送信します。上流が initialize に Mcp-Session-Id ヘッダーを付けて応答した場合、その値は セッションの後続のすべてのリクエストに付与され、プロセスの実行中は 同じセッションが再利用されます。応答は通常の JSON または サーバー送信イベントとして届く場合があり、どちらも読み取られます。

上流からの成功結果は、上流が設定した isError フラグを含め、 そのまま返されます。失敗(JSON-RPC エラー、2xx 以外のステータス、 読み取れない応答、または完了できないリクエスト)は、 テキストが pingpulse error: で始まる isError 結果として返されます (このエラー表示は、この再構築で独自に付与したラベル付きの再現です)。

CLI

各ツールは、1 つの JSON 引数文字列を受け取るサブコマンドでもあります。

npx @reneturcios/pingpulse list_monitors '{"status":"down"}'
npx @reneturcios/pingpulse get_monitor '{"uuid":"mon_..."}'
npx @reneturcios/pingpulse create_monitor '{"name":"API","url":"https://example.com/health"}'
npx @reneturcios/pingpulse get_status_summary '{}'
npx @reneturcios/pingpulse --version

終了コード:成功時は 0、isError 結果の場合は 1、使用方法エラーの場合は 2 です。

MCP サーバー

npx -y @reneturcios/pingpulse mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "pingpulse": {
      "command": "npx",
      "args": ["-y", "@reneturcios/pingpulse", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/pingpulse
docker run --rm ghcr.io/cloudcorprecords/pingpulse --version

コンテナーのデフォルトコマンドは mcp です。そのため、最初の形式は stdio MCP サーバーとして動作し、それ以外の引数は通常どおり CLI に渡されます。

開発

npm install
npm run build
npm test
npm run dev

テストスイートはすべて、スタブ化された JSON-RPC 上流に対して実行されます。実際のネットワーク呼び出しは行いません。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。