Lock tools

The MCP server exposes acquire_lock, get_lock_ticket, heartbeat_lock_ticket, and release_lock_ticket.

Learn the ownership boundaries in the Lease locks guide, then see how duplicate responders coordinate.
{
  "lock_name": "deploy",
  "request_uuid": "e41b7608-1fe8-4f54-a5f3-67e8605f480c",
  "lease_seconds": 60,
  "wait_seconds": 30,
  "repo": "teams/platform/app"
}

Omit both team and repo for your user scope. Pass the returned ticket_uuid, same lock_name, and same scope to poll, heartbeat, or release.

heartbeat_lock_ticket accepts lease_seconds from 5-300 and defaults to 60.

Waiters are FIFO and report exact queue position. A promoted holder receives a globally increasing fence token. Use it as an atomic stale-writer check in the protected system; Pearing does not terminate external work when a lease expires.