mcpField
L
LastPing

LastPing

已认证精选远程服务
lastping.dev开发工具31 周前更新

关于 LastPing

LastPing 通过检测缺少签到及已报告的故障,监控 AI Agent、定时任务和 CI/CD 流水线。其 CLI 可包装命令,MCP 服务则让 Agent 配置监控并查看运行记录、事件和追踪。

主要功能

  1. 01命令包装器报告启动与退出状态
  2. 02监测缺失签到
  3. 03通过 MCP 管理监控与事件
  4. 04查看运行历史和追踪
  5. 05配置告警路由与状态页

适用场景

  1. 01监控夜间备份或 ETL 任务
  2. 02发现停滞或等待审批的 Agent
  3. 03让 Agent 自行创建监控项
  4. 04查看失败运行的时间线与追踪

MCP 相关

MCP 服务提供工具,供 Agent 创建和管理监控项、查询运行及事件详情、检查追踪并配置告警。服务提供托管端点或 stdio 二进制版本。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.lastping.dev/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

LastPing。AI Agent 监控:当你的 Agent 失败、停滞或需要你时发出提醒。还支持 cron 任务和 CI/CD。个人用户免费。

网站 MCP 服务文档 API 文档 状态

版本发布 许可证:MIT Go 1.26 Terraform:lastping-dev/lastping 个人用户免费

LastPing 会在你的 AI Agent 失败、停滞、等待你批准或始终未启动时发出提醒,还会监控相关的 cron 任务和 CI/CD 流水线。个人用户免费。

大多数监控会关注某项任务,并在发现异常时通知你。LastPing 则会等待任务报到,并在它没有报到时通知你。这种反转就是产品的核心:出故障的任务无法向你发送错误信息,但可以不发送任何信息,而缺席是故障进程仍能发出的唯一信号。

此仓库包含客户端组件:lastping CLI 可包装任意命令,并报告其启动情况、退出代码和跟踪信息;MCP 服务则让 AI Agent 能够设置并查看自己的监控。它们连接的托管服务位于 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 末尾内容,让告警说明原因。

以下三项值得了解,因为它们决定了这个监控包装器能否在生产环境中值得信赖,还是会在某个糟糕的夜晚后被你移除:

  • 你的退出代码始终会传递。 包装器会以你的命令退出时使用的代码退出,因此 CI 的行为和添加包装器之前完全一致。
  • ping 失败绝不会影响你的命令。 如果 LastPing 无法访问,你的任务仍会运行、仍会写入输出,也仍会正常退出。
  • 交互体验保持不变。 stdin 和 stdout 会作为文件描述符传递,因此用包装器运行 REPL 或 Agent 会话也可行。

为什么要用包装器,而不是一条指示?因为任何建议性的做法都会逐渐失效。告诉 AI Agent 每项任务都要报告,它最终会不再这么做;你打算添加 curl 的 cron 条目,也可能一直没加上。包装器会根据进程生命周期发送报告,因此不依赖任何人记得去做。

追踪

lastping run 始终只在被包装命令的环境中配置其 OpenTelemetry 导出器,因此自动插桩的 Agent 无需修改代码,就能导出自己的追踪跨度:

  • 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>。

你已设置的上述三个变量中的任何一个都会保持原样。该密钥绝不会用于 ping 身份验证;如上所述,ping URL 按设计保持无需身份验证。

MCP 服务 — 让 Agent 自行为自己设置监控

Claude Desktop 扩展

适用于 macOS 和 Windows 上 Claude Desktop 的一键安装方式,密钥会保存在系统钥匙串中。无需 Node.js。

  1. 下载 lastping.mcpb。
  2. 双击该文件;Claude Desktop 会打开安装对话框。
  3. 粘贴从 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 不会读取 shell 的 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 (单次运行的完整时间线、断言判定和跨度)· list_runs (所有监控器的运行,包含追踪运行,并支持筛选)· get_incident(单个事件的记录时间线)

追踪:get_trace_setup(服务器为某个工具提供的设置步骤)· create_ingest_key(绑定到单个监控器的追踪密钥;写入密钥即可)· get_trace_diagnostics(已发送的跨度被拒绝的原因)

Agent 可观测性: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

Agent 注册表: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,因此你可以免费自行运行,且除非发布新版本,否则其功能始终与托管服务保持同步。

最重要的是 get_ping_instructions:Agent 调用 create_monitor,然后获取自己的 ping 命令,并将其接入自己的工作流程——一段对话即可完成,无需人工打开仪表板。

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>
Traces

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。Span 需要包含资源属性 lastping.monitor_id;若包含 lastping.run_id,则会关联到该运行;若不包含,则每条 trace 都会成为独立运行。解压后的载荷上限为 1 MiB,每个请求最多 500 个 Span,每次运行最多 2,000 个 Span。lastping run 会为你完成所有设置——详见上文的 Traces。

将监控作为代码管理

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

该 Provider 已发布在 Terraform Registry 上,名称为 lastping-dev/lastping,源代码位于 lastping-dev/terraform-provider-lastping。

链接

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。