LastPing

dev.lastping由 lastping.dev 發布官方發布者v0.2.2更新於 Oct 24, 2026

AI agent monitoring: alerts when your agents fail, stall or need you

已驗證Streamable HTTP可網頁執行雲端與基礎設施開發者工具安全與監控

概覽

AI 產生的概覽

LastPing 是託管監控服務,其 MCP 伺服器讓 AI 助理為代理和任務建立、檢視並管理簽到監控、事件與告警。

可以做什麼
建立、檢視、更新、暫停、暫停提醒和刪除監控,並探索既有監控以便與助理自身設定核對。取得回報指示並宣告執行預期,讓代理把回報接入自身工作流程。檢視事件、執行歷史、單次執行的時間軸與跨度,列出未解決事件並加入備註。設定追蹤:取得追蹤設定步驟、建立綁定至監控的擷取金鑰、診斷被拒絕的跨度。管理告警路由、目標、告警範本、投遞日誌、狀態頁和 API 金鑰,並將設定匯出為 Terraform。註冊和追蹤代理及其相依性與用量,並採納已探索的代理。
適用情境
當你執行 AI 代理、排程工作或 CI/CD 流程,並希望在它們失敗、停滯、等待核准或從未啟動時收到告警時使用。也適合讓助理在一次對話中自行設定和檢視監控,而不必開啟儀表板。
執行需求
透過 streamable HTTP 連線至 mcp.lastping.dev 的遠端 MCP 端點,使用 OAuth 登入或攜帶 LastPing API 金鑰的 Authorization 標頭。需要 LastPing 帳號,金鑰在應用程式設定中建立。部分用戶端需要 mcp-remote 橋接和 Node.js,或 Claude Desktop 擴充功能。也提供可自行執行的 stdio 二進位檔。
安裝前請注意
Authorization 標頭攜帶 LastPing API 金鑰,README 建議使用寫入權限金鑰;可透過工具建立、重新產生和撤銷金鑰,撤銷會串聯至它建立的金鑰。許多工具會寫入、變更或刪除資料,包括監控、目標、狀態頁、代理和告警路由。服務為託管式,監控和執行資料會傳送至 lastping.dev。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 LastPing,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/dev.lastping%2Flastping/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "lastping": {
      "type": "http",
      "url": "https://mcp.lastping.dev/mcp"
    }
  }
}

README

[LastPing. AI agent monitoring: alerts when your agents fail, stall or need you. Also cron jobs and CI/CD. Free for individuals.]

[Website] [MCP server docs] [API docs] [Status]

[Release] [License: MIT] [Go 1.26] [Terraform: lastping-dev/lastping] [Free for individuals]

LastPing alerts you when your AI agents fail, stall, wait for your approval or never start, and watches the cron jobs and CI/CD pipelines around them. Free for individuals.

Most monitoring watches a thing and tells you when it looks wrong. LastPing waits for a thing to check in and tells you when it doesn't. That inversion is the whole product: a job that breaks can't send you an error, but it can fail to send you anything, and absence is the one signal a broken process can still produce.

This repository holds the client pieces: the lastping CLI, which wraps any command and reports its start, exit code and traces, and the MCP server, which lets an AI agent set up and read its own monitoring. The hosted service they talk to is at lastping.dev, free for individuals.

Quick start

sh
# 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 codelastping run --monitor <monitor-id> -- ./backup.sh
text
# 3. Or give your AI assistant the hosted MCP server, and sign inhttps://mcp.lastping.dev/mcp

Create the monitor, and get its id, at app.lastping.dev, or let your assistant do it over MCP. Connect steps for each client are at lastping.dev/mcp/.

Install

sh
curl -fsSL https://raw.githubusercontent.com/lastping-dev/lastping-app/main/install.sh | sh

No Go toolchain needed — that pulls a prebuilt binary for macOS and Linux, on amd64 and arm64, and verifies its checksum. Windows builds are on the releases page.

If you do have Go:

sh
go install github.com/lastping-dev/lastping-app/cmd/lastping@latest

lastping run — reporting you can't forget

Put it in front of whatever you already run:

sh
lastping run --monitor <monitor-id> -- python nightly_etl.pylastping run --monitor <monitor-id> -- ./backup.shlastping run --monitor <monitor-id> -- claude

It sends a start ping, runs your command untouched, and reports the exit code when it finishes — success on 0, failure on anything else, with the tail of stderr attached so the alert says why.

Three properties worth knowing, because they are the difference between a monitoring wrapper you can trust in production and one you remove after a bad night:

  • Your exit code always propagates. The wrapper exits with whatever your command exited with, so CI behaves exactly as it did before you added it.
  • A failed ping never touches your command. If LastPing is unreachable, your job still runs, still writes its output, still exits normally.
  • Interactive stays interactive. stdin and stdout are handed over as file descriptors, so wrapping a REPL or an agent session works.

Why a wrapper rather than an instruction? Because anything advisory decays. An AI agent told to report on every task will stop doing it, and a cron line you meant to add a curl to never gets it. A wrapper reports from the process lifecycle, so nothing depends on anybody remembering.

Traces

lastping run always configures your wrapped command's OpenTelemetry exporter, in its environment only, so an auto-instrumented agent can export its own trace spans with no code change:

  • OTEL_EXPORTER_OTLP_TRACES_ENDPOINT — the header-free monitor-URL form (<ping url>/v1/traces) when LASTPING_API_KEY is not set, so a headerless exporter can still authenticate; the ping host's /v1/traces (the Bearer form) when it is set.
  • OTEL_RESOURCE_ATTRIBUTES — lastping.monitor_id=<id>,lastping.run_id=<rid> appended to whatever you already set, so a trace's spans join the same run the surrounding pings report.
  • OTEL_EXPORTER_OTLP_HEADERS — Authorization=Bearer <your key>, only when LASTPING_API_KEY is set and you have not already set that variable yourself.

Any of the three you already set is left alone. The key is never used to authenticate a ping; the ping URL stays unauthenticated by design, as above.

MCP server — let an agent set up its own monitoring

Claude Desktop extension

A one-click install for Claude Desktop on macOS and Windows that keeps your key in the system keychain. It needs no Node.js.

  1. Download lastping.mcpb.
  2. Double-click it; Claude Desktop opens its install dialog.
  3. Paste a write-scope key from Settings, API keys at app.lastping.dev.

The extension runs this repository's stdio binary (below) on your computer. It is built by mcpb/build.sh when a version is tagged, and every release is signed; the release build fails rather than ship an unsigned bundle. The certificate is self-signed, so Claude Desktop shows the extension as unverified. The signature still proves the bundle came from this repository's release pipeline and was not altered after it was signed. A local build of mcpb/build.sh without the signing secrets is unsigned and says so. MCPB_CERT_CA_ISSUED is kept for a future certificate from a public CA.

Claude Desktop through the mcp-remote bridge

Claude Desktop's config file runs local programs only, so LastPing connects through the mcp-remote bridge. Add this to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

json
{  "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"      }    }  }}
  • Needs Node.js. Claude Desktop does not read your shell's PATH, so give it the full path: run which npx in a terminal and put the result in command (with nvm it looks like /Users/you/.nvm/versions/node/v22.11.0/bin/npx), and its folder at the front of PATH in env.
  • Quit and reopen Claude Desktop; it reads the file only at start-up. Settings, Connectors then lists lastping.
  • Without a key, add LastPing as a custom connector instead (Customize, Connectors, Add custom connector, then paste https://mcp.lastping.dev/mcp) and sign in to LastPing in the browser. The same connector covers claude.ai, the Claude mobile apps and Cowork.

Other clients

Claude Code connects directly, no bridge: claude mcp add --transport http --scope user lastping https://mcp.lastping.dev/mcp --header "Authorization: Bearer <key>". Cursor, Windsurf, Codex CLI, Gemini CLI and other clients: lastping.dev/mcp/#connect.

The hosted server is the recommended path, and it always carries the current tool set. Most clients connect by adding the URL and signing in to LastPing, with nothing to install; Cursor and Windsurf use the URL and an API key. With a key, Claude Desktop connects through the extension or the mcp-remote bridge above.

A stdio binary is also here if you would rather run it yourself:

sh
go install github.com/lastping-dev/lastping-app/cmd/lastping-mcp@latest
Tools in this repository's stdio binary (50)

Monitors: create_monitor · get_monitor · list_monitors · update_monitor · delete_monitor · pause_monitor · resume_monitor · snooze_monitor

Discovery: discover_monitors_reconcile

Reporting: get_ping_instructions · declare_run_expectations

Incidents & runs: list_incidents · get_run_history · get_run (one run's full timeline, assertion verdicts and spans) · list_runs (runs across every monitor, traced runs included, with filters) · get_incident (one incident's recorded timeline)

Tracing: get_trace_setup (the set-up steps for one tool, from the server) · create_ingest_key (a tracing key bound to one monitor; a write key is enough) · get_trace_diagnostics (why a sent span was refused)

Agent observability: get_agent_dependencies · get_agent_usage · list_dependencies · list_discovered_agents · adopt_discovered_agent

The failure loop: list_open_incidents · add_incident_note

Alert routing: set_route · delete_route

Delivery log: list_deliveries, recent alert deliveries across every monitor, no paging

Destinations: list_destinations · create_destination · update_destination · test_destination · delete_destination

Alert templates: get_alert_templates · set_alert_template

Agent registry: register_agent · list_agents · get_agent · update_agent · delete_agent

Status pages: list_status_pages · create_status_page · update_status_page · delete_status_page

API keys: create_api_key (optional scope: read / write / admin / ingest) · list_api_keys · regenerate_api_key (new secret, same key; does not cascade) · revoke_api_key (cascades to every key it created)

Terraform: export_terraform

This binary carries the same tool set as the hosted server at mcp.lastping.dev. It is a thin REST client throughout: every tool is a direct HTTP call to the management API, so it stays free to run yourself with no lag behind the hosted surface beyond a new release.

The one that matters most is get_ping_instructions: an agent calls create_monitor, then asks for its own ping commands, and wires them into its own work — in one conversation, without a human opening a dashboard.

Ping API

Every monitor gets a URL. There is nothing to install and no library to keep current; anything that can make an HTTP request can report.

What happenedRequest
finished successfullyPOST <ping-url>
started a runPOST <ping-url>/start
failedPOST <ping-url>/fail with the error as the body
exited with a codePOST <ping-url>/<exit-code>
waiting on a humanPOST <ping-url>/blocked
progress worth recordingPOST <ping-url>/note

Add ?rid=<id> to pair a run's start with its result, so LastPing can group a run's pings and time it.

sh
# The classic one-liner, at the end of a cron job:curl -fsS -m 10 --retry 3 https://ping.lastping.dev/<monitor-id>

Traces

POST https://ping.lastping.dev/v1/traces accepts an OTLP/HTTP export (application/x-protobuf or application/json, gzip accepted) with a Bearer key (an ingest key bound to the monitor, from create_ingest_key; a write or admin key also works), or POST <ping-url>/v1/traces for exporters that cannot set headers. Spans need the resource attribute lastping.monitor_id; with lastping.run_id they join that run, and without it each trace becomes a run of its own. A payload is capped at 1 MiB decompressed, 500 spans per request and 2,000 spans per run. lastping run sets all of this up for you — see Traces above.

Monitoring as code

hcl
resource "lastping_monitor" "nightly_etl" {  name          = "nightly-etl"  slug          = "nightly-etl"  schedule_kind = "cron"  cron_expr     = "0 3 * * *"  tz            = "Europe/Berlin"  grace_s       = 900}

The provider is on the Terraform Registry as lastping-dev/lastping, with source at lastping-dev/terraform-provider-lastping.

Links

License

MIT. See LICENSE.

來源:README.md,提交 253f01a

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

4
  1. v0.2.2最新Oct 13, 2026
  2. v0.2.1Oct 13, 2026
  3. v0.2.0Oct 2, 2026
  4. v0.1.0Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分