Skip to content
LastPing

Free for individuals

Your agent sets up its own monitor. You hear when it goes quiet.

The dead man's switch for everything that runs without you, including your AI agents. An autonomous agent is the new cron job: its worst failures are silent, the process alive and the work stopped. LastPing is the first monitor your agent can set up itself, via MCP, in one conversation.

Set up with your AI assistant

  1. npx skills add lastping-dev/skills
  2. Ask: Monitor this project with LastPing

What LastPing catches for agents

Agents fail silently, for the same reasons cron jobs do. The same durable detection engine: deadlines in the database, never in-memory timers.

Silent death

The agent exits without a success or fail ping. No signal in the window opens an incident.

Hung runs

A start ping, then no success or fail within the grace window.

Stalled runs

Progress steps stop. Opt in with step_timeout_s; the incident names the last step.

Explicit failures

A POST to /fail opens an incident with the error attached.

A success that did nothing

An assertion on the ping body fails the run and opens an incident. Up to 20 per monitor.

A success it did not earn

The agent commits to its criteria with declare_run_expectations before it sees the outcome.

Runaway spend

A ceiling on cost_usd or tokens over a trailing window, up to seven days.

Scheduled runs that stop

No run signal in the expected cron window opens an incident.

The next successful ping closes the incident and sends a recovery notice.

Guides: Claude Code notifications, Codex, Cursor, Claude scheduled tasks and routines, stuck or hanging agents, and n8n, Zapier and Make workflows.

How a run reports

One run is one task. An agent reports start when it picks one up, and success or fail when it reports back.

  • blocked: it is waiting on you to approve, supply a credential or decide.
  • /step catches a long run that stopped making progress, and names the step.
  • Traced runs show spans, tokens and estimated cost.
curl -fsS https://ping.lastping.dev/<id>/start?rid=$RID   # picked up a task
curl -fsS https://ping.lastping.dev/<id>?rid=$RID         # finished it
curl -fsS -d "$ERR" https://ping.lastping.dev/<id>/fail?rid=$RID
curl -fsS -d "needs approval" https://ping.lastping.dev/<id>/blocked?rid=$RID
A demo with sample data.

Trace every run, down to the last token

Point an agent's OpenTelemetry export at LastPing and each run arrives with its model calls, tool calls, tokens and API cost.

  • get_trace_setup returns the steps for Claude Code, Codex, Gemini CLI, Cursor, a Python or Node agent, any OpenTelemetry SDK or a Collector.
  • create_ingest_key mints an ingest-scoped key for automation that stores the key itself: it can send telemetry for one monitor and call no API.
  • get_trace_diagnostics says why traces did or did not arrive.

Trace your agents

Transcript

  1. Trace every agent run, down to the last token.
  2. Your agents set up their own monitoring. MCP, Terraform, or the API.
  3. When a run fails, LastPing opens the incident.
  4. And the next run reads what broke, and writes it back.
  5. LastPing. Free for individuals.

The next run reads what broke, and writes it back

When a run fails, LastPing opens the incident. At the start of its next run the agent reads its inbox with list_open_incidents: how many times that exact failure has recurred, the step it died on, the exit code, and its duration against its own normal.

  • add_incident_note writes the agent's diagnosis back onto the incident a human reads, whether or not it fixed the problem.
  • Register an agent once and every monitor it owns rolls up into one live state, worst first.
# The next run starts by reading what broke while it was not running:
list_open_incidents({ "agent_id": "<agent-id>" })
→ failure_signature.occurrences, the step it died on,
  the exit code, its duration against its own normal

# Fixed or not, it writes its diagnosis back:
add_incident_note({ "incident_id": <id>, "body": "…" })

Connect your agent in about a minute

Hosted and remote at https://mcp.lastping.dev/mcp. Most clients sign in to LastPing, with nothing to install and no key to keep; Windsurf uses an API key.

With the set-up skill

  1. npx skills add lastping-dev/skills
  2. Ask: Monitor this project with LastPing

It connects LastPing with you and creates monitors only when you agree.

Or connect over MCP yourself:

  1. Connect LastPing over MCP and sign in

    Create a free account at app.lastping.dev. In Claude Code, run this in a terminal, then type /mcp, choose lastping and sign in:

    claude mcp add --transport http --scope user lastping https://mcp.lastping.dev/mcp

    Then ask the agent to create a monitor for itself: get_ping_instructions tells it how to report.

The full reference: app.lastping.dev/docs/api/, or machine-readable in agents.md.

Questions

What AI agent failures does LastPing detect?

LastPing detects eight classes of agent failure: silent death (the agent process ends without reporting), hangs (the agent started but never finished within the expected window), stalled runs (the agent started, reported progress steps, and then stopped making progress; opt-in via step_timeout_s; leave it unset and the monitor behaves exactly as before), explicit failures (the agent POSTs the error body to /fail), a run blocked on a human (the agent reports it cannot continue until a person acts; if nobody does before the blocked timeout, 24 hours by default, an incident opens), scheduled agent runs that silently stop firing, a success that did nothing (the run exits zero but its output fails an assertion on the ping body: a substring, a regex, or a JSON path compared against a value; the incident quotes what it got against what it expected), and runaway spend (a number reported in the ping body, such as cost_usd or tokens, exceeds a ceiling over a trailing window of up to seven days, aggregated as sum, max or avg). The last two evaluate the ping body against a rule; the rest are explicit signals or outside-in liveness checks: no SDK required inside the agent.

How does an AI agent set up its own LastPing monitor?

Connect the lastping-mcp server, hosted at mcp.lastping.dev, where you sign in, or self-host the Go binary. In one conversation, tell the agent to create a monitor for itself: it calls create_monitor to register a heartbeat, then get_ping_instructions, which returns reporting_options and three ways to report, chosen by what the agent is, not ranked: the manual curl snippets (the universal default: any agent, any language, any tool), run_wrapper (wrap a command with lastping run, for anything launched as one), or hook_install (an optional shortcut for Claude Code, or for Codex with tool codex), and wires in whichever fits. The whole loop (create, instrument, verify) takes one conversation and zero dashboards.

Do I need an SDK or library inside the agent?

No. The ping API is plain HTTP, a curl GET or POST from any language or shell. The MCP server is for creating and managing monitors, not for pinging them. Once a monitor exists, the agent pings by making a plain HTTP request, no dependency, no import.

Is LastPing free for monitoring AI agents?

Yes. LastPing is free for individuals, no monitor cap, no feature gate. A paid team tier may be introduced later for teams running fleets of agents. Every monitor type is available at no cost.

How is this different from LLM-observability tools like LangSmith?

LLM-observability tools (LangSmith, Langfuse, AgentOps, Coralogix AI Center) instrument inside the agent, traces, token counts, evals, guardrails, and answer "is the output good?" LastPing is outside-in and answers "did the agent run at all, finish in time, and not loop forever?" Those are different questions. LastPing requires no SDK; any agent that can make an HTTP request can use it.

What MCP tools does lastping-mcp expose?

Fifty tools. They create and manage monitors; read runs and incidents, including the failure loop in which an agent reads what broke and writes a note back; set up alert destinations and routing; run status pages; register agents; manage API keys; and set up and diagnose traces. The full list, tool by tool, is at https://lastping.dev/mcp/#tools.

Which MCP clients does lastping-mcp support?

The hosted server at https://mcp.lastping.dev/mcp speaks Streamable HTTP. The Claude apps (claude.ai, Claude Desktop, mobile, Cowork) connect from LastPing's listing in the Claude Connectors Directory, https://claude.ai/directory/lastping; Claude Code, ChatGPT developer mode, Cursor, VS Code, Codex and Antigravity CLI connect by signing in to LastPing; Windsurf connects with an API key. The stdio binary works in any client that runs local MCP servers. Steps per client: Connect your client.

Start monitoring in minutes

Free for individuals. One URL to ping, or let your AI assistant set it up.