Tasks Tools
The Tasks suite gives agents a durable control plane for long-running work. When a tool call is promoted to the background, DataGrout returns a task_ref instead of forcing the caller to wait inline. The Tasks tools let the caller poll, inspect, retrieve, and cancel that work.
Why it exists
Autonomous systems regularly trigger work that may outlive a single MCP response:
- multi-step plans that need more than one round-trip
- slow upstream APIs
- workflows waiting on approval or feedback
- jobs intentionally detached from the inline response path
Rather than losing that work, DataGrout persists a task record and exposes it through four first-party tools.
Tools
tasks.status
Check the current state of a task by task_ref.
Use it when:
- you want to know whether a promoted task is still running
- you need the current status message or poll interval
- you want to confirm whether the task finished, failed, or was cancelled
Example:
{
"name": "data-grout@1/tasks.status@1",
"arguments": {
"task_ref": "task_abc123"
}
}
tasks.list
List recent background tasks for the current server context.
Use it when:
- you lost the original response but want to rediscover active tasks
- you want to review recent background activity
-
you want to locate a task before calling
tasks.statusortasks.result
Example:
{
"name": "data-grout@1/tasks.list@1",
"arguments": {}
}
tasks.result
Fetch the final result payload for a completed task.
Use it when:
-
tasks.statusshows the task is completed - you want the background result without re-running the original tool
Example:
{
"name": "data-grout@1/tasks.result@1",
"arguments": {
"task_ref": "task_abc123"
}
}
tasks.cancel
Cancel a running background task.
Use it when:
- the user no longer wants the result
- the task is stale or no longer relevant
Example:
{
"name": "data-grout@1/tasks.cancel@1",
"arguments": {
"task_ref": "task_abc123"
}
}
MCP timeout promotion
The MCP gateway can automatically promote work to a background task shortly before the protocol timeout wall. In that case, the inline response includes a task_ref and instructs the caller to poll with Tasks tools.
Typical flow:
- Call a long-running tool.
-
Receive a response saying the work was moved to the background, with a
task_ref. -
Poll
tasks.status. -
Call
tasks.resultwhen the task is complete.
Composing with other suites
-
Use with
flow.intowhen a workflow may outlive a single inline response. -
Use with
discovery.performwhen an execution plan is promoted to background work. -
Use with
schedulerandgovernorto inspect or cancel long-lived autonomous activity from another session.