Skip to main content
Glama

Create or edit my roster

save_roster
Destructive

Saves a complete roster. Pass its id to edit an owned roster; omit id to create one. limit is the battle size (1000, 2000 or 3000 points, or 600 for King of the Colosseum), which sets detachment points, enhancement and unit limits. pointsBudget optionally replaces only its points total (500 to 10000, not King of the Colosseum); omit it to keep a saved budget, or send null for the standard total. Requires mcp:write.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNo
nameYes
prepYes
limitYes
picksYes
sourceNoeditable
visibilityNoprivate
catalogueIdYes
dispositionYes
waivedRulesNo
pointsBudgetNo
detachmentIdsYes
optionalRulesNo
borrowedDetachmentIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedInput schema / properties / picks / items / properties / nickname
      Removed value: -{
      -  "maxLength": 40,
      -  "type": "string"
      -}
    • addedInput schema / properties / pointsBudget
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 10000,
      +      "minimum": 500,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedInput schema / properties / prep / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "reminders": {
      -        "default": [],
      -        "items": {
      -          "properties": {
      -            "ability": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "description": {
      -              "maxLength": 10000,
      -              "type": "string"
      -            },
      -            "key": {
      -              "maxLength": 240,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "timings": {
      -              "items": {
      -                "oneOf": [
      -                  {
      -                    "properties": {
      -                      "firstRoundOnly": {
      -                        "type": "boolean"
      -                      },
      -                      "moment": {
      -                        "enum": [
      -                          "phase-start",
      -                          "phase-end"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "phase": {
      -                        "enum": [
      -                          "command",
      -                          "movement",
      -                          "shooting",
      -                          "charge",
      -                          "fight",
      -                          "any"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "turn": {
      -                        "enum": [
      -                          "your-turn",
      -                          "opponent-turn",
      -                          "either"
      -                        ],
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "moment",
      -                      "phase",
      -                      "turn"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "properties": {
      -                      "firstRoundOnly": {
      -                        "type": "boolean"
      -                      },
      -                      "moment": {
      -                        "enum": [
      -                          "turn-start",
      -                          "turn-end"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "phase": {
      -                        "type": "null"
      -                      },
      -                      "turn": {
      -                        "enum": [
      -                          "your-turn",
      -                          "opponent-turn",
      -                          "either"
      -                        ],
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "moment",
      -                      "phase",
      -                      "turn"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "properties": {
      -                      "firstRoundOnly": {
      -                        "type": "boolean"
      -                      },
      -                      "moment": {
      -                        "enum": [
      -                          "round-start",
      -                          "round-end"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "phase": {
      -                        "type": "null"
      -                      },
      -                      "turn": {
      -                        "const": "either",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "moment",
      -                      "phase",
      -                      "turn"
      -                    ],
      -                    "type": "object"
      -                  }
      -                ]
      -              },
      -              "maxItems": 10,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "unit": {
      -              "properties": {
      -                "index": {
      -                  "maximum": 99,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "name": {
      -                  "maxLength": 80,
      -                  "minLength": 1,
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "index",
      -                "name"
      -              ],
      -              "type": "object"
      -            },
      -            "whileDestroyed": {
      -              "type": "boolean"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "ability",
      -            "description",
      -            "timings"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "remindersEnabled": {
      -        "default": true,
      -        "type": "boolean"
      -      },
      -      "secondaries": {
      -        "items": {
      -          "properties": {
      -            "key": {
      -              "maxLength": 64,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "name": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "name"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 6,
      -        "type": "array"
      -      },
      -      "shareNotes": {
      -        "default": false,
      -        "type": "boolean"
      -      },
      -      "stratagems": {
      -        "items": {
      -          "properties": {
      -            "cp": {
      -              "maximum": 6,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "key": {
      -              "maxLength": 64,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "limit": {
      -              "enum": [
      -                "phase",
      -                "turn",
      -                "battle-round",
      -                "battle",
      -                "unlimited"
      -              ],
      -              "type": "string"
      -            },
      -            "name": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "phases": {
      -              "items": {
      -                "enum": [
      -                  "command",
      -                  "movement",
      -                  "shooting",
      -                  "charge",
      -                  "fight",
      -                  "end"
      -                ],
      -                "type": "string"
      -              },
      -              "maxItems": 6,
      -              "type": "array"
      -            },
      -            "turn": {
      -              "enum": [
      -                "your-turn",
      -                "opponent-turn",
      -                "either"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "name",
      -            "cp",
      -            "limit"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 48,
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "stratagems",
      -      "secondaries"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "reminders": {
      +        "default": [],
      +        "items": {
      +          "properties": {
      +            "ability": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "description": {
      +              "maxLength": 10000,
      +              "type": "string"
      +            },
      +            "key": {
      +              "maxLength": 240,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "timings": {
      +              "items": {
      +                "oneOf": [
      +                  {
      +                    "properties": {
      +                      "firstRoundOnly": {
      +                        "type": "boolean"
      +                      },
      +                      "moment": {
      +                        "enum": [
      +                          "phase-start",
      +                          "phase-end"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "phase": {
      +                        "enum": [
      +                          "command",
      +                          "movement",
      +                          "shooting",
      +                          "charge",
      +                          "fight",
      +                          "any"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "turn": {
      +                        "enum": [
      +                          "your-turn",
      +                          "opponent-turn",
      +                          "either"
      +                        ],
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "moment",
      +                      "phase",
      +                      "turn"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "properties": {
      +                      "firstRoundOnly": {
      +                        "type": "boolean"
      +                      },
      +                      "moment": {
      +                        "enum": [
      +                          "turn-start",
      +                          "turn-end"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "phase": {
      +                        "type": "null"
      +                      },
      +                      "turn": {
      +                        "enum": [
      +                          "your-turn",
      +                          "opponent-turn",
      +                          "either"
      +                        ],
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "moment",
      +                      "phase",
      +                      "turn"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "properties": {
      +                      "firstRoundOnly": {
      +                        "type": "boolean"
      +                      },
      +                      "moment": {
      +                        "enum": [
      +                          "round-start",
      +                          "round-end"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "phase": {
      +                        "type": "null"
      +                      },
      +                      "turn": {
      +                        "const": "either",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "moment",
      +                      "phase",
      +                      "turn"
      +                    ],
      +                    "type": "object"
      +                  }
      +                ]
      +              },
      +              "maxItems": 10,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "unit": {
      +              "properties": {
      +                "index": {
      +                  "maximum": 99,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "name": {
      +                  "maxLength": 80,
      +                  "minLength": 1,
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "index",
      +                "name"
      +              ],
      +              "type": "object"
      +            },
      +            "whileDestroyed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "ability",
      +            "description",
      +            "timings"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "remindersEnabled": {
      +        "default": true,
      +        "type": "boolean"
      +      },
      +      "secondaries": {
      +        "items": {
      +          "properties": {
      +            "key": {
      +              "maxLength": 64,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "name": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "name"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 6,
      +        "type": "array"
      +      },
      +      "stratagems": {
      +        "items": {
      +          "properties": {
      +            "cp": {
      +              "maximum": 6,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "key": {
      +              "maxLength": 64,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "limit": {
      +              "enum": [
      +                "phase",
      +                "turn",
      +                "battle-round",
      +                "battle",
      +                "unlimited"
      +              ],
      +              "type": "string"
      +            },
      +            "name": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "phases": {
      +              "items": {
      +                "enum": [
      +                  "command",
      +                  "movement",
      +                  "shooting",
      +                  "charge",
      +                  "fight",
      +                  "end"
      +                ],
      +                "type": "string"
      +              },
      +              "maxItems": 6,
      +              "type": "array"
      +            },
      +            "turn": {
      +              "enum": [
      +                "your-turn",
      +                "opponent-turn",
      +                "either"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "name",
      +            "cp",
      +            "limit"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 48,
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "stratagems",
      +      "secondaries"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed3 schema fields changed
    • addedInput schema / properties / picks / items / properties / nickname
      Added value: +{
      +  "maxLength": 40,
      +  "type": "string"
      +}
    • addedInput schema / properties / picks / items / properties / note
      Added value: +{
      +  "maxLength": 500,
      +  "type": "string"
      +}
    • changedInput schema / properties / prep / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "reminders": {
      -        "default": [],
      -        "items": {
      -          "properties": {
      -            "ability": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "description": {
      -              "maxLength": 10000,
      -              "type": "string"
      -            },
      -            "key": {
      -              "maxLength": 240,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "timings": {
      -              "items": {
      -                "oneOf": [
      -                  {
      -                    "properties": {
      -                      "firstRoundOnly": {
      -                        "type": "boolean"
      -                      },
      -                      "moment": {
      -                        "enum": [
      -                          "phase-start",
      -                          "phase-end"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "phase": {
      -                        "enum": [
      -                          "command",
      -                          "movement",
      -                          "shooting",
      -                          "charge",
      -                          "fight",
      -                          "any"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "turn": {
      -                        "enum": [
      -                          "your-turn",
      -                          "opponent-turn",
      -                          "either"
      -                        ],
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "moment",
      -                      "phase",
      -                      "turn"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "properties": {
      -                      "firstRoundOnly": {
      -                        "type": "boolean"
      -                      },
      -                      "moment": {
      -                        "enum": [
      -                          "turn-start",
      -                          "turn-end"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "phase": {
      -                        "type": "null"
      -                      },
      -                      "turn": {
      -                        "enum": [
      -                          "your-turn",
      -                          "opponent-turn",
      -                          "either"
      -                        ],
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "moment",
      -                      "phase",
      -                      "turn"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "properties": {
      -                      "firstRoundOnly": {
      -                        "type": "boolean"
      -                      },
      -                      "moment": {
      -                        "enum": [
      -                          "round-start",
      -                          "round-end"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "phase": {
      -                        "type": "null"
      -                      },
      -                      "turn": {
      -                        "const": "either",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "moment",
      -                      "phase",
      -                      "turn"
      -                    ],
      -                    "type": "object"
      -                  }
      -                ]
      -              },
      -              "maxItems": 10,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "unit": {
      -              "properties": {
      -                "index": {
      -                  "maximum": 99,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "name": {
      -                  "maxLength": 80,
      -                  "minLength": 1,
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "index",
      -                "name"
      -              ],
      -              "type": "object"
      -            },
      -            "whileDestroyed": {
      -              "type": "boolean"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "ability",
      -            "description",
      -            "timings"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "remindersEnabled": {
      -        "default": true,
      -        "type": "boolean"
      -      },
      -      "secondaries": {
      -        "items": {
      -          "properties": {
      -            "key": {
      -              "maxLength": 64,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "name": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "name"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 6,
      -        "type": "array"
      -      },
      -      "stratagems": {
      -        "items": {
      -          "properties": {
      -            "cp": {
      -              "maximum": 6,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "key": {
      -              "maxLength": 64,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "limit": {
      -              "enum": [
      -                "phase",
      -                "turn",
      -                "battle-round",
      -                "battle",
      -                "unlimited"
      -              ],
      -              "type": "string"
      -            },
      -            "name": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "phases": {
      -              "items": {
      -                "enum": [
      -                  "command",
      -                  "movement",
      -                  "shooting",
      -                  "charge",
      -                  "fight",
      -                  "end"
      -                ],
      -                "type": "string"
      -              },
      -              "maxItems": 6,
      -              "type": "array"
      -            },
      -            "turn": {
      -              "enum": [
      -                "your-turn",
      -                "opponent-turn",
      -                "either"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "name",
      -            "cp",
      -            "limit"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 48,
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "stratagems",
      -      "secondaries"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "reminders": {
      +        "default": [],
      +        "items": {
      +          "properties": {
      +            "ability": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "description": {
      +              "maxLength": 10000,
      +              "type": "string"
      +            },
      +            "key": {
      +              "maxLength": 240,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "timings": {
      +              "items": {
      +                "oneOf": [
      +                  {
      +                    "properties": {
      +                      "firstRoundOnly": {
      +                        "type": "boolean"
      +                      },
      +                      "moment": {
      +                        "enum": [
      +                          "phase-start",
      +                          "phase-end"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "phase": {
      +                        "enum": [
      +                          "command",
      +                          "movement",
      +                          "shooting",
      +                          "charge",
      +                          "fight",
      +                          "any"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "turn": {
      +                        "enum": [
      +                          "your-turn",
      +                          "opponent-turn",
      +                          "either"
      +                        ],
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "moment",
      +                      "phase",
      +                      "turn"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "properties": {
      +                      "firstRoundOnly": {
      +                        "type": "boolean"
      +                      },
      +                      "moment": {
      +                        "enum": [
      +                          "turn-start",
      +                          "turn-end"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "phase": {
      +                        "type": "null"
      +                      },
      +                      "turn": {
      +                        "enum": [
      +                          "your-turn",
      +                          "opponent-turn",
      +                          "either"
      +                        ],
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "moment",
      +                      "phase",
      +                      "turn"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "properties": {
      +                      "firstRoundOnly": {
      +                        "type": "boolean"
      +                      },
      +                      "moment": {
      +                        "enum": [
      +                          "round-start",
      +                          "round-end"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "phase": {
      +                        "type": "null"
      +                      },
      +                      "turn": {
      +                        "const": "either",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "moment",
      +                      "phase",
      +                      "turn"
      +                    ],
      +                    "type": "object"
      +                  }
      +                ]
      +              },
      +              "maxItems": 10,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "unit": {
      +              "properties": {
      +                "index": {
      +                  "maximum": 99,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "name": {
      +                  "maxLength": 80,
      +                  "minLength": 1,
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "index",
      +                "name"
      +              ],
      +              "type": "object"
      +            },
      +            "whileDestroyed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "ability",
      +            "description",
      +            "timings"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "remindersEnabled": {
      +        "default": true,
      +        "type": "boolean"
      +      },
      +      "secondaries": {
      +        "items": {
      +          "properties": {
      +            "key": {
      +              "maxLength": 64,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "name": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "name"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 6,
      +        "type": "array"
      +      },
      +      "shareNotes": {
      +        "default": false,
      +        "type": "boolean"
      +      },
      +      "stratagems": {
      +        "items": {
      +          "properties": {
      +            "cp": {
      +              "maximum": 6,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "key": {
      +              "maxLength": 64,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "limit": {
      +              "enum": [
      +                "phase",
      +                "turn",
      +                "battle-round",
      +                "battle",
      +                "unlimited"
      +              ],
      +              "type": "string"
      +            },
      +            "name": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "phases": {
      +              "items": {
      +                "enum": [
      +                  "command",
      +                  "movement",
      +                  "shooting",
      +                  "charge",
      +                  "fight",
      +                  "end"
      +                ],
      +                "type": "string"
      +              },
      +              "maxItems": 6,
      +              "type": "array"
      +            },
      +            "turn": {
      +              "enum": [
      +                "your-turn",
      +                "opponent-turn",
      +                "either"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "name",
      +            "cp",
      +            "limit"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 48,
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "stratagems",
      +      "secondaries"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / borrowedDetachmentId / default
      Added value: +null
  4. Changed1 schema field changed
    • removedInput schema / properties / borrowedDetachmentId / default
      Removed value: -null
  5. Changed1 schema field changed
    • changedInput schema / properties / prep / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "reminders": {
      -        "default": [],
      -        "items": {
      -          "properties": {
      -            "ability": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "description": {
      -              "maxLength": 10000,
      -              "type": "string"
      -            },
      -            "key": {
      -              "maxLength": 240,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "timings": {
      -              "items": {
      -                "oneOf": [
      -                  {
      -                    "properties": {
      -                      "moment": {
      -                        "enum": [
      -                          "phase-start",
      -                          "phase-end"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "phase": {
      -                        "enum": [
      -                          "command",
      -                          "movement",
      -                          "shooting",
      -                          "charge",
      -                          "fight"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "turn": {
      -                        "enum": [
      -                          "your-turn",
      -                          "opponent-turn",
      -                          "either"
      -                        ],
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "moment",
      -                      "phase",
      -                      "turn"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "properties": {
      -                      "moment": {
      -                        "enum": [
      -                          "turn-start",
      -                          "turn-end"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "phase": {
      -                        "type": "null"
      -                      },
      -                      "turn": {
      -                        "enum": [
      -                          "your-turn",
      -                          "opponent-turn",
      -                          "either"
      -                        ],
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "moment",
      -                      "phase",
      -                      "turn"
      -                    ],
      -                    "type": "object"
      -                  }
      -                ]
      -              },
      -              "maxItems": 10,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "unit": {
      -              "properties": {
      -                "index": {
      -                  "maximum": 99,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "name": {
      -                  "maxLength": 80,
      -                  "minLength": 1,
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "index",
      -                "name"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "ability",
      -            "description",
      -            "timings"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "remindersEnabled": {
      -        "default": true,
      -        "type": "boolean"
      -      },
      -      "secondaries": {
      -        "items": {
      -          "properties": {
      -            "key": {
      -              "maxLength": 64,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "name": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "name"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 6,
      -        "type": "array"
      -      },
      -      "stratagems": {
      -        "items": {
      -          "properties": {
      -            "cp": {
      -              "maximum": 6,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "key": {
      -              "maxLength": 64,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "limit": {
      -              "enum": [
      -                "phase",
      -                "turn",
      -                "battle-round",
      -                "battle",
      -                "unlimited"
      -              ],
      -              "type": "string"
      -            },
      -            "name": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "phases": {
      -              "items": {
      -                "enum": [
      -                  "command",
      -                  "movement",
      -                  "shooting",
      -                  "charge",
      -                  "fight",
      -                  "end"
      -                ],
      -                "type": "string"
      -              },
      -              "maxItems": 6,
      -              "type": "array"
      -            },
      -            "turn": {
      -              "enum": [
      -                "your-turn",
      -                "opponent-turn",
      -                "either"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "name",
      -            "cp",
      -            "limit"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 48,
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "stratagems",
      -      "secondaries"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "reminders": {
      +        "default": [],
      +        "items": {
      +          "properties": {
      +            "ability": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "description": {
      +              "maxLength": 10000,
      +              "type": "string"
      +            },
      +            "key": {
      +              "maxLength": 240,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "timings": {
      +              "items": {
      +                "oneOf": [
      +                  {
      +                    "properties": {
      +                      "firstRoundOnly": {
      +                        "type": "boolean"
      +                      },
      +                      "moment": {
      +                        "enum": [
      +                          "phase-start",
      +                          "phase-end"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "phase": {
      +                        "enum": [
      +                          "command",
      +                          "movement",
      +                          "shooting",
      +                          "charge",
      +                          "fight",
      +                          "any"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "turn": {
      +                        "enum": [
      +                          "your-turn",
      +                          "opponent-turn",
      +                          "either"
      +                        ],
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "moment",
      +                      "phase",
      +                      "turn"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "properties": {
      +                      "firstRoundOnly": {
      +                        "type": "boolean"
      +                      },
      +                      "moment": {
      +                        "enum": [
      +                          "turn-start",
      +                          "turn-end"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "phase": {
      +                        "type": "null"
      +                      },
      +                      "turn": {
      +                        "enum": [
      +                          "your-turn",
      +                          "opponent-turn",
      +                          "either"
      +                        ],
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "moment",
      +                      "phase",
      +                      "turn"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "properties": {
      +                      "firstRoundOnly": {
      +                        "type": "boolean"
      +                      },
      +                      "moment": {
      +                        "enum": [
      +                          "round-start",
      +                          "round-end"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "phase": {
      +                        "type": "null"
      +                      },
      +                      "turn": {
      +                        "const": "either",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "moment",
      +                      "phase",
      +                      "turn"
      +                    ],
      +                    "type": "object"
      +                  }
      +                ]
      +              },
      +              "maxItems": 10,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "unit": {
      +              "properties": {
      +                "index": {
      +                  "maximum": 99,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "name": {
      +                  "maxLength": 80,
      +                  "minLength": 1,
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "index",
      +                "name"
      +              ],
      +              "type": "object"
      +            },
      +            "whileDestroyed": {
      +              "type": "boolean"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "ability",
      +            "description",
      +            "timings"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "remindersEnabled": {
      +        "default": true,
      +        "type": "boolean"
      +      },
      +      "secondaries": {
      +        "items": {
      +          "properties": {
      +            "key": {
      +              "maxLength": 64,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "name": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "name"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 6,
      +        "type": "array"
      +      },
      +      "stratagems": {
      +        "items": {
      +          "properties": {
      +            "cp": {
      +              "maximum": 6,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "key": {
      +              "maxLength": 64,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "limit": {
      +              "enum": [
      +                "phase",
      +                "turn",
      +                "battle-round",
      +                "battle",
      +                "unlimited"
      +              ],
      +              "type": "string"
      +            },
      +            "name": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "phases": {
      +              "items": {
      +                "enum": [
      +                  "command",
      +                  "movement",
      +                  "shooting",
      +                  "charge",
      +                  "fight",
      +                  "end"
      +                ],
      +                "type": "string"
      +              },
      +              "maxItems": 6,
      +              "type": "array"
      +            },
      +            "turn": {
      +              "enum": [
      +                "your-turn",
      +                "opponent-turn",
      +                "either"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "name",
      +            "cp",
      +            "limit"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 48,
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "stratagems",
      +      "secondaries"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  6. Changed1 schema field changed
    • changedInput schema / properties / prep / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "reminders": {
      -        "default": [],
      -        "items": {
      -          "properties": {
      -            "ability": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "description": {
      -              "maxLength": 10000,
      -              "type": "string"
      -            },
      -            "key": {
      -              "maxLength": 240,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "timings": {
      -              "items": {
      -                "oneOf": [
      -                  {
      -                    "properties": {
      -                      "moment": {
      -                        "enum": [
      -                          "phase-start",
      -                          "phase-end"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "phase": {
      -                        "enum": [
      -                          "command",
      -                          "movement",
      -                          "shooting",
      -                          "charge",
      -                          "fight"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "turn": {
      -                        "enum": [
      -                          "your-turn",
      -                          "opponent-turn",
      -                          "either"
      -                        ],
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "moment",
      -                      "phase",
      -                      "turn"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "properties": {
      -                      "moment": {
      -                        "enum": [
      -                          "turn-start",
      -                          "turn-end"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "phase": {
      -                        "type": "null"
      -                      },
      -                      "turn": {
      -                        "enum": [
      -                          "your-turn",
      -                          "opponent-turn",
      -                          "either"
      -                        ],
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "moment",
      -                      "phase",
      -                      "turn"
      -                    ],
      -                    "type": "object"
      -                  }
      -                ]
      -              },
      -              "maxItems": 10,
      -              "minItems": 1,
      -              "type": "array"
      -            },
      -            "unit": {
      -              "properties": {
      -                "index": {
      -                  "maximum": 99,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "name": {
      -                  "maxLength": 80,
      -                  "minLength": 1,
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "index",
      -                "name"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "ability",
      -            "description",
      -            "timings"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "remindersEnabled": {
      -        "default": true,
      -        "type": "boolean"
      -      },
      -      "secondaries": {
      -        "items": {
      -          "properties": {
      -            "key": {
      -              "maxLength": 64,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "name": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "name"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 6,
      -        "type": "array"
      -      },
      -      "stratagems": {
      -        "items": {
      -          "properties": {
      -            "cp": {
      -              "maximum": 6,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "key": {
      -              "maxLength": 64,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "limit": {
      -              "enum": [
      -                "phase",
      -                "turn",
      -                "battle",
      -                "unlimited"
      -              ],
      -              "type": "string"
      -            },
      -            "name": {
      -              "maxLength": 80,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "phases": {
      -              "items": {
      -                "enum": [
      -                  "command",
      -                  "movement",
      -                  "shooting",
      -                  "charge",
      -                  "fight",
      -                  "end"
      -                ],
      -                "type": "string"
      -              },
      -              "maxItems": 6,
      -              "type": "array"
      -            },
      -            "turn": {
      -              "enum": [
      -                "your-turn",
      -                "opponent-turn",
      -                "either"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "name",
      -            "cp",
      -            "limit"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 48,
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "stratagems",
      -      "secondaries"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "reminders": {
      +        "default": [],
      +        "items": {
      +          "properties": {
      +            "ability": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "description": {
      +              "maxLength": 10000,
      +              "type": "string"
      +            },
      +            "key": {
      +              "maxLength": 240,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "timings": {
      +              "items": {
      +                "oneOf": [
      +                  {
      +                    "properties": {
      +                      "moment": {
      +                        "enum": [
      +                          "phase-start",
      +                          "phase-end"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "phase": {
      +                        "enum": [
      +                          "command",
      +                          "movement",
      +                          "shooting",
      +                          "charge",
      +                          "fight"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "turn": {
      +                        "enum": [
      +                          "your-turn",
      +                          "opponent-turn",
      +                          "either"
      +                        ],
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "moment",
      +                      "phase",
      +                      "turn"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "properties": {
      +                      "moment": {
      +                        "enum": [
      +                          "turn-start",
      +                          "turn-end"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "phase": {
      +                        "type": "null"
      +                      },
      +                      "turn": {
      +                        "enum": [
      +                          "your-turn",
      +                          "opponent-turn",
      +                          "either"
      +                        ],
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "moment",
      +                      "phase",
      +                      "turn"
      +                    ],
      +                    "type": "object"
      +                  }
      +                ]
      +              },
      +              "maxItems": 10,
      +              "minItems": 1,
      +              "type": "array"
      +            },
      +            "unit": {
      +              "properties": {
      +                "index": {
      +                  "maximum": 99,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "name": {
      +                  "maxLength": 80,
      +                  "minLength": 1,
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "index",
      +                "name"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "ability",
      +            "description",
      +            "timings"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "remindersEnabled": {
      +        "default": true,
      +        "type": "boolean"
      +      },
      +      "secondaries": {
      +        "items": {
      +          "properties": {
      +            "key": {
      +              "maxLength": 64,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "name": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "name"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 6,
      +        "type": "array"
      +      },
      +      "stratagems": {
      +        "items": {
      +          "properties": {
      +            "cp": {
      +              "maximum": 6,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "key": {
      +              "maxLength": 64,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "limit": {
      +              "enum": [
      +                "phase",
      +                "turn",
      +                "battle-round",
      +                "battle",
      +                "unlimited"
      +              ],
      +              "type": "string"
      +            },
      +            "name": {
      +              "maxLength": 80,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "phases": {
      +              "items": {
      +                "enum": [
      +                  "command",
      +                  "movement",
      +                  "shooting",
      +                  "charge",
      +                  "fight",
      +                  "end"
      +                ],
      +                "type": "string"
      +              },
      +              "maxItems": 6,
      +              "type": "array"
      +            },
      +            "turn": {
      +              "enum": [
      +                "your-turn",
      +                "opponent-turn",
      +                "either"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "name",
      +            "cp",
      +            "limit"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 48,
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "stratagems",
      +      "secondaries"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  7. Changed2 schema fields changed
    • changedInput schema / properties / borrowedDetachmentId / anyOf
      Previous value: -[
      -  {
      -    "maxLength": 64,
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 128,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / detachmentIds / items / maxLength
      Previous value: -64New value: +128
  8. Changed2 schema fields changed
    • changedInput schema / properties / waivedRules / items / enum
      Previous value: -[
      -  "detachments",
      -  "detachment-points",
      -  "kotc-infantry",
      -  "kotc-warlord",
      -  "kotc-epic-heroes",
      -  "kotc-toughness",
      -  "kotc-datasheet-copies"
      -]New value: +[
      +  "points-limit",
      +  "detachments",
      +  "detachment-points",
      +  "kotc-infantry",
      +  "kotc-warlord",
      +  "kotc-epic-heroes",
      +  "kotc-toughness",
      +  "kotc-datasheet-copies"
      +]
    • changedInput schema / properties / waivedRules / maxItems
      Previous value: -7New value: +8
  9. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is partly covered. The description adds real value beyond that: "Saves a complete roster" signals a full overwrite rather than a merge, the pointsBudget omit-vs-null semantics are spelled out, and the mcp:write auth requirement is disclosed.

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

Conciseness4/5

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

The description is front-loaded with purpose and each sentence carries semantic weight with no filler. It is dense and slightly packed with clause-heavy rules, but nothing is wasted.

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

Completeness3/5

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

For a 14-parameter, 7-required mutation tool, the description covers create/edit routing, limit, pointsBudget, and auth, which is meaningful. It leaves most parameters unexplained and, with no output schema, says nothing about the return value, so it is only partially complete for the tool's complexity.

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 description coverage is 0% across 14 parameters, so the description must carry the burden, but it only explains id, limit, and pointsBudget. Those three get genuinely useful semantics (battle-size meaning, allowed values, King of the Colosseum exception, replace-vs-keep-vs-reset behavior), but required params like catalogueId, detachmentIds, disposition, picks, and prep are undocumented anywhere.

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

Purpose4/5

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

The description states a specific verb and resource ("Saves a complete roster") and disambiguates the two operating modes: pass id to edit an owned roster, omit id to create one. It is clear on its own but never names or distinguishes itself from relevant siblings such as create_battle or set_roster_visibility.

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?

It gives an explicit decision rule (id present = edit, absent = create) and states the mcp:write prerequisite, so an agent knows the context for invoking it. It offers no exclusions or pointers to alternative tools for related tasks like visibility changes.

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.