mcpserver.lol
registry/agent-continuity
Connection check verified live · 20h ago

agent-continuity

Resume the work, not the conversation. A checkpoint by one model is resumable by another.

Tools 33
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 20h ago

Tools & capabilities

33 tools

Read from the running server on 20h ago.

barrier_create agent_keymin_countobjectivebarrier_id*ttl_secondsparticipants +3
Fan work out to N agents and have the LAST one to finish wake the joiner. FREE. A BARRIER THAT WAITS FOR ALL N IS A HANG WAITING TO HAPPEN, so stragglers are the normal case here,…
barrier_signal payloadagent_keybarrier_id*participant_id*
Report that one participant finished, optionally attaching a payload the joiner will receive. FREE and IDEMPOTENT PER PARTICIPANT — the same participant_id signalling twice counts…
barrier_status agent_keybarrier_id*
Progress on a join point: how many of the expected participants have signalled, which ones, who is still outstanding, and whether the completion or timeout envelope has been queued…
budget_check limitscope*agent_keywindow_seconds
What this unit of work has actually cost across every session, with a per-label breakdown and a lifetime total. If a limit is set (or you pass one here) we report over_limit — WE R…
budget_record labellimitscope*agent_keyamount_usdc*ttl_seconds
An agent cannot see its own spend across sessions, so runaway cost is invisible until the bill arrives. Append one amount to this scope's ledger. FREE and APPEND-ONLY — nothing is…
checkpoint_get read-only scope*agent_key
Fetch the last checkpoint verbatim — what was stored, with no briefing composed around it. Most callers want resume_packet instead, which folds in what arrived while you were gone…
checkpoint_put bodystepfilesrisksscope*state +17
Save where the work got to, in a STRUCTURED shape so the next invocation can actually act on it. FREE. `objective` and `next_action` are REQUIRED and a checkpoint without them is r…
claim key*scopeagent_keyttl_seconds
Exactly-once guard for work that costs money or has side effects. The first call for a key returns granted:true and is FREE. Every later call for that key returns granted:false wit…
complete key*result*statusagent_key
Attach the outcome to an idempotency CLAIM you hold — NOT for finishing a mailbox task (use inbox_ack) or a queue item (use work_done). A later duplicate attempt then receives your…
heartbeat scope*disarmagent_idagent_keyon_expirynotify_address +1
AN AGENT CANNOT DETECT ITS OWN DEATH — from the inside, 'I stopped' and 'I am about to do the next step' are the same thing. Only something outside the process can tell them apart.…
inbox_ack can modify data resultstatustask_id*agent_key
Acknowledge a task you finished. FREE and idempotent — acking twice is not an error. If the task was a repeating schedule, the next occurrence is queued now. An optional opaque res…
inbox_nack task_id*agent_keydelay_seconds
Explicitly return a claimed task to the queue instead of waiting for its visibility timeout, optionally deferring it. FREE. Redelivery of the same task_id is always free, so handin…
inbox_poll boxagent_keyvisibility_timeout_seconds
Collect the next due task envelope from your mailbox. One envelope per call. The item is claimed with a visibility timeout: ack it when done, or it returns to the queue for another…
inbox_schedule boxscopedue_atcontexthistorypriority +9
Leave work for your own next invocation — the same as send() addressed to yourself. FREE. No callback URL is required or accepted: agents are not web services and mostly have no en…
job_cancel can modify data job_id*reasonagent_key
There is otherwise NO WAY TO TELL FIVE RUNNING AGENTS TO STOP — they finish and bill you for work you no longer want. This sets a durable stop flag on the job. FREE and idempotent.…
lease key*fencescopeholder*agent_keyttl_seconds
Mutual exclusion so two instances of the same agent do not both process one item. Returns acquired:true with a fence token (FREE), or acquired:false naming the current holder and w…
lease_release can modify data key*fence*holder*agent_key
Release a lease you hold so the next worker can take it immediately instead of waiting for the TTL. FREE. If you no longer hold it we REFUSE rather than free someone else's lock: a…
lease_renew key*fence*holder*agent_keyttl_seconds
Extend a lease you still hold, using the fence token you were given. FREE. Fails (renewed:false) if the lease expired or was taken by someone else — treat that as having lost the l…
register agent_idagent_secret
Create a durable identity for an agent. Returns an agent_secret (the only credential; store it in the agent's configuration the way you would an API key — an amnesiac agent cannot…
resume_packet read-only boxscope*agent_keymax_events
THE HEADLINE TOOL. Returns a briefing, not an archive: objective, last verified state, what arrived while you were gone, the single next action, files, risks, open questions, tools…
retry_state key*scoperecordagent_keyttl_seconds
Durable retry bookkeeping, so backoff survives the session that died. Returns the attempt count, first and last attempt times, and a deterministic suggested backoff. Pass record:tr…
seen_add set*items*scopeagent_keyttl_seconds
Record items you have already processed. FREE. Items are stored ONLY as salted SHA-256 digests — we can test membership but cannot read, list or reconstruct what you deduped. A set…
seen_check read-only set*items*agent_key
Given a batch of items, return only the ones not already in the set — the work you actually still have to do. $0.002 ONLY when we filter at least one item out, because that is the…
send to*scopedue_atcontexthistorypriority +9
Agent-to-agent mail. Queue a rich task envelope addressed to any registered agent so it finds the work waiting whenever it next starts. Nobody waits and nobody polls. FREE. You may…
should_continue job_id*agent_key
The check a worker makes between items. $0.002 ONLY WHEN THE ANSWER IS 'no' — that is the call that saved you money, and the first caller told to stop is the only one billed for it…
watermark_get read-only stream*agent_key
Fetch the position you last recorded for a stream, so you can ask an upstream only for what is new. $0.002 ONLY when a watermark exists AND its position has moved since you last pa…
watermark_set scopestream*position*agent_keyttl_seconds
Record how far you got through a stream, feed or table so the next invocation knows where to start. FREE. The position is an opaque string we store verbatim and never interpret. FR…
whoami read-only agent_key
Report this namespace's public address, registration time, and mailbox counts: how many items exist, how many are due right now, when the next one falls due, and how many are dead-…
work_done can modify data fenceresultitem_id*queue_id*agent_key
Complete an item you hold. FREE. If your lease already expired and the item went back to the queue we REFUSE with lease_lost rather than accepting a result from a worker that no lo…
work_fail can modify data errorfenceretryitem_id*queue_id*agent_key
Report that an item did not work out. FREE. THIS IS ALSO THE CORRECT WAY TO HAND AN ITEM BACK WHEN NOTHING WENT WRONG — there is no work_release; retry:true (the default) returns i…
work_push items*queue_id*agent_keyttl_secondsmax_attempts
THE ALTERNATIVE TO THIS IS WRITING DISTRIBUTED WORK-DISTRIBUTION CODE YOURSELF — assignment, collision avoidance, lease expiry, retry, dead-worker recovery, straggler policy. Push…
work_status queue_id*agent_keydead_page_tokenresults_page_token
Turn a fan-out from a black box into something you can act on: how many items are pending, leased, done, failed and dead-lettered, the results collected so far, and every dead lett…
work_take nholderqueue_id*agent_keylease_seconds
Take up to n items, LEASED not deleted — the same lease semantics as lease()/renew()/release(): a holder, a fence token, an expiry. Two workers can never be handed the same item, b…