Handoff Watch
Server Details
Spots stalled agent-to-agent tasks and nudges or reassigns them. Works beside Offhand.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a distinguishable role: scan_handoffs performs the analysis/action, nudge_log returns the raw history of nudges, weekly_report summarizes the past week, and usage_and_upgrade covers billing. The main overlap is between nudge_log and weekly_report, which both report on nudges/reassigns, though one is a raw log and the other a narrative summary.
scan_handoffs and nudge_log loosely follow a verb_noun pattern, but usage_and_upgrade and weekly_report are noun phrases with different conventions. All are snake_case and readable, but there is no single predictable scheme across the set.
Four well-scoped tools fit a focused handoff-monitoring service: detect, log, report, and billing. It is slightly thin, but each tool earns its place with no redundancy.
The core lifecycle is covered: scan_handoffs detects stalled/failing tasks and produces actions, nudge_log shows history, weekly_report summarizes, and usage_and_upgrade handles billing. Minor gaps exist around configuring thresholds/webhooks or resolving tasks, but the primary workflows are supported.
Available Tools
4 toolsnudge_logAInspect
List the latest nudges and reassigns (Pro) or would-nudges (free) for one board or all boards on your key.
| Name | Required | Description | Default |
|---|---|---|---|
| board | No | A stable name for this task list, e.g. "offhand" or "team-ops". Cooldowns and the escalation ladder are tracked per board. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that output differs by plan tier — reassigns exist on Pro while free keys see 'would-nudges' — which is real behavioral context. However, it says nothing about auth/permissions, pagination, limits, or ordering semantics of 'latest'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence beginning with the verb, with no filler or repetition. Every clause contributes (resource, tier behavior, scoping), so it is efficient if slightly dense with parentheticals.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-param, read-only list tool with no output schema, the description covers what is returned, the tier-dependent variation, and the scoping behavior. Return format and pagination are omitted but are minor given the tool's simplicity and sibling context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100% and the single board param is fully documented in the schema. The description only adds the implicit note that omitting board means 'all boards', which is marginal value over structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (nudges and reassigns / would-nudges) with the scope of boards covered. It is clear what the tool returns, but it does not distinguish itself from any sibling (scan_handoffs, usage_and_upgrade, weekly_report), even implicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for one board or all boards' implies the board parameter scopes the query, but there is no explicit when-to-use guidance, no stated prerequisites or exclusions, and no reference to sibling tools for overlapping logging/reporting needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_handoffsAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| board | No | A stable name for this task list, e.g. "offhand" or "team-ops". Cooldowns and the escalation ladder are tracked per board. | |
| tasks | Yes | Up to 200 tasks. | |
| webhooks | No | Optional map of agent name to an https URL that wakes it (Pro posts nudges there). | |
| fail_limit | No | Failures before a task counts as failing. Default 2. | |
| backup_agent | No | Default agent to hand stalled work to. | |
| stall_minutes | No | Minutes without activity before a task counts as stalled. Default 60. | |
| nudges_before_reassign | No | Nudges before suggesting a reassign. Default 2. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full behavioral burden and does so well: it never mutates tasks in Offhand, never takes work another agent holds, records nudges with a cooldown so agents aren't pinged twice, POSTs to an agent webhook when one is supplied, and returns would_nudge/would_reassign in free watch-only mode. These are exactly the side-effect constraints an agent needs before invoking a tool that triggers nudges.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is dense but front-loaded: what you feed in and get back comes first, then the stalled/failing semantics, then the ladder, then the Pro/free and safety limits. Every sentence carries behavioral information, though the run-on structure could be tightened into shorter clauses.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with nested objects and no output schema, the description covers the key return information (which tasks are stalled/failing, what to do, would_nudge/would_reassign in free mode) and the mutation boundary. It stops short of describing the response object's structure, which is a noticeable gap given no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds conceptual meaning the schema does not: board scopes cooldowns and the escalation ladder, stall_minutes and fail_limit are tied to the stalled/failing definitions, and webhooks are explained as nudge targets. It does not define formats for the nested task fields beyond what the schema says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource+scope: pass in the tasks agents handed each other and get back which are stalled/failing plus recommended actions. It is clearly distinct from the siblings (nudge_log, usage_and_upgrade, weekly_report), and it even names the upstream source (Offhand list_todos) and the downstream artifact it returns (an Offhand add_task call).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete definitions of when a task qualifies as stalled (claimed/untouched for stall_minutes) or failing (blocked or fail_limit hits), and describes the escalation ladder and the Pro vs free watch-only split. It never explicitly states when to prefer this over nudge_log or other siblings, so no exclusions are offered, but the operating conditions are unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usage_and_upgradeAInspect
Show today's usage for your key or IP and the $9/month upgrade link. Free tier: 500 calls/day. Not metered.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the burden. It adds useful context: free tier of 500 calls/day, not metered. However, it doesn't state whether the call itself counts toward quota, rate limits, or whether the upgrade link is static/dynamic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no waste. The primary output is stated first, followed by the supporting quota context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param, no-output-schema read tool, the description covers what is returned (usage and upgrade link) and the quota context. It lacks detail on return format, but that's minor given the simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so baseline is 4. The description correctly indicates the scope is implicit (your key or IP), needing no input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Show') and resource ('today's usage for your key or IP') plus a secondary output (the upgrade link). It's clearly distinguishable from siblings like budget_status and weekly_report which deal with budgets/reports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage via 'today's usage' and the free-tier context, but no explicit when-to-use or when-not-to-use versus siblings like budget_status or weekly_report. The agent must infer that this is a quick self-check rather than a budget query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
weekly_reportAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does well: 'Read-only; sends nothing' explicitly rules out side effects, which matters for a tool named 'report' that an agent might otherwise fear sends email. It also discloses tier-dependent behavior (Pro vs free output). Missing only ancillary traits like whether the draft is persisted or returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence: purpose first, contents second via a compact colon list, safety caveat last. Every clause earns its place with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, no-output-schema tool the description covers scope, content, tier behavior, and side-effect profile. The only gap is what the returned draft actually looks like or where it goes, which the absence of an output schema leaves slightly open.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is nothing for the description to disambiguate. Baseline 4 applies; the description adds the implicit 'last 7 days' window as the fixed scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Draft a plain-English report of the last 7 days') and enumerates the report's contents (stalled tasks, nudges, reassigns), which implicitly separates it from the nudge_log sibling. It does not, however, explicitly name or contrast itself with any sibling tool, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool is useful (a weekly roll-up of the last 7 days) and notes the Pro/free tier difference in what it reports. It never says when to prefer this over nudge_log or scan_handoffs, nor states any prerequisites, so usage guidance remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
nudge_log - First observed
scan_handoffs - First observed
usage_and_upgrade - First observed
weekly_report
Related MCP Connectors
Shared task layer for AI agents: tasks, handoffs and decisions that persist across tools.
Shared task queue for humans and AI agents: leases, handoffs, approvals and signed receipts.
The backlog that hands out the work: multi-agent task coordination — leases, claims, gates.
Task-first cross-agent collaboration for discussions, review, referrals, and reusable knowledge.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceEnables agents to register tasks, dispatch work under explicit caller/owner credentials, amend goals, report and deliver results, read outstanding records, and manage task dependencies through a structured SQLite-backed coordination service. Ships paired collaboration skills for discussing parties and executing owners, keeping a single canonical task identity so work boards reflect the latest reports without monitoring or auto-dispatch.-
- AlicenseAqualityFmaintenanceLets MCP clients manage the hearthsmith task store—listing, adding, completing, blocking, and snoozing tasks—and read recent nags so coding agents can pick up and respond to the blacksmith's reminders.6MIT
- AlicenseNot gradedqualityCmaintenanceLets AI agents in different harnesses hand each other concrete tasks, claim and report on them, and continue after restarts via a live dashboard and unattended workers.MIT
- AlicenseNot gradedqualityCmaintenanceEnables an agent client to build a single-day shop handover plan and check whether entered tasks have coverage, surfacing exact time overlaps and other blockers that prevent a workable handover. Supports version-checked assignment, simulated helper acceptance, cancellation, time correction, and scope confirmation, reopening affected duties when a helper drops out while leaving the rest intact.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.