LastPing について
LastPingは、チェックインの欠落と報告された失敗を検出し、AIエージェント、定期ジョブ、CI/CDパイプラインを監視します。CLIはコマンドをラップし、MCPサーバーではエージェントが監視を設定して実行履歴、インシデント、トレースを確認できます。
主な機能
- 01コマンドの開始と終了コードを報告
- 02チェックイン欠落の監視
- 03MCPによる監視とインシデント管理
- 04実行履歴とトレースの確認
- 05アラートルーティングとステータスページ
活用シーン
- 01夜間バックアップやETLジョブの監視
- 02停止または承認待ちのエージェントの検出
- 03エージェント自身による監視設定
- 04失敗した実行のタイムラインとトレース確認
MCP 対応
エージェントが監視を作成・管理し、実行やインシデントの詳細を取得し、トレースを確認してアラートを設定するツールを提供します。ホスト型エンドポイントとstdioバイナリを利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.lastping.dev/mcpclaude mcp add --transport http dev-lastping-lastping https://mcp.lastping.dev/mcp{"mcpServers":{"dev-lastping-lastping":{"type":"http","url":"https://mcp.lastping.dev/mcp"}}}Cursor で開く{"servers":{"dev-lastping-lastping":{"type":"http","url":"https://mcp.lastping.dev/mcp"}}}VS Code で開く{"mcpServers":{"dev-lastping-lastping":{"type":"http","url":"https://mcp.lastping.dev/mcp"}}}{"mcpServers":{"dev-lastping-lastping":{"serverUrl":"https://mcp.lastping.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
LastPing は、AI エージェントが失敗、停止、承認待ちになったとき、あるいは 起動しなかったときに通知します。また、エージェントを取り巻く cron ジョブや CI/CD パイプラインも監視します。個人は無料です。
多くの監視ツールは対象を監視し、異常に見えるときに通知します。LastPing は対象からのチェックインを待ち、チェックインがないときに通知します。この逆転こそが 製品の核です。失敗したジョブはエラーを送信できませんが、何も送信しないことはできます。 そして、プロセスが壊れても出せる唯一のシグナルが、その不在です。
このリポジトリにはクライアント側の機能が含まれています。任意のコマンドをラップし、
開始時刻、終了コード、トレースを報告する lastping CLI と、
AI エージェントが自身の監視を設定・確認できる MCP サーバーです。これらが接続する
ホステッドサービスは lastping.dev にあり、個人は無料で利用できます。
クイックスタート
# 1. Install the CLI (macOS and Linux, amd64 and arm64)
curl -fsSL https://raw.githubusercontent.com/lastping-dev/lastping-app/main/install.sh | sh
# 2. Wrap a job: a start ping, your command untouched, then its exit code
lastping run --monitor <monitor-id> -- ./backup.sh
# 3. Or give your AI assistant the hosted MCP server, and sign in
https://mcp.lastping.dev/mcp
app.lastping.dev でモニターを作成し、その ID を取得するか、 MCP 経由でアシスタントに作成を依頼してください。各クライアントの接続手順は lastping.dev/mcp/ にあります。
インストール
curl -fsSL https://raw.githubusercontent.com/lastping-dev/lastping-app/main/install.sh | sh
Go ツールチェーンは不要です。macOS と Linux 向けの amd64 および arm64 対応の ビルド済みバイナリをダウンロードし、チェックサムを検証します。Windows ビルドは リリースページ にあります。
Go をお持ちの場合:
go install github.com/lastping-dev/lastping-app/cmd/lastping@latest
lastping run — 忘れずにレポート
今使っているコマンドの前に追加するだけです。
lastping run --monitor <monitor-id> -- python nightly_etl.py
lastping run --monitor <monitor-id> -- ./backup.sh
lastping run --monitor <monitor-id> -- claude
開始時に ping を送信し、コマンドには手を加えずに実行して、終了時に終了コードを報告します。終了コードが 0 なら成功、それ以外なら失敗として通知し、stderr の末尾も添付するため、アラートで失敗の理由がわかります。
本番環境で信頼できる監視用ラッパーと、ひどい夜のあとに削除してしまうラッパーを分ける、知っておきたい3つの特性があります。
- 終了コードは必ず引き継がれます。 ラッパーはコマンドの終了コードで終了するため、追加する前と同じように CI が動作します。
- ping の失敗がコマンドに影響することはありません。 LastPing に接続できなくても、ジョブは実行され、出力を書き込み、通常どおり終了します。
- 対話操作はそのまま行えます。 stdin と stdout はファイルディスクリプターとして引き渡されるため、REPL やエージェントのセッションをラップしても動作します。
指示ではなく、なぜラッパーなのでしょうか? 指示のようなものは、いずれ守られなくなるからです。あらゆるタスクの報告を指示された AI エージェントも、やがて報告しなくなります。また、curl を追加するつもりだった cron の行も、そのまま追加されないことがあります。ラッパーはプロセスのライフサイクルに基づいて報告するため、誰かの記憶に頼る必要がありません。
トレース
lastping run は、ラップしたコマンドの OpenTelemetry エクスポーターを、そのコマンドの環境内だけで常に設定します。そのため、自動計装されたエージェントはコードを変更せずに独自のトレーススパンをエクスポートできます。
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT—LASTPING_API_KEYが設定されていない場合は、ヘッダー不要のモニター URL 形式(<ping url>/v1/traces)を使うため、ヘッダーを付けられないエクスポーターでも認証できます。設定されている場合は、ping ホストの/v1/traces(Bearer 形式)を使います。OTEL_RESOURCE_ATTRIBUTES—lastping.monitor_id=<id>,lastping.run_id=<rid>を既存の設定に追加するため、トレースのスパンが周囲の ping で報告されたものと同じ実行に紐づきます。OTEL_EXPORTER_OTLP_HEADERS—LASTPING_API_KEYが設定されていて、この変数を自分で設定していない場合に限り、Authorization=Bearer <your key>を設定します。
すでに設定されているものがあれば、3つの変数のいずれも変更しません。キーは ping の認証には使用されません。上記のとおり、ping URL は設計上、認証不要のままです。
MCP サーバー — エージェントに監視を設定させる
Claude Desktop 拡張機能
macOS と Windows の Claude Desktop にワンクリックでインストールでき、キーはシステムのキーチェーンに保管されます。Node.js は不要です。
- lastping.mcpb をダウンロードします。
- ダブルクリックすると、Claude Desktop にインストールダイアログが表示されます。
- app.lastping.dev の「設定」の「API キー」から、書き込みスコープのキーを貼り付けます。
この拡張機能は、以下に記載するこのリポジトリの stdio バイナリをコンピューター上で実行します。バージョンにタグを付けると mcpb/build.sh によってビルドされ、すべてのリリースに署名されます。署名のないバンドルがリリースされることはなく、署名できない場合はリリースビルドに失敗します。証明書は自己署名のため、Claude Desktop では拡張機能が未検証として表示されます。それでも、署名によって、このバンドルがこのリポジトリのリリースパイプラインから取得されたものであり、署名後に改変されていないことを確認できます。署名用シークレットを指定せずに mcpb/build.sh でローカルビルドした場合は署名されず、その旨が表示されます。MCPB_CERT_CA_ISSUED は、将来、公開 CA が発行する証明書を使用するために保持されています。
mcp-remote ブリッジ経由での Claude Desktop
Claude Desktop の設定ファイルで実行できるのはローカルプログラムのみのため、LastPing は
mcp-remote ブリッジ経由で接続します。これを claude_desktop_config.json に追加してください
(macOS:~/Library/Application Support/Claude/、Windows:%APPDATA%\Claude\)。
{
"mcpServers": {
"lastping": {
"command": "/ABSOLUTE/PATH/TO/npx",
"args": [
"-y", "mcp-remote",
"https://mcp.lastping.dev/mcp",
"--header", "Authorization:${LASTPING_AUTH}"
],
"env": {
"PATH": "/FOLDER/THAT/HOLDS/npx:/usr/bin:/bin",
"LASTPING_AUTH": "Bearer lp_your_key"
}
}
}
}
- Node.js が必要です。Claude Desktop はシェルの PATH を読み込まないため、フルパスを指定してください。ターミナルで
which npxを実行し、その結果をcommandに設定します(nvm を使っている場合は/Users/you/.nvm/versions/node/v22.11.0/bin/npxのようになります)。また、そのフォルダーをenvのPATHの先頭に設定してください。 - Claude Desktop を終了して再度開いてください。設定ファイルは起動時にのみ読み込まれます。 Settings、Connectors の順に開くと、lastping が表示されます。
- キーを使わない場合は、代わりに LastPing をカスタムコネクターとして追加してください(Customize、
Connectors、Add custom connector の順に選択し、
https://mcp.lastping.dev/mcpを貼り付けます)。 その後、ブラウザーで LastPing にサインインしてください。同じコネクターを claude.ai、 Claude モバイルアプリ、Cowork で利用できます。
その他のクライアント
Claude Code はブリッジなしで直接接続します:
claude mcp add --transport http --scope user lastping https://mcp.lastping.dev/mcp --header "Authorization: Bearer <key>"。
Cursor、Windsurf、Codex CLI、Gemini CLI、その他のクライアントについては、
lastping.dev/mcp/#connect をご覧ください。
ホスト型サーバーの利用が推奨される方法で、常に最新のツールセットが提供されます。ほとんどのクライアントは、URL を追加して LastPing にサインインするだけで接続でき、インストールは不要です。Cursor と Windsurf では、URL と API キーを使います。キーを使う場合、Claude Desktop は上記の拡張機能または mcp-remote ブリッジ経由で接続します。
自分で実行したい場合は、stdio バイナリもこちらから利用できます:
go install github.com/lastping-dev/lastping-app/cmd/lastping-mcp@latest
このリポジトリの stdio バイナリに含まれるツール(50)
モニター:create_monitor · get_monitor · list_monitors ·
update_monitor · delete_monitor · pause_monitor · resume_monitor ·
snooze_monitor
検出:discover_monitors_reconcile
レポート:get_ping_instructions · declare_run_expectations
インシデントと実行:list_incidents · get_run_history · get_run
(1 回の実行の全タイムライン、アサーションの判定、スパン) · list_runs
(すべてのモニターを対象とした実行。トレースされた実行も含み、フィルターを指定可能) ·
get_incident(1 件のインシデントで記録されたタイムライン)
トレーシング:get_trace_setup(サーバーから取得する、1 つのツールのセットアップ手順) ·
create_ingest_key(1 つのモニターに紐付けられたトレーシングキー。書き込みキーで
十分です) · get_trace_diagnostics(送信されたスパンが拒否された理由)
エージェントのオブザーバビリティ:get_agent_dependencies · get_agent_usage ·
list_dependencies · list_discovered_agents · adopt_discovered_agent
障害対応ループ:list_open_incidents · add_incident_note
アラートのルーティング:set_route · delete_route
配信ログ:list_deliveries、すべてのモニターにわたる最近のアラート配信。ページングなし
宛先:list_destinations · create_destination ·
update_destination · test_destination · delete_destination
アラートテンプレート:get_alert_templates · set_alert_template
エージェントレジストリ:register_agent · list_agents · get_agent ·
update_agent · delete_agent
ステータスページ:list_status_pages · create_status_page ·
update_status_page · delete_status_page
API キー:create_api_key(任意の scope:read / write / admin / ingest) ·
list_api_keys · regenerate_api_key(同じキーの新しいシークレット。カスケードしません) · revoke_api_key(作成したすべてのキーにカスケードします)
Terraform:export_terraform
このバイナリには、mcp.lastping.dev のホスト型サーバーと同じツールセットが含まれています。全体を通じて薄い REST クライアントとして動作します。すべてのツールが管理 API を直接 HTTP 呼び出しするため、自分で実行しても無料で利用でき、新しいリリースが出るまではホスト型環境との差もありません。
最も重要なのは get_ping_instructions です。エージェントは create_monitor を呼び出した後、自分用の ping コマンドを取得し、それを自分の作業に組み込みます。ダッシュボードを人間が開くことなく、1 回の会話で完了します。
Ping API
各モニターには URL が割り当てられます。インストールも、最新の状態に保つライブラリも不要です。HTTP リクエストを送信できるものであれば、何でも報告できます。
| 発生したこと | リクエスト |
|---|---|
| 正常に完了した | POST <ping-url> |
| 実行を開始した | POST <ping-url>/start |
| 失敗した | エラーを本文にして POST <ping-url>/fail |
| 終了コードを指定して終了した | POST <ping-url>/<exit-code> |
| 人による対応を待っている | POST <ping-url>/blocked |
| 記録する価値のある進捗があった | POST <ping-url>/note |
?rid=<id> を追加すると、実行の開始と結果を対応付けられるため、LastPing は実行の ping をまとめて所要時間を計測できます。
# The classic one-liner, at the end of a cron job:
curl -fsS -m 10 --retry 3 https://ping.lastping.dev/<monitor-id>
トレース
POST https://ping.lastping.dev/v1/traces は、OTLP/HTTP エクスポート(application/x-protobuf または application/json。gzip に対応)を受け付けます。Bearer キー(モニターに紐付けられた ingest キー。create_ingest_key で作成)を使用します。書き込みキーまたは管理者キーも使用できます。ヘッダーを設定できないエクスポーターの場合は、POST <ping-url>/v1/traces を使用します。スパンにはリソース属性 lastping.monitor_id が必要です。lastping.run_id がある場合はその実行に紐付けられ、ない場合はトレースごとに独立した実行になります。ペイロードの上限は、展開後で 1 MiB、1 リクエストあたり 500 スパン、1 実行あたり 2,000 スパンです。lastping run を使うと、これらすべてを設定できます。上記のトレースを参照してください。
コードによるモニタリング
resource "lastping_monitor" "nightly_etl" {
name = "nightly-etl"
slug = "nightly-etl"
schedule_kind = "cron"
cron_expr = "0 3 * * *"
tz = "Europe/Berlin"
grace_s = 900
}
プロバイダーは
Terraform Registry
で lastping-dev/lastping として公開されており、ソースは
lastping-dev/terraform-provider-lastping にあります。
リンク
- lastping.dev — 個人向けに無料で利用できるホステッドサービス
- AI agent monitoring — エージェントを第一に考えたガイド
- MCP server — クライアントごとの設定を接続
- Terraform provider — コードによるモニタリング
- Integration guides — cron、Kubernetes、systemd、GitHub Actions、Python、Node
ライセンス
MIT。詳細は LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。