Handoff Watch

Spots stalled agent-to-agent tasks and nudges or reassigns them. Works beside Offhand.

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
95%
Integridad del esquema
63%
Calidad de los nombres
80%
Riesgo de envenenamiento
80%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'scan_handoffs' description contains placeholder texten scan_handoffs
  • INFOTool description contains placeholder or incomplete texten scan_handoffs

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~767Tokens (definiciones de herramientas)
~1.3 KBTamaño de respuesta típico
Impacto moderado en la atención (0.60% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "handoff": {
      "url": "https://handoff.cloudforbots.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://handoff.cloudforbots.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (4)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡scan_handoffs(board, tasks, stall_minutes, fail_limit, nudges_before_reassign, ...)

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.

Esquema de entrada

{
  "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"
  ]
}
🟢nudge_log(board)

List the latest nudges and reassigns (Pro) or would-nudges (free) for one board or all boards on your key.

Esquema de entrada

{
  "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."
    }
  }
}
🟢weekly_report

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.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢usage_and_upgrade

Show today's usage for your key or IP and the $9/month upgrade link. Free tier: 500 calls/day. Not metered.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada4 herramientas