Skip to main content
Glama

Create task

task_create

File a task in a workspace (workspaceId), or under a task as its child (parentId alone: the parent's workspace), for a person or an agent (assignee), reviewed by a person or an agent (reviewer; it may be the assignee). Name an agent as agent:, a handle from workspace_load agents. links are the files and pages the work uses (context links: an artifact in this workspace, by id or page URL, optionally at a version, or a url). type (what kind of work) and step (where it is in your workspace's workflow) are free tags agents filter on; labels (at most 20) group work in your person's own words (client:acme, campaign.q4). Tokenrip never interprets labels, nor type and step outside a job with task definitions. job names the standing job the task serves, by its name from workspace_load jobs. A job with task definitions holds its tasks to its types and steps and fills the defaults: the type when it has only one, the first main step (a word outside them is INVALID_INPUT naming the field and its available values). Returns a bounded receipt; task_get retrieves all details.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "title": "<title>"
    },
    "name": "task_create"
  }
}

Input Schema

NameRequiredDescriptionDefault
dueNo
jobNoThe job this task serves, by name (from workspace_load jobs): a live job of this workspace. A job with task definitions holds the task to its types and steps.
whyNoRequired for workspace items: one sentence on what the person is trying to accomplish, in their terms, not a description of this edit. Every workspace write takes one; sessions and summaries record themselves from it. At most 300 characters.
bodyNo
stepNoWhich step of your workspace's own workflow it is at (draft, review, post): a tag you filter on. Under a job with task definitions it is one of its definition's steps, any of them (the first main step when none is given); otherwise Tokenrip never interprets it.
typeNoWhat kind of work it is (blog-post, x-reply): a tag you filter on. Your person's instructions can let you carry out a type on your own. Under a job with task definitions it is one of the job's types (filled when the job has one); otherwise Tokenrip never interprets it.
linksNoFiles and pages the work uses (context links). At most 50 per call and 100 per role per task; each is { artifact, version? } (an artifact in this workspace, by id or page URL; version a number or a version id) or { url } (at most 255 characters); a target already linked is left as it is.
titleYes
labelsNoLabels for the task: your own words for grouping work. Each label is lowercase letters, digits, -, _, : and ., starting with a letter or a digit, at most 64 characters (client:acme, campaign.q4); at most 20. Labels group work; Tokenrip never interprets them.
payloadNo
assigneeNoA person (account id, alias or @alias) or one agent as agent:<handle>, a handle from workspace_load agents; they must be able to edit tasks in this workspace.
parentIdNoA task this one belongs under; its workspace is the new task's (omit workspaceId).
reviewerNoWho decides its proposal; it may be the assignee, never the proposer. A person (account id, alias or @alias) or one agent as agent:<handle>, a handle from workspace_load agents; they must be able to edit tasks in this workspace.
workspaceIdNoThe workspace (its id or its slug): name it, or name parentId instead.

Output Schema

NameRequiredDescriptionDefault
taskYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / properties / assignee / description
      Previous value: -"A person (account id, alias or @alias) or one agent as agent:<handle>, a handle from workspace_load agents; they must be able to edit tasks in the task's audience."New value: +"A person (account id, alias or @alias) or one agent as agent:<handle>, a handle from workspace_load agents; they must be able to edit tasks in this workspace."
    • removedInput schema / properties / audience
      Removed value: -{
      -  "description": "Who in the workspace sees it: internal (the default for internal members) or shared (external editors file shared tasks only).",
      -  "enum": [
      -    "internal",
      -    "shared"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / properties / job / description
      Previous value: -"The job this task serves, by name (from workspace_load jobs): a live job of this workspace. Jobs are internal: only internal members name one. A job with task definitions holds the task to its types and steps."New value: +"The job this task serves, by name (from workspace_load jobs): a live job of this workspace. A job with task definitions holds the task to its types and steps."
    • changedInput schema / properties / reviewer / description
      Previous value: -"Who decides its proposal; it may be the assignee, never the proposer. A person (account id, alias or @alias) or one agent as agent:<handle>, a handle from workspace_load agents; they must be able to edit tasks in the task's audience."New value: +"Who decides its proposal; it may be the assignee, never the proposer. A person (account id, alias or @alias) or one agent as agent:<handle>, a handle from workspace_load agents; they must be able to edit tasks in this workspace."
  2. Changed8 schema fields changed
    • addedInput schema / properties / job
      Added value: +{
      +  "description": "The job this task serves, by name (from workspace_load jobs): a live job of this workspace. Jobs are internal: only internal members name one. A job with task definitions holds the task to its types and steps.",
      +  "pattern": "^[a-z0-9][a-z0-9-_]{0,63}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / labels
      Added value: +{
      +  "description": "Labels for the task: your own words for grouping work. Each label is lowercase letters, digits, -, _, : and ., starting with a letter or a digit, at most 64 characters (client:acme, campaign.q4); at most 20. Labels group work; Tokenrip never interprets them.",
      +  "items": {
      +    "pattern": "^[a-z0-9][a-z0-9._:-]{0,63}$",
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • changedInput schema / properties / step / description
      Previous value: -"Which step of your workspace's own workflow it is at (draft, review, post): a free tag you filter on; Tokenrip never interprets it."New value: +"Which step of your workspace's own workflow it is at (draft, review, post): a tag you filter on. Under a job with task definitions it is one of its definition's steps, any of them (the first main step when none is given); otherwise Tokenrip never interprets it."
    • changedInput schema / properties / type / description
      Previous value: -"What kind of work it is (blog-post, x-reply): a free tag you filter on; Tokenrip never interprets it. Your person's instructions can let you carry out a type on your own."New value: +"What kind of work it is (blog-post, x-reply): a tag you filter on. Your person's instructions can let you carry out a type on your own. Under a job with task definitions it is one of the job's types (filled when the job has one); otherwise Tokenrip never interprets it."
    • addedOutput schema / properties / task / properties / job
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "id": {
      +          "format": "uuid",
      +          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "name"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / task / properties / labels
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / task / properties / latestRound / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "number": {
      -        "exclusiveMinimum": 0,
      -        "maximum": 9007199254740991,
      -        "type": "integer"
      -      },
      -      "outcome": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "approved",
      -              "sent_back",
      -              "cancelled",
      -              "withdrawn",
      -              "replaced"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "number",
      -      "outcome"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "number": {
      +        "exclusiveMinimum": 0,
      +        "maximum": 9007199254740991,
      +        "type": "integer"
      +      },
      +      "outcome": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "approved",
      +              "sent_back",
      +              "cancelled",
      +              "withdrawn",
      +              "replaced"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Deprecated: the same value as verdict; removed when the window round-outcome-field-window closes."
      +      },
      +      "verdict": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "approved",
      +              "sent_back",
      +              "cancelled",
      +              "withdrawn",
      +              "replaced"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "number",
      +      "verdict",
      +      "outcome"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / task / required
      Previous value: -[
      -  "id",
      -  "status",
      -  "type",
      -  "step",
      -  "holder",
      -  "assignee",
      -  "reviewer",
      -  "createdBy",
      -  "completedBy",
      -  "parentId",
      -  "latestRound",
      -  "result",
      -  "cancelledById",
      -  "cancelledAt",
      -  "cancelReason"
      -]New value: +[
      +  "id",
      +  "status",
      +  "type",
      +  "step",
      +  "labels",
      +  "job",
      +  "holder",
      +  "assignee",
      +  "reviewer",
      +  "createdBy",
      +  "completedBy",
      +  "parentId",
      +  "latestRound",
      +  "result",
      +  "cancelledById",
      +  "cancelledAt",
      +  "cancelReason"
      +]
  3. Changed5 schema fields changed
    • changedOutput schema / properties / task / properties / assignee / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "alias": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "id": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "alias"
      -        ],
      -        "type": "object"
      -      },
      -      "agent": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "harness": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "id": {
      -                "anyOf": [
      -                  {
      -                    "format": "uuid",
      -                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "name": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "name",
      -              "harness"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "isCaller": {
      -        "type": "boolean"
      -      },
      -      "mine": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "account",
      -      "agent",
      -      "mine",
      -      "isCaller"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "alias": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "former": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "id": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "alias"
      +        ],
      +        "type": "object"
      +      },
      +      "agent": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "harness": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "id": {
      +                "anyOf": [
      +                  {
      +                    "format": "uuid",
      +                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "name": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "name",
      +              "harness"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "isCaller": {
      +        "type": "boolean"
      +      },
      +      "mine": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "account",
      +      "agent",
      +      "mine",
      +      "isCaller"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / task / properties / completedBy / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "alias": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "id": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "alias"
      -        ],
      -        "type": "object"
      -      },
      -      "agent": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "harness": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "id": {
      -                "anyOf": [
      -                  {
      -                    "format": "uuid",
      -                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "name": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "name",
      -              "harness"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "isCaller": {
      -        "type": "boolean"
      -      },
      -      "mine": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "account",
      -      "agent",
      -      "mine",
      -      "isCaller"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "alias": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "former": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "id": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "alias"
      +        ],
      +        "type": "object"
      +      },
      +      "agent": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "harness": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "id": {
      +                "anyOf": [
      +                  {
      +                    "format": "uuid",
      +                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "name": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "name",
      +              "harness"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "isCaller": {
      +        "type": "boolean"
      +      },
      +      "mine": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "account",
      +      "agent",
      +      "mine",
      +      "isCaller"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / task / properties / createdBy / properties / account / properties / former
      Added value: +{
      +  "const": true,
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / task / properties / holder / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "alias": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "id": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "alias"
      -        ],
      -        "type": "object"
      -      },
      -      "agent": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "name": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "name"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "heldByCaller": {
      -        "type": "boolean"
      -      },
      -      "inBrowser": {
      -        "type": "boolean"
      -      },
      -      "leaseExpiresAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "mine": {
      -        "type": "boolean"
      -      },
      -      "since": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -        "type": "string"
      -      },
      -      "surface": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "account",
      -      "agent",
      -      "surface",
      -      "inBrowser",
      -      "since",
      -      "leaseExpiresAt",
      -      "mine",
      -      "heldByCaller"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "alias": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "former": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "id": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "alias"
      +        ],
      +        "type": "object"
      +      },
      +      "agent": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "name": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "name"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "heldByCaller": {
      +        "type": "boolean"
      +      },
      +      "inBrowser": {
      +        "type": "boolean"
      +      },
      +      "leaseExpiresAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "mine": {
      +        "type": "boolean"
      +      },
      +      "since": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +        "type": "string"
      +      },
      +      "surface": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "account",
      +      "agent",
      +      "surface",
      +      "inBrowser",
      +      "since",
      +      "leaseExpiresAt",
      +      "mine",
      +      "heldByCaller"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / task / properties / reviewer / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "account": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "alias": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "id": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "alias"
      -        ],
      -        "type": "object"
      -      },
      -      "agent": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "harness": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "id": {
      -                "anyOf": [
      -                  {
      -                    "format": "uuid",
      -                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "name": {
      -                "anyOf": [
      -                  {
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "name",
      -              "harness"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "isCaller": {
      -        "type": "boolean"
      -      },
      -      "mine": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "account",
      -      "agent",
      -      "mine",
      -      "isCaller"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "account": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "alias": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "former": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "id": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "alias"
      +        ],
      +        "type": "object"
      +      },
      +      "agent": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "harness": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "id": {
      +                "anyOf": [
      +                  {
      +                    "format": "uuid",
      +                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "name": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "name",
      +              "harness"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "isCaller": {
      +        "type": "boolean"
      +      },
      +      "mine": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "account",
      +      "agent",
      +      "mine",
      +      "isCaller"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  4. Changed11 schema fields changed
    • removedInput schema / properties / kind
      Removed value: -{
      -  "pattern": "^[a-z0-9][a-z0-9-_]{0,63}$",
      -  "type": "string"
      -}
    • addedInput schema / properties / links
      Added value: +{
      +  "description": "Files and pages the work uses (context links). At most 50 per call and 100 per role per task; each is { artifact, version? } (an artifact in this workspace, by id or page URL; version a number or a version id) or { url } (at most 255 characters); a target already linked is left as it is.",
      +  "items": {
      +    "anyOf": [
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "artifact": {
      +            "description": "An artifact in the task's workspace: its id or its page URL (a version page's URL names that version).",
      +            "type": "string"
      +          },
      +          "version": {
      +            "anyOf": [
      +              {
      +                "exclusiveMinimum": 0,
      +                "maximum": 9007199254740991,
      +                "type": "integer"
      +              },
      +              {
      +                "format": "uuid",
      +                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +                "type": "string"
      +              }
      +            ],
      +            "description": "A version of that artifact: its number, or its version id. Omit to mean whatever is current."
      +          }
      +        },
      +        "required": [
      +          "artifact"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "additionalProperties": false,
      +        "properties": {
      +          "url": {
      +            "description": "A web address, at most 255 characters.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "url"
      +        ],
      +        "type": "object"
      +      }
      +    ]
      +  },
      +  "maxItems": 50,
      +  "type": "array"
      +}
    • changedInput schema / properties / reviewer / description
      Previous value: -"Who decides its proposal, never the assignee. A person (account id, alias or @alias) or one agent as agent:<handle>, a handle from workspace_load agents; they must be able to edit tasks in the task's audience."New value: +"Who decides its proposal; it may be the assignee, never the proposer. A person (account id, alias or @alias) or one agent as agent:<handle>, a handle from workspace_load agents; they must be able to edit tasks in the task's audience."
    • addedInput schema / properties / step
      Added value: +{
      +  "description": "Which step of your workspace's own workflow it is at (draft, review, post): a free tag you filter on; Tokenrip never interprets it.",
      +  "pattern": "^[a-z0-9][a-z0-9-_]{0,63}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / type
      Added value: +{
      +  "description": "What kind of work it is (blog-post, x-reply): a free tag you filter on; Tokenrip never interprets it. Your person's instructions can let you carry out a type on your own.",
      +  "pattern": "^[a-z0-9][a-z0-9-_]{0,63}$",
      +  "type": "string"
      +}
    • removedOutput schema / properties / task / properties / approveVerb
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / task / properties / decision
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "at": {
      -          "format": "date-time",
      -          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -          "type": "string"
      -        },
      -        "by": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "account": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "alias": {
      -                      "anyOf": [
      -                        {
      -                          "type": "string"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "id": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "id",
      -                    "alias"
      -                  ],
      -                  "type": "object"
      -                },
      -                "agent": {
      -                  "anyOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "harness": {
      -                          "anyOf": [
      -                            {
      -                              "type": "string"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ]
      -                        },
      -                        "id": {
      -                          "anyOf": [
      -                            {
      -                              "format": "uuid",
      -                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                              "type": "string"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ]
      -                        },
      -                        "name": {
      -                          "anyOf": [
      -                            {
      -                              "type": "string"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ]
      -                        }
      -                      },
      -                      "required": [
      -                        "id",
      -                        "name",
      -                        "harness"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "isCaller": {
      -                  "type": "boolean"
      -                },
      -                "mine": {
      -                  "type": "boolean"
      -                }
      -              },
      -              "required": [
      -                "account",
      -                "agent",
      -                "mine",
      -                "isCaller"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "byInstructions": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "agent": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "account": {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "alias": {
      -                          "anyOf": [
      -                            {
      -                              "type": "string"
      -                            },
      -                            {
      -                              "type": "null"
      -                            }
      -                          ]
      -                        },
      -                        "id": {
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "id",
      -                        "alias"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "agent": {
      -                      "anyOf": [
      -                        {
      -                          "additionalProperties": false,
      -                          "properties": {
      -                            "harness": {
      -                              "anyOf": [
      -                                {
      -                                  "type": "string"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "id": {
      -                              "anyOf": [
      -                                {
      -                                  "format": "uuid",
      -                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                                  "type": "string"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            },
      -                            "name": {
      -                              "anyOf": [
      -                                {
      -                                  "type": "string"
      -                                },
      -                                {
      -                                  "type": "null"
      -                                }
      -                              ]
      -                            }
      -                          },
      -                          "required": [
      -                            "id",
      -                            "name",
      -                            "harness"
      -                          ],
      -                          "type": "object"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "isCaller": {
      -                      "type": "boolean"
      -                    },
      -                    "mine": {
      -                      "type": "boolean"
      -                    }
      -                  },
      -                  "required": [
      -                    "account",
      -                    "agent",
      -                    "mine",
      -                    "isCaller"
      -                  ],
      -                  "type": "object"
      -                },
      -                "version": {
      -                  "exclusiveMinimum": 0,
      -                  "maximum": 9007199254740991,
      -                  "type": "integer"
      -                }
      -              },
      -              "required": [
      -                "version",
      -                "agent"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "edited": {
      -          "type": "boolean"
      -        },
      -        "outcome": {
      -          "enum": [
      -            "approved",
      -            "skipped"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "outcome",
      -        "at",
      -        "by",
      -        "byInstructions",
      -        "edited"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / task / properties / latestRound
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "number": {
      +          "exclusiveMinimum": 0,
      +          "maximum": 9007199254740991,
      +          "type": "integer"
      +        },
      +        "outcome": {
      +          "anyOf": [
      +            {
      +              "enum": [
      +                "approved",
      +                "sent_back",
      +                "cancelled",
      +                "withdrawn",
      +                "replaced"
      +              ],
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "number",
      +        "outcome"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / task / properties / step
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / task / properties / type
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / task / required
      Previous value: -[
      -  "id",
      -  "status",
      -  "holder",
      -  "assignee",
      -  "reviewer",
      -  "createdBy",
      -  "completedBy",
      -  "parentId",
      -  "approveVerb",
      -  "decision",
      -  "result",
      -  "cancelledById",
      -  "cancelledAt",
      -  "cancelReason"
      -]New value: +[
      +  "id",
      +  "status",
      +  "type",
      +  "step",
      +  "holder",
      +  "assignee",
      +  "reviewer",
      +  "createdBy",
      +  "completedBy",
      +  "parentId",
      +  "latestRound",
      +  "result",
      +  "cancelledById",
      +  "cancelledAt",
      +  "cancelReason"
      +]
  5. Changed5 schema fields changed
    • changedInput schema / properties / workspaceId / description
      Previous value: -"The workspace: name it, or name parentId instead."New value: +"The workspace (its id or its slug): name it, or name parentId instead."
    • removedInput schema / properties / workspaceId / format
      Removed value: -"uuid"
    • addedInput schema / properties / workspaceId / maxLength
      Added value: +64
    • addedInput schema / properties / workspaceId / minLength
      Added value: +1
    • removedInput schema / properties / workspaceId / pattern
      Removed value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  6. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (readOnly=false, destructive=false, idempotent=false): it discloses validation behavior (a word outside the job's types/steps is INVALID_INPUT naming the field and its available values), default-filling from a job's definitions, link dedupe semantics ("a target already linked is left as it is"), hard caps (50 links per call, 100 per role, 20 labels, 255-char URLs), and the permission requirement that assignee/reviewer must be able to edit tasks in the workspace.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is one dense run-on paragraph with nested parentheses and repeated restatements of the job/type/step rule ("nor type and step outside a job with task definitions" vs. the later clause). The primary placement decision is front-loaded, but the middle is hard to scan and could be restructured into distinct sentences or lines.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter, nested-schema create operation with an output schema present, the description covers everything an agent needs to call it correctly: placement, actors, links, tags, job constraints, error behavior, and limits, while correctly deferring return-value detail to the receipt plus task_get. The only omissions are self-evident fields like title and body.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 71%, so the baseline is 3, and the description genuinely adds meaning: agent:<handle> syntax, the workspaceId/parentId exclusivity, the job-versus-free-tag distinction for type and step, and the guarantee that Tokenrip never interprets labels. It leaves title, body, due, and payload entirely undiscussed, which keeps it from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("File a task") and immediately disambiguates the two placement modes: a workspace via workspaceId, or under a parent task via parentId alone (inheriting the parent's workspace). The actor roles (assignee, reviewer) and the tag model (type, step, labels) are named concretely, so an agent can tell this apart from task_update or task_propose without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear routing rules: use workspaceId or parentId, name agents as agent:<handle> from workspace_load agents, name jobs from workspace_load jobs, and use task_get for full details. It does not state when *not* to use this tool (e.g., updating an existing task versus filing a new one), which leaves a small gap against sibling mutation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.