{"data":{"name":"com.botrecipe/handoff","title":"Handoff Watch","description":"Spots stalled agent-to-agent tasks and nudges or reassigns them. Works beside Offhand.","version":"1.0.0","websiteUrl":"https://handoff.cloudforbots.com","repositoryUrl":null,"remotes":[{"url":"https://handoff.cloudforbots.com/mcp","type":"streamable-http"}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-15T18:47:22.003Z","updatedAt":"2026-10-15T18:47:22.003Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"stars":null,"title":"Handoff Watch","source":"official-registry","sourceId":"com.botrecipe/handoff","updatedAt":"2026-10-15T18:47:22.003Z","confidence":100,"websiteUrl":"https://handoff.cloudforbots.com","description":"Spots stalled agent-to-agent tasks and nudges or reassigns them. Works beside Offhand.","verification":"official","repositoryUrl":null}],"toolIndex":{"tools":[{"serverName":"com.botrecipe/handoff","endpointFingerprint":"8d2fd0ca71d0bb7600e7b76fb77429439d77bb023155e18f73e75eb1b84dc071","name":"nudge_log","title":null,"description":"List the latest nudges and reassigns (Pro) or would-nudges (free) for one board or all boards on your key.","inputSchema":{"type":"object","properties":{"board":{"type":"string","description":"A stable name for this task list, e.g. \"offhand\" or \"team-ops\". Cooldowns and the escalation ladder are tracked per board."}}},"annotations":null,"definitionHash":"c6c63d87637ca7cc7bc2b9f87e399a4aa81198767891f9872c5c86d63ab5917f","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T02:46:44.889Z","metadataTrust":"untrusted"},{"serverName":"com.botrecipe/handoff","endpointFingerprint":"8d2fd0ca71d0bb7600e7b76fb77429439d77bb023155e18f73e75eb1b84dc071","name":"scan_handoffs","title":null,"description":"Pass the tasks your agents handed each other (e.g. the result of Offhand list_todos) and get back which are stalled or failing and what to do. A task is stalled when it is claimed (in_progress) or handed over but untouched for stall_minutes, and failing when it is blocked or has failed fail_limit times. Ladder: nudge the assignee, nudge again, then reassign to a backup agent (or ask the person). Pro acts: records each nudge with a cooldown so nobody is pinged twice, and POSTs the nudge to the agent's webhook if you give one. Free watch-only takes no action and returns would_nudge / would_reassign. It never changes a task in Offhand itself and never takes a task another agent holds; reassigning returns an Offhand add_task call for your agent to make.","inputSchema":{"type":"object","properties":{"board":{"type":"string","description":"A stable name for this task list, e.g. \"offhand\" or \"team-ops\". Cooldowns and the escalation ladder are tracked per board."},"tasks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","description":"Offhand status: open, in_progress, blocked, done, need_review (also accepts todo, claimed, failed)."},"assignedTo":{"type":"string","description":"Agent the task was handed to (alias: assignee)."},"updatedAt":{"type":"string","description":"ISO time of the last status change or note (alias: updated_at)."},"idle_minutes":{"type":"number","description":"Instead of updatedAt: minutes since the last activity."},"failures":{"type":"integer","description":"Failed attempts so far (optional)."},"backup":{"type":"string","description":"Agent that may take it over (optional)."}},"required":["id"]},"description":"Up to 200 tasks."},"stall_minutes":{"type":"integer","description":"Minutes without activity before a task counts as stalled. Default 60."},"fail_limit":{"type":"integer","description":"Failures before a task counts as failing. Default 2."},"nudges_before_reassign":{"type":"integer","description":"Nudges before suggesting a reassign. Default 2."},"backup_agent":{"type":"string","description":"Default agent to hand stalled work to."},"webhooks":{"type":"object","description":"Optional map of agent name to an https URL that wakes it (Pro posts nudges there)."}},"required":["tasks"]},"annotations":null,"definitionHash":"78ca7d3be0dfac40af727882a8b14f0d536db875c7032e6a666bcc95999abc1e","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T02:46:44.889Z","metadataTrust":"untrusted"},{"serverName":"com.botrecipe/handoff","endpointFingerprint":"8d2fd0ca71d0bb7600e7b76fb77429439d77bb023155e18f73e75eb1b84dc071","name":"usage_and_upgrade","title":null,"description":"Show today's usage for your key or IP and the $9/month upgrade link. Free tier: 500 calls/day. Not metered.","inputSchema":{"type":"object","properties":{}},"annotations":null,"definitionHash":"28044d2ab8c9e856e03ce27e0d428b0e51a18f8458306c7f594f1dc5d1d637af","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T02:46:44.889Z","metadataTrust":"untrusted"},{"serverName":"com.botrecipe/handoff","endpointFingerprint":"8d2fd0ca71d0bb7600e7b76fb77429439d77bb023155e18f73e75eb1b84dc071","name":"weekly_report","title":null,"description":"Draft a plain-English report of the last 7 days: stalled tasks found, nudges and reassigns made (Pro) or that would have been made (free). Read-only; sends nothing.","inputSchema":{"type":"object","properties":{}},"annotations":null,"definitionHash":"9965f95e4f81bb68f9af5467fa358332ed72550339abb8b4a07665f3fc7b6a6b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-03T02:46:44.889Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"8d2fd0ca71d0bb7600e7b76fb77429439d77bb023155e18f73e75eb1b84dc071","protocol":"streamable-http","status":"indexed","toolCount":4,"observedAt":"2026-11-03T02:46:44.889Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"com.botrecipe/handoff":{"url":"https://handoff.cloudforbots.com/mcp"}}},"Cursor":{"mcpServers":{"com.botrecipe/handoff":{"url":"https://handoff.cloudforbots.com/mcp"}}},"VS Code":{"servers":{"com.botrecipe/handoff":{"type":"http","url":"https://handoff.cloudforbots.com/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://handoff.cloudforbots.com/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:com.botrecipe%2Fhandoff","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/com.botrecipe%2Fhandoff","name":"com.botrecipe/handoff","description":"Spots stalled agent-to-agent tasks and nudges or reassigns them. Works beside Offhand.","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://handoff.cloudforbots.com/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://handoff.cloudforbots.com","repositoryUrl":null,"version":"1.0.0"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"com.botrecipe/handoff","status":"online","lastCheckedAt":"2026-11-03T20:16:41.900Z","lastSuccessfulCheck":"2026-11-03T20:16:41.900Z","latencyMs":176,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T20:16:41.900Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T20:16:41.900Z"},"security":null,"timestamps":{"createdAt":"2026-10-15T18:47:22.003Z","updatedAt":"2026-10-15T18:47:22.003Z","observedAt":"2026-11-03T20:16:41.900Z"},"compatibility":{"serverVersion":"1.0.0","protocolVersions":[{"protocol":"mcp","version":null}]}}}}