fleet_heartbeat

Pack: fleet · Endpoint: https://gateway.pipeworx.io/fleet/mcp

Extend your claim on a task and report worker health. Call this at long steps of the work — a claim that stops beating is treated as a dead worker and the task returns to the queue for someone else.

Parameters

NameTypeRequiredDescription
task_idnumberyesThe task you hold.
actorstringyesYou, as ‘session-name@host (lane)’. Must match the current holder.
ttl_secondsnumbernoFresh lifetime from now, max ${MAX_TTL_SECONDS}. Default ${DEFAULT_TTL_SECONDS}.
notestringnoWhat you are working on right now — becomes the log line a human reads when a task looks stuck.
budget_healthstringno’ok’, or a note like ‘rate-limited’ / ‘auth-expiring’. This is how budget pressure and auth lapses become visible before they become outages.

Example call

Arguments

{
  "task_id": 1,
  "actor": "warren@laptop (backend)"
}

curl

curl -X POST https://gateway.pipeworx.io/fleet/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"fleet_heartbeat","arguments":{"task_id":1,"actor":"warren@laptop (backend)"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('fleet_heartbeat', {
  "task_id": 1,
  "actor": "warren@laptop (backend)"
});

More examples

{
  "task_id": 1,
  "actor": "warren@laptop (backend)",
  "ttl_seconds": 3600,
  "note": "Applying the migration, then smoke-testing.",
  "budget_health": "ok"
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "fleet": {
      "url": "https://gateway.pipeworx.io/fleet/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build August 4, 2026