Skip to content

Task programs: assign, claim, complete, delegate

The Task Verbs assign, claim, complete, delegate as MCP do programs, with inputs, result, refusals and an example.

Reference for Task, one group of Task programs.

Task.assign

Assign gives a Task to a Worker, human or agent, and places it in that Worker’s worklist. Verb page.

Text
do: return await $.Task.assign(input)

Emits Task.assigned.

Inputs

InputTypeRequiredDescription
taskTaskrequiredThe Task to assign.
workerWorkerrequiredThe Worker who takes it.

Returns

OutputTypeRequiredDescription
taskTaskrequiredThe assigned Task.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Task.assign({ task: 'task_tVPKjporKn', worker: 'worker_whZFpOKWIV' })"
  }
}

Task.claim

Claim takes an offered Task from a shared queue or a handoff and makes the calling Worker its assignee. Verb page.

Text
do: return await $.Task.claim(input)

Emits Task.claimed.

Inputs

InputTypeRequiredDescription
taskTaskrequiredThe offered Task.

Returns

OutputTypeRequiredDescription
taskTaskrequiredThe Task, assigned to the caller.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Task.claim({ task: 'task_tVPKjporKn' })"
  }
}

Task.complete

Complete marks a Task done and resumes the Action that waited on it. Verb page.

Text
do: return await $.Task.complete(input)

Emits Task.completed.

Inputs

InputTypeRequiredDescription
taskTaskrequiredThe assigned Task.
resultjsonWhat the Worker produced.

Returns

OutputTypeRequiredDescription
taskTaskrequiredThe completed Task.

Refuses when

CheckErrorFixThen call
The input does not match the schema of the operation.invalid-inputRead the schema of the operation, then send every required field with the right type.None.
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Task.complete({ task: 'task_tVPKjporKn' })"
  }
}

Task.delegate

Delegate passes a Task to another Role along a declared handoff and keeps its history. Verb page.

Text
do: return await $.Task.delegate(input)

Emits Task.delegated.

Inputs

InputTypeRequiredDescription
taskTaskrequiredThe Task to pass on.
roleRolerequiredThe Role that receives it.

Returns

OutputTypeRequiredDescription
taskTaskrequiredThe Task, held by the new Role.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Task.delegate({ task: 'task_tVPKjporKn', role: 'role_oloMFMUeCH' })"
  }
}