Skip to main content
Glama

Complete task

task_complete
DestructiveIdempotent

Complete a task that is free or yours, from To do as well as Doing, with what came of it (result) and up to 50 links to what it produced (result links: an artifact in this workspace, by id or page URL, optionally at a version; task_get reads them back in links). A url there is recorded as an output of kind link on the task instead (task_get outputs; a hint names it); record a post, an email or anything else that went out with output_record. On an approved proposal, task_get's approvedRound.final.text is the text its reviewer approved. Someone else's live hold refuses with TASK_TAKEN, and an In review task with TASK_IN_REVIEW; nothing is written.

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": {
      "id": "<id>"
    },
    "name": "task_complete"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesThe task, by its id.
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.
linksNoThe files the work produced (result links, never removed). A { url } here is recorded as an output of kind link on the task instead, and a hint names it. 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 file already linked is left as it is, and a url the task already has an output of kind link for names that output and records none.
resultNoWhat came of it, in one line of at most 280 characters ("4 likes", "38% opened").

Output Schema

NameRequiredDescriptionDefault
taskYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / links / description
      Previous value: -"What the work produced (result links, never removed). 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."New value: +"The files the work produced (result links, never removed). A { url } here is recorded as an output of kind link on the task instead, and a hint names it. 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 file already linked is left as it is, and a url the task already has an output of kind link for names that output and records none."
    • 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"
      +]
  2. 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"
      +  }
      +]
  3. Changed12 schema fields changed
    • changedInput schema / properties / links / description
      Previous value: -"At most 50 links to what the work touched or produced: artifacts in this workspace, or URLs."New value: +"What the work produced (result links, never removed). 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."
    • removedInput schema / properties / links / items / additionalProperties
      Removed value: -false
    • addedInput schema / properties / links / items / anyOf
      Added value: +[
      +  {
      +    "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"
      +  }
      +]
    • removedInput schema / properties / links / items / properties
      Removed value: -{
      -  "id": {
      -    "type": "string"
      -  },
      -  "type": {
      -    "enum": [
      -      "artifact",
      -      "url"
      -    ],
      -    "type": "string"
      -  },
      -  "version": {
      -    "exclusiveMinimum": 0,
      -    "maximum": 9007199254740991,
      -    "type": "integer"
      -  }
      -}
    • removedInput schema / properties / links / items / required
      Removed value: -[
      -  "type",
      -  "id"
      -]
    • removedInput schema / properties / links / items / type
      Removed value: -"object"
    • 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"
      +]
  4. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the write payload (result plus up to 50 result links), that links are never removed, that a { url } entry is instead recorded as an output of kind link, and that refused calls write nothing. The failure codes and the no-write guarantee on refusal are exactly the kind of atomicity detail annotations cannot express.

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?

The main action is front-loaded, but the body is a single dense run-on packed with nested parentheticals ('(task_get outputs; a hint names it)', '(result links: ...)') that make it hard to parse on first read. Every clause carries information, yet the packaging costs readability.

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?

An output schema exists and annotations cover the safety profile, so the description only needs the judgment layer, which it supplies: state preconditions, refusal codes, the link-versus-output distinction, and where to read results back (task_get). Nothing an agent needs to call this correctly is missing.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents id, why, links and result. The description restates link semantics (artifact vs url, optional version, the 50 cap) and clarifies that url entries become link outputs, but adds little syntax or format detail beyond what the schema already provides, so the baseline 3 applies.

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 ('Complete a task') plus the qualifying states ('free or yours, from To do as well as Doing'), which separates it from task_start, task_stop, task_cancel and task_report without needing their schemas. It also names what must be supplied (result and result links).

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 concrete applicability conditions (task must be free or yours and in To do or Doing) and explicit when-not conditions via refusal codes TASK_TAKEN and TASK_IN_REVIEW. It routes one case to a sibling ('record a post, an email ... with output_record') but stays silent on when task_cancel, task_stop or task_report would be the better call.

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.