Skip to main content
Glama

Create Block Test

create_block_test

Create a draft with a title and optional initial definition containing known blocks and audience. Omit definition for an empty draft. Returns the saved draft and URL. Never launches or spends test credits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYes
definitionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoOpen the draft in Uxia.
testIdNo
blockIdNoServer-assigned ID of the added block. Use it for subsequent edits and references.
editableNo
definitionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / definition
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "audience": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "selections": {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "audienceId": {
      +                    "pattern": "^[a-fA-F0-9]{24}$",
      +                    "type": "string"
      +                  },
      +                  "requestedCount": {
      +                    "exclusiveMinimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "selectedTesterIds": {
      +                    "items": {
      +                      "pattern": "^[a-fA-F0-9]{24}$",
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  }
      +                },
      +                "required": [
      +                  "audienceId",
      +                  "requestedCount"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "selections"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "blocks": {
      +      "description": "Blocks in execution order, with stable unique IDs. Preserve existing blocks when replacing a draft definition.",
      +      "items": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "configuration": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "benchmarks": {
      +                    "items": {
      +                      "enum": [
      +                        "sus",
      +                        "suprq"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "browserContinuation": {
      +                    "additionalProperties": false,
      +                    "description": "Set when this AI task should continue where an earlier live-website AI block stopped. Keep full experience configuration and a separate task/stopCondition. Configure before launch.",
      +                    "properties": {
      +                      "fromBlockId": {
      +                        "description": "ID of the nearest preceding live-website AI block for the same website URL. Resume each participant’s browser session from that block’s final page. The source must be in this definition, before this block; not a testId or runId.",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "fromBlockId"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "credentials": {
      +                    "anyOf": [
      +                      {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "configured": {
      +                            "type": "boolean"
      +                          },
      +                          "customFields": {
      +                            "items": {
      +                              "type": "string"
      +                            },
      +                            "type": "array"
      +                          },
      +                          "enabled": {
      +                            "type": "boolean"
      +                          },
      +                          "filesEnabled": {
      +                            "type": "boolean"
      +                          },
      +                          "mode": {
      +                            "enum": [
      +                              "dedicated",
      +                              "shared"
      +                            ],
      +                            "type": "string"
      +                          },
      +                          "predefinedCredentialsEnabled": {
      +                            "type": "boolean"
      +                          }
      +                        },
      +                        "required": [
      +                          "enabled",
      +                          "filesEnabled",
      +                          "predefinedCredentialsEnabled",
      +                          "mode",
      +                          "customFields",
      +                          "configured"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ],
      +                    "description": "Credential settings contain configuration status only. Enter or change login details in the authenticated Uxia editor using the returned test link. Never request or send passwords, API keys or authentication codes through MCP tools or forms. Preserve existing credential settings on edits; use null when login is not needed."
      +                  },
      +                  "experience": {
      +                    "anyOf": [
      +                      {
      +                        "anyOf": [
      +                          {
      +                            "additionalProperties": false,
      +                            "properties": {
      +                              "advancedFiles": {
      +                                "items": {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "fileKey": {
      +                                      "minLength": 1,
      +                                      "type": "string"
      +                                    },
      +                                    "fileName": {
      +                                      "type": "string"
      +                                    },
      +                                    "fileSize": {
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    "fileType": {
      +                                      "type": "string"
      +                                    },
      +                                    "height": {
      +                                      "exclusiveMinimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    "uploadedAt": {
      +                                      "type": "string"
      +                                    },
      +                                    "width": {
      +                                      "exclusiveMinimum": 0,
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "fileKey",
      +                                    "fileName",
      +                                    "fileType",
      +                                    "fileSize",
      +                                    "uploadedAt"
      +                                  ],
      +                                  "type": "object"
      +                                },
      +                                "type": "array"
      +                              },
      +                              "antiBot": {
      +                                "type": "boolean"
      +                              },
      +                              "browserHeadless": {
      +                                "type": "boolean"
      +                              },
      +                              "isPrototype": {
      +                                "type": "boolean"
      +                              },
      +                              "kind": {
      +                                "const": "live-website",
      +                                "type": "string"
      +                              },
      +                              "previewFileKey": {
      +                                "type": "string"
      +                              },
      +                              "provider": {
      +                                "anyOf": [
      +                                  {
      +                                    "enum": [
      +                                      "figma_make",
      +                                      "figma_proto",
      +                                      "lovable",
      +                                      "base44",
      +                                      "google_stitch"
      +                                    ],
      +                                    "type": "string"
      +                                  },
      +                                  {
      +                                    "type": "null"
      +                                  }
      +                                ]
      +                              },
      +                              "stopCondition": {
      +                                "description": "Draft one short \"Stop when\" sentence naming an observable on-screen state at task completion. No alternatives or off-screen events.",
      +                                "maxLength": 500,
      +                                "type": "string"
      +                              },
      +                              "url": {
      +                                "format": "uri",
      +                                "type": "string"
      +                              },
      +                              "verified": {
      +                                "type": "boolean"
      +                              },
      +                              "viewport": {
      +                                "additionalProperties": false,
      +                                "properties": {
      +                                  "height": {
      +                                    "exclusiveMinimum": 0,
      +                                    "type": "number"
      +                                  },
      +                                  "width": {
      +                                    "exclusiveMinimum": 0,
      +                                    "type": "number"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "width",
      +                                  "height"
      +                                ],
      +                                "type": "object"
      +                              }
      +                            },
      +                            "required": [
      +                              "kind",
      +                              "url",
      +                              "stopCondition",
      +                              "isPrototype",
      +                              "verified",
      +                              "antiBot",
      +                              "advancedFiles"
      +                            ],
      +                            "type": "object"
      +                          },
      +                          {
      +                            "additionalProperties": false,
      +                            "properties": {
      +                              "figmaSource": {
      +                                "additionalProperties": false,
      +                                "properties": {
      +                                  "fileKey": {
      +                                    "type": [
      +                                      "string",
      +                                      "null"
      +                                    ]
      +                                  },
      +                                  "selectedFlowIndex": {
      +                                    "anyOf": [
      +                                      {
      +                                        "type": "integer"
      +                                      },
      +                                      {
      +                                        "type": "null"
      +                                      }
      +                                    ]
      +                                  }
      +                                },
      +                                "required": [
      +                                  "fileKey",
      +                                  "selectedFlowIndex"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "files": {
      +                                "items": {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "fileKey": {
      +                                      "minLength": 1,
      +                                      "type": "string"
      +                                    },
      +                                    "fileName": {
      +                                      "type": "string"
      +                                    },
      +                                    "fileSize": {
      +                                      "minimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    "fileType": {
      +                                      "type": "string"
      +                                    },
      +                                    "height": {
      +                                      "exclusiveMinimum": 0,
      +                                      "type": "number"
      +                                    },
      +                                    "uploadedAt": {
      +                                      "type": "string"
      +                                    },
      +                                    "width": {
      +                                      "exclusiveMinimum": 0,
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "fileKey",
      +                                    "fileName",
      +                                    "fileType",
      +                                    "fileSize",
      +                                    "uploadedAt"
      +                                  ],
      +                                  "type": "object"
      +                                },
      +                                "type": "array"
      +                              },
      +                              "interactionFlow": {
      +                                "additionalProperties": false,
      +                                "properties": {
      +                                  "endNodeId": {
      +                                    "type": "string"
      +                                  },
      +                                  "nodes": {
      +                                    "items": {
      +                                      "additionalProperties": false,
      +                                      "properties": {
      +                                        "id": {
      +                                          "type": "string"
      +                                        },
      +                                        "location": {
      +                                          "additionalProperties": false,
      +                                          "properties": {
      +                                            "x": {
      +                                              "type": "number"
      +                                            },
      +                                            "y": {
      +                                              "type": "number"
      +                                            }
      +                                          },
      +                                          "required": [
      +                                            "x",
      +                                            "y"
      +                                          ],
      +                                          "type": "object"
      +                                        },
      +                                        "parentId": {
      +                                          "type": "string"
      +                                        },
      +                                        "reactions": {
      +                                          "items": {
      +                                            "additionalProperties": false,
      +                                            "properties": {
      +                                              "actions": {
      +                                                "items": {
      +                                                  "additionalProperties": false,
      +                                                  "properties": {
      +                                                    "destinationHandle": {
      +                                                      "enum": [
      +                                                        "top",
      +                                                        "bottom",
      +                                                        "left",
      +                                                        "right"
      +                                                      ],
      +                                                      "type": "string"
      +                                                    },
      +                                                    "destinationId": {
      +                                                      "type": "string"
      +                                                    },
      +                                                    "sourceHandle": {
      +                                                      "enum": [
      +                                                        "top",
      +                                                        "bottom",
      +                                                        "left",
      +                                                        "right"
      +                                                      ],
      +                                                      "type": "string"
      +                                                    },
      +                                                    "type": {
      +                                                      "const": "NAVIGATE",
      +                                                      "type": "string"
      +                                                    }
      +                                                  },
      +                                                  "required": [
      +                                                    "type",
      +                                                    "destinationId"
      +                                                  ],
      +                                                  "type": "object"
      +                                                },
      +                                                "type": "array"
      +                                              },
      +                                              "trigger": {
      +                                                "additionalProperties": false,
      +                                                "properties": {
      +                                                  "direction": {
      +                                                    "enum": [
      +                                                      "VERTICAL",
      +                                                      "HORIZONTAL",
      +                                                      "UP",
      +                                                      "DOWN",
      +                                                      "LEFT",
      +                                                      "RIGHT",
      +                                                      "ANY"
      +                                                    ],
      +                                                    "type": "string"
      +                                                  },
      +                                                  "durationMs": {
      +                                                    "minimum": 0,
      +                                                    "type": "number"
      +                                                  },
      +                                                  "type": {
      +                                                    "enum": [
      +                                                      "SCROLL_TO",
      +                                                      "WAIT",
      +                                                      "DRAG_TO",
      +                                                      "ON_CLICK",
      +                                                      "INPUT",
      +                                                      "HOVER"
      +                                                    ],
      +                                                    "type": "string"
      +                                                  }
      +                                                },
      +                                                "required": [
      +                                                  "type"
      +                                                ],
      +                                                "type": "object"
      +                                              }
      +                                            },
      +                                            "required": [
      +                                              "trigger",
      +                                              "actions"
      +                                            ],
      +                                            "type": "object"
      +                                          },
      +                                          "type": "array"
      +                                        },
      +                                        "rect": {
      +                                          "additionalProperties": false,
      +                                          "properties": {
      +                                            "h": {
      +                                              "type": "number"
      +                                            },
      +                                            "w": {
      +                                              "type": "number"
      +                                            },
      +                                            "x": {
      +                                              "type": "number"
      +                                            },
      +                                            "y": {
      +                                              "type": "number"
      +                                            }
      +                                          },
      +                                          "required": [
      +                                            "x",
      +                                            "y",
      +                                            "w",
      +                                            "h"
      +                                          ],
      +                                          "type": "object"
      +                                        },
      +                                        "type": {
      +                                          "enum": [
      +                                            "SCREEN",
      +                                            "HOTSPOT"
      +                                          ],
      +                                          "type": "string"
      +                                        }
      +                                      },
      +                                      "required": [
      +                                        "id",
      +                                        "type"
      +                                      ],
      +                                      "type": "object"
      +                                    },
      +                                    "type": "array"
      +                                  },
      +                                  "startNodeId": {
      +                                    "type": "string"
      +                                  }
      +                                },
      +                                "required": [
      +                                  "startNodeId",
      +                                  "nodes"
      +                                ],
      +                                "type": "object"
      +                              },
      +                              "kind": {
      +                                "const": "prototype",
      +                                "type": "string"
      +                              },
      +                              "presentation": {
      +                                "enum": [
      +                                  "slideshow",
      +                                  "interactive"
      +                                ],
      +                                "type": "string"
      +                              },
      +                              "provider": {
      +                                "anyOf": [
      +                                  {
      +                                    "enum": [
      +                                      "figma_make",
      +                                      "figma_proto",
      +                                      "lovable",
      +                                      "base44",
      +                                      "google_stitch"
      +                                    ],
      +                                    "type": "string"
      +                                  },
      +                                  {
      +                                    "type": "null"
      +                                  }
      +                                ]
      +                              }
      +                            },
      +                            "required": [
      +                              "kind",
      +                              "presentation",
      +                              "files"
      +                            ],
      +                            "type": "object"
      +                          }
      +                        ]
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ],
      +                    "description": "Structured experience object, never prose. For a live website, put the plain URL in experience.url and include kind, stopCondition, isPrototype, verified, antiBot and advancedFiles. Use null for an unconfigured draft."
      +                  },
      +                  "includeBenchmarks": {
      +                    "type": "boolean"
      +                  },
      +                  "scenario": {
      +                    "description": "Draft 1–3 short sentences in second person, present tense: situation + reason to act now. Do not repeat the task.",
      +                    "maxLength": 500,
      +                    "type": "string"
      +                  },
      +                  "task": {
      +                    "description": "Draft one short sentence, usually 10–25 words: action + one target + essential constraints. Preserve accepted wording.",
      +                    "maxLength": 500,
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "scenario",
      +                  "experience",
      +                  "credentials",
      +                  "task"
      +                ],
      +                "type": "object"
      +              },
      +              "id": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "type": {
      +                "const": "ai-user-test",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "type",
      +              "configuration"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "id": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "questions": {
      +                "description": "Follow-up survey questions capture judgments, comparisons, friction and what the researcher wants to learn. Use explicit question objects with unique id, type, question and required fields. open_ended needs question text; multiple_choice, ranking and budget_allocation need at least two non-empty options. allowMultiple applies to multiple_choice. rating needs scaleMin < scaleMax; rating and ranking require scaleLabels.min and scaleLabels.max naming the endpoints. budget_allocation asks testers to split 100 points across options. yes_no asks for a yes/no answer. At most 10 questions per Survey; launch preview reports plan and test-wide limits.",
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "additionalContext": {
      +                      "type": "string"
      +                    },
      +                    "allowMultiple": {
      +                      "type": "boolean"
      +                    },
      +                    "generatedLabels": {
      +                      "items": {
      +                        "type": "string"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "id": {
      +                      "minLength": 1,
      +                      "type": "string"
      +                    },
      +                    "onlyShowAfterFlowCompletion": {
      +                      "type": "boolean"
      +                    },
      +                    "optionImages": {
      +                      "items": {
      +                        "anyOf": [
      +                          {
      +                            "additionalProperties": false,
      +                            "properties": {
      +                              "fileKey": {
      +                                "type": "string"
      +                              },
      +                              "fileName": {
      +                                "type": "string"
      +                              },
      +                              "fileSize": {
      +                                "minimum": 0,
      +                                "type": "number"
      +                              },
      +                              "fileType": {
      +                                "type": "string"
      +                              }
      +                            },
      +                            "required": [
      +                              "fileKey",
      +                              "fileName",
      +                              "fileType",
      +                              "fileSize"
      +                            ],
      +                            "type": "object"
      +                          },
      +                          {
      +                            "type": "null"
      +                          }
      +                        ]
      +                      },
      +                      "type": "array"
      +                    },
      +                    "options": {
      +                      "items": {
      +                        "type": "string"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "question": {
      +                      "type": "string"
      +                    },
      +                    "questionImages": {
      +                      "items": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "fileKey": {
      +                            "type": "string"
      +                          },
      +                          "fileName": {
      +                            "type": "string"
      +                          },
      +                          "fileSize": {
      +                            "minimum": 0,
      +                            "type": "number"
      +                          },
      +                          "fileType": {
      +                            "type": "string"
      +                          }
      +                        },
      +                        "required": [
      +                          "fileKey",
      +                          "fileName",
      +                          "fileType",
      +                          "fileSize"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "required": {
      +                      "type": "boolean"
      +                    },
      +                    "scaleLabels": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "max": {
      +                          "type": "string"
      +                        },
      +                        "min": {
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "min",
      +                        "max"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "scaleMax": {
      +                      "type": "number"
      +                    },
      +                    "scaleMin": {
      +                      "type": "number"
      +                    },
      +                    "type": {
      +                      "enum": [
      +                        "open_ended",
      +                        "multiple_choice",
      +                        "rating",
      +                        "ranking",
      +                        "budget_allocation",
      +                        "yes_no"
      +                      ],
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "type",
      +                    "question",
      +                    "required"
      +                  ],
      +                  "type": "object"
      +                },
      +                "maxItems": 10,
      +                "type": "array"
      +              },
      +              "type": {
      +                "const": "survey",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "type",
      +              "questions"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "configuration": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "conformanceLevel": {
      +                    "enum": [
      +                      "AA",
      +                      "AAA"
      +                    ],
      +                    "type": "string"
      +                  },
      +                  "files": {
      +                    "items": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "fileKey": {
      +                          "minLength": 1,
      +                          "type": "string"
      +                        },
      +                        "fileName": {
      +                          "type": "string"
      +                        },
      +                        "fileSize": {
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        "fileType": {
      +                          "type": "string"
      +                        },
      +                        "height": {
      +                          "exclusiveMinimum": 0,
      +                          "type": "number"
      +                        },
      +                        "uploadedAt": {
      +                          "type": "string"
      +                        },
      +                        "width": {
      +                          "exclusiveMinimum": 0,
      +                          "type": "number"
      +                        }
      +                      },
      +                      "required": [
      +                        "fileKey",
      +                        "fileName",
      +                        "fileType",
      +                        "fileSize",
      +                        "uploadedAt"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "type": "array"
      +                  }
      +                },
      +                "required": [
      +                  "conformanceLevel",
      +                  "files"
      +                ],
      +                "type": "object"
      +              },
      +              "id": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "type": {
      +                "const": "accessibility-test",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "type",
      +              "configuration"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "description": "Card sorting shows participants a set of cards (content items, features or menu entries) and asks them to group the cards into categories, revealing how they expect information to be organized. Use a closed sort to test an existing structure: participants place every card into your predefined categories (at least 2). Use an open sort to discover participants' own mental model: they create and name their own categories; predefined categories are optional starting points. Card and category labels should be short and self-explanatory; avoid labels that repeat category names. Leave instructions empty to show default instructions in each participant's language. Costs 10 credits per participant and is unavailable on the Free plan.",
      +            "properties": {
      +              "configuration": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "cards": {
      +                    "description": "Cards to sort, 1 to 25.",
      +                    "items": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "description": {
      +                          "description": "Optional detail shown on the card when showDescriptions is true, up to 200 characters.",
      +                          "type": "string"
      +                        },
      +                        "id": {
      +                          "description": "Stable unique ID, e.g. \"card-1\" or \"category-1\".",
      +                          "pattern": "^[A-Za-z0-9_-]{1,64}$",
      +                          "type": "string"
      +                        },
      +                        "image": {
      +                          "anyOf": [
      +                            {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "fileKey": {
      +                                  "type": "string"
      +                                },
      +                                "fileName": {
      +                                  "type": "string"
      +                                },
      +                                "fileSize": {
      +                                  "minimum": 0,
      +                                  "type": "number"
      +                                },
      +                                "fileType": {
      +                                  "type": "string"
      +                                }
      +                              },
      +                              "required": [
      +                                "fileKey",
      +                                "fileName",
      +                                "fileType",
      +                                "fileSize"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ],
      +                          "description": "Existing authorized workspace image; omit unless the user supplied one."
      +                        },
      +                        "label": {
      +                          "description": "Short, self-explanatory card name, up to 50 characters.",
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "id",
      +                        "label"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "maxItems": 25,
      +                    "type": "array"
      +                  },
      +                  "categories": {
      +                    "description": "Predefined categories, at most 10. Closed sorts need at least 2; open sorts may use [].",
      +                    "items": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "id": {
      +                          "description": "Stable unique ID, e.g. \"card-1\" or \"category-1\".",
      +                          "pattern": "^[A-Za-z0-9_-]{1,64}$",
      +                          "type": "string"
      +                        },
      +                        "label": {
      +                          "description": "Short category name, up to 50 characters.",
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "id",
      +                        "label"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "maxItems": 10,
      +                    "type": "array"
      +                  },
      +                  "hideCardNames": {
      +                    "description": "Hide the label of cards that have an image, so participants sort by image alone.",
      +                    "type": "boolean"
      +                  },
      +                  "instructions": {
      +                    "description": "Participant instructions. Use \"\" for the default, localized instructions.",
      +                    "type": "string"
      +                  },
      +                  "showDescriptions": {
      +                    "type": "boolean"
      +                  },
      +                  "showImages": {
      +                    "type": "boolean"
      +                  },
      +                  "sortType": {
      +                    "description": "closed: participants use only the predefined categories. open: participants create their own categories.",
      +                    "enum": [
      +                      "closed",
      +                      "open"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "instructions",
      +                  "sortType",
      +                  "categories",
      +                  "cards"
      +                ],
      +                "type": "object"
      +              },
      +              "id": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "type": {
      +                "const": "card-sorting",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "type",
      +              "configuration"
      +            ],
      +            "type": "object"
      +          }
      +        ],
      +        "description": "AI draft example: {\"id\":\"task-1\",\"type\":\"ai-user-test\",\"configuration\":{\"task\":\"\",\"scenario\":\"\",\"experience\":null,\"credentials\":null}}. Prefer add_task/update_task for website tasks."
      +      },
      +      "type": "array"
      +    },
      +    "schemaVersion": {
      +      "const": 2,
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "schemaVersion",
      +    "audience",
      +    "blocks"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / blockId
      Added value: +{
      +  "description": "Server-assigned ID of the added block. Use it for subsequent edits and references.",
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare a non-destructive, non-idempotent write. The description adds meaningful context beyond them: the result is a saved draft with a URL and the call never launches a test or consumes credits, resolving the main ambiguity for a write tool. It doesn't mention retry/idempotency consequences, which keeps it from a 5.

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

Conciseness5/5

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

Three short sentences, no filler, with the core action and optionality front-loaded before the behavioral caveat. Every clause earns its place.

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

Completeness4/5

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

Given a very large nested block/audience schema and the presence of an output schema (so return structure needn't be detailed), the description covers the operation, optionality, and the critical 'does not launch' constraint. It could say more about the draft-vs-launched lifecycle and idempotency, but it is sufficient for correct invocation.

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

Parameters4/5

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

Top-level schema description coverage is 0%, so the description carries the load and does explain that the definition holds 'known blocks and audience' and is optional, mapping to both parameters. It adds little on the title parameter (e.g., the 200-char bound), so not a 5.

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

Purpose5/5

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

States a specific verb (create) and resource (a draft test) with the two things it takes: a title and an optional definition of blocks and audience. The closing clause 'Never launches or spends test credits' cleanly separates it from launch_test and preview_test_launch, so an agent can pick it without opening a schema.

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

Usage Guidelines3/5

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

Offers one useful usage rule ('Omit definition for an empty draft') but gives no explicit when-to-use versus alternatives such as add_test_block, update_test_definition, or prepare_test_block. Usage is implied rather than contrasted, which is the minimum-viable level.

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.

Resources