Skip to main content
Glama
kintone

kintone MCP Server

Official
by kintone

Update Form Layout

kintone-update-form-layout

Update kintone app form layout in preview: arrange fields into rows, groups, and subtables. Deploy to apply changes to the live app.

Instructions

Update form layout settings in a kintone app (preview environment only). Use kintone-get-form-fields and kintone-get-form-layout first to understand current structure. Field codes are case-sensitive and must match exactly. For SUBTABLE fields, use nested structure: {type: 'SUBTABLE', code: 'table_code', fields: [{type: 'field_type', code: 'field_code'}, ...]}. Required when adding new fields to ensure proper positioning. Changes require kintone-deploy-app to apply to live app.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appYesThe ID of the app to update form layout for (numeric value as string)
layoutYesArray of layout elements (rows, subtables, groups)
revisionNoExpected app configuration revision number. If the specified revision number does not match the current app's revision, an error will occur and the update will not be performed. If not specified or set to '-1', the revision number will not be checked.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
revisionYesUpdated app configuration revision number

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.9.3
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedInput schema / properties / layout / items / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "fields": {
      -        "description": "List of field layouts in the row",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "code": {
      -              "description": "Field code (required for most field types except LABEL, SPACER, and HR). Must exactly match the existing field code in the app",
      -              "type": "string"
      -            },
      -            "elementId": {
      -              "description": "Element ID for Blank space fields (only used with Blank space field type)",
      -              "type": "string"
      -            },
      -            "label": {
      -              "description": "Text to set for Label fields (only used with Label field type)",
      -              "type": "string"
      -            },
      -            "size": {
      -              "additionalProperties": false,
      -              "description": "Width and height configurations for fields",
      -              "properties": {
      -                "height": {
      -                  "description": "Field height (only applicable for specific fields like Blank space and Text Area)",
      -                  "type": [
      -                    "string",
      -                    "number"
      -                  ]
      -                },
      -                "innerHeight": {
      -                  "description": "Inner height for multi-line text fields",
      -                  "type": [
      -                    "string",
      -                    "number"
      -                  ]
      -                },
      -                "width": {
      -                  "description": "Field width in pixels",
      -                  "type": [
      -                    "string",
      -                    "number"
      -                  ]
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "type": {
      -              "anyOf": [
      -                {
      -                  "const": "SINGLE_LINE_TEXT",
      -                  "description": "Text or Look-up field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "MULTI_LINE_TEXT",
      -                  "description": "Text Area field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "RICH_TEXT",
      -                  "description": "Rich text field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "NUMBER",
      -                  "description": "Number or Look-up field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "CALC",
      -                  "description": "Calculated field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "RADIO_BUTTON",
      -                  "description": "Radio button field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "CHECK_BOX",
      -                  "description": "Check box field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "MULTI_SELECT",
      -                  "description": "Multi-choice field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "DROP_DOWN",
      -                  "description": "Drop-down field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "USER_SELECT",
      -                  "description": "User selection field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "ORGANIZATION_SELECT",
      -                  "description": "Department selection field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "GROUP_SELECT",
      -                  "description": "Group selection field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "DATE",
      -                  "description": "Date field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "TIME",
      -                  "description": "Time field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "DATETIME",
      -                  "description": "Date and time field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "LINK",
      -                  "description": "Link field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "FILE",
      -                  "description": "Attachment field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "SUBTABLE",
      -                  "description": "Table field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "RECORD_NUMBER",
      -                  "description": "Record number field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "CREATOR",
      -                  "description": "Created by field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "CREATED_TIME",
      -                  "description": "Created datetime field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "MODIFIER",
      -                  "description": "Updated by field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "UPDATED_TIME",
      -                  "description": "Updated datetime field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "STATUS",
      -                  "description": "Process management status field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "STATUS_ASSIGNEE",
      -                  "description": "Assignee of the Process Management status field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "CATEGORY",
      -                  "description": "Category field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "REFERENCE_TABLE",
      -                  "description": "Related Records field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "GROUP",
      -                  "description": "Field group",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "LABEL",
      -                  "description": "Label field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "SPACER",
      -                  "description": "Blank space field",
      -                  "type": "string"
      -                },
      -                {
      -                  "const": "HR",
      -                  "description": "Border field",
      -                  "type": "string"
      -                }
      -              ],
      -              "description": "The field type"
      -            }
      -          },
      -          "required": [
      -            "type"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "type": {
      -        "const": "ROW",
      -        "description": "A normal row of fields",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "fields"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "code": {
      -        "description": "The field code of the SUBTABLE field (not individual fields inside)",
      -        "type": "string"
      -      },
      -      "fields": {
      -        "description": "List of field layouts INSIDE the subtable. These should be the field codes that exist within the subtable definition. Use kintone-get-form-fields to see the correct subtable structure. The subtable structure should be: {type: 'SUBTABLE', code: 'table_code', fields: [{type: 'TEXT', code: 'field_inside_table'}, ...]}",
      -        "items": {
      -          "$ref": "#/properties/layout/items/anyOf/0/properties/fields/items"
      -        },
      -        "type": "array"
      -      },
      -      "type": {
      -        "const": "SUBTABLE",
      -        "description": "A Table",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "code",
      -      "fields"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "code": {
      -        "description": "The field code of the Group field",
      -        "type": "string"
      -      },
      -      "layout": {
      -        "description": "List of field layouts inside the Group field",
      -        "items": {
      -          "$ref": "#/properties/layout/items/anyOf/0"
      -        },
      -        "type": "array"
      -      },
      -      "type": {
      -        "const": "GROUP",
      -        "description": "A Group field",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "code",
      -      "layout"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "fields": {
      +        "description": "List of field layouts in the row",
      +        "items": {
      +          "properties": {
      +            "code": {
      +              "description": "Field code (required for most field types except LABEL, SPACER, and HR). Must exactly match the existing field code in the app",
      +              "type": "string"
      +            },
      +            "elementId": {
      +              "description": "Element ID for Blank space fields (only used with Blank space field type)",
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Text to set for Label fields (only used with Label field type)",
      +              "type": "string"
      +            },
      +            "size": {
      +              "description": "Width and height configurations for fields",
      +              "properties": {
      +                "height": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "description": "Field height (only applicable for specific fields like Blank space and Text Area)",
      +                  "type": [
      +                    "string",
      +                    "number"
      +                  ]
      +                },
      +                "innerHeight": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "description": "Inner height for multi-line text fields",
      +                  "type": [
      +                    "string",
      +                    "number"
      +                  ]
      +                },
      +                "width": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "description": "Field width in pixels",
      +                  "type": [
      +                    "string",
      +                    "number"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": {
      +              "anyOf": [
      +                {
      +                  "const": "SINGLE_LINE_TEXT",
      +                  "description": "Text or Look-up field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "MULTI_LINE_TEXT",
      +                  "description": "Text Area field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "RICH_TEXT",
      +                  "description": "Rich text field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "NUMBER",
      +                  "description": "Number or Look-up field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "CALC",
      +                  "description": "Calculated field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "RADIO_BUTTON",
      +                  "description": "Radio button field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "CHECK_BOX",
      +                  "description": "Check box field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "MULTI_SELECT",
      +                  "description": "Multi-choice field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "DROP_DOWN",
      +                  "description": "Drop-down field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "USER_SELECT",
      +                  "description": "User selection field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "ORGANIZATION_SELECT",
      +                  "description": "Department selection field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "GROUP_SELECT",
      +                  "description": "Group selection field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "DATE",
      +                  "description": "Date field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "TIME",
      +                  "description": "Time field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "DATETIME",
      +                  "description": "Date and time field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "LINK",
      +                  "description": "Link field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "FILE",
      +                  "description": "Attachment field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "SUBTABLE",
      +                  "description": "Table field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "RECORD_NUMBER",
      +                  "description": "Record number field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "CREATOR",
      +                  "description": "Created by field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "CREATED_TIME",
      +                  "description": "Created datetime field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "MODIFIER",
      +                  "description": "Updated by field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "UPDATED_TIME",
      +                  "description": "Updated datetime field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "STATUS",
      +                  "description": "Process management status field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "STATUS_ASSIGNEE",
      +                  "description": "Assignee of the Process Management status field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "CATEGORY",
      +                  "description": "Category field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "REFERENCE_TABLE",
      +                  "description": "Related Records field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "GROUP",
      +                  "description": "Field group",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "LABEL",
      +                  "description": "Label field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "SPACER",
      +                  "description": "Blank space field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "HR",
      +                  "description": "Border field",
      +                  "type": "string"
      +                }
      +              ],
      +              "description": "The field type",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "type": {
      +        "const": "ROW",
      +        "description": "A normal row of fields",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "fields"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "code": {
      +        "description": "The field code of the SUBTABLE field (not individual fields inside)",
      +        "type": "string"
      +      },
      +      "fields": {
      +        "description": "List of field layouts INSIDE the subtable. These should be the field codes that exist within the subtable definition. Use kintone-get-form-fields to see the correct subtable structure. The subtable structure should be: {type: 'SUBTABLE', code: 'table_code', fields: [{type: 'TEXT', code: 'field_inside_table'}, ...]}",
      +        "items": {
      +          "properties": {
      +            "code": {
      +              "description": "Field code (required for most field types except LABEL, SPACER, and HR). Must exactly match the existing field code in the app",
      +              "type": "string"
      +            },
      +            "elementId": {
      +              "description": "Element ID for Blank space fields (only used with Blank space field type)",
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Text to set for Label fields (only used with Label field type)",
      +              "type": "string"
      +            },
      +            "size": {
      +              "description": "Width and height configurations for fields",
      +              "properties": {
      +                "height": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "description": "Field height (only applicable for specific fields like Blank space and Text Area)",
      +                  "type": [
      +                    "string",
      +                    "number"
      +                  ]
      +                },
      +                "innerHeight": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "description": "Inner height for multi-line text fields",
      +                  "type": [
      +                    "string",
      +                    "number"
      +                  ]
      +                },
      +                "width": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "number"
      +                    }
      +                  ],
      +                  "description": "Field width in pixels",
      +                  "type": [
      +                    "string",
      +                    "number"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": {
      +              "anyOf": [
      +                {
      +                  "const": "SINGLE_LINE_TEXT",
      +                  "description": "Text or Look-up field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "MULTI_LINE_TEXT",
      +                  "description": "Text Area field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "RICH_TEXT",
      +                  "description": "Rich text field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "NUMBER",
      +                  "description": "Number or Look-up field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "CALC",
      +                  "description": "Calculated field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "RADIO_BUTTON",
      +                  "description": "Radio button field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "CHECK_BOX",
      +                  "description": "Check box field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "MULTI_SELECT",
      +                  "description": "Multi-choice field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "DROP_DOWN",
      +                  "description": "Drop-down field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "USER_SELECT",
      +                  "description": "User selection field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "ORGANIZATION_SELECT",
      +                  "description": "Department selection field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "GROUP_SELECT",
      +                  "description": "Group selection field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "DATE",
      +                  "description": "Date field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "TIME",
      +                  "description": "Time field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "DATETIME",
      +                  "description": "Date and time field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "LINK",
      +                  "description": "Link field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "FILE",
      +                  "description": "Attachment field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "SUBTABLE",
      +                  "description": "Table field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "RECORD_NUMBER",
      +                  "description": "Record number field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "CREATOR",
      +                  "description": "Created by field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "CREATED_TIME",
      +                  "description": "Created datetime field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "MODIFIER",
      +                  "description": "Updated by field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "UPDATED_TIME",
      +                  "description": "Updated datetime field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "STATUS",
      +                  "description": "Process management status field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "STATUS_ASSIGNEE",
      +                  "description": "Assignee of the Process Management status field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "CATEGORY",
      +                  "description": "Category field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "REFERENCE_TABLE",
      +                  "description": "Related Records field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "GROUP",
      +                  "description": "Field group",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "LABEL",
      +                  "description": "Label field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "SPACER",
      +                  "description": "Blank space field",
      +                  "type": "string"
      +                },
      +                {
      +                  "const": "HR",
      +                  "description": "Border field",
      +                  "type": "string"
      +                }
      +              ],
      +              "description": "The field type",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "type": {
      +        "const": "SUBTABLE",
      +        "description": "A Table",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "code",
      +      "fields"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "code": {
      +        "description": "The field code of the Group field",
      +        "type": "string"
      +      },
      +      "layout": {
      +        "description": "List of field layouts inside the Group field",
      +        "items": {
      +          "properties": {
      +            "fields": {
      +              "description": "List of field layouts in the row",
      +              "items": {
      +                "properties": {
      +                  "code": {
      +                    "description": "Field code (required for most field types except LABEL, SPACER, and HR). Must exactly match the existing field code in the app",
      +                    "type": "string"
      +                  },
      +                  "elementId": {
      +                    "description": "Element ID for Blank space fields (only used with Blank space field type)",
      +                    "type": "string"
      +                  },
      +                  "label": {
      +                    "description": "Text to set for Label fields (only used with Label field type)",
      +                    "type": "string"
      +                  },
      +                  "size": {
      +                    "description": "Width and height configurations for fields",
      +                    "properties": {
      +                      "height": {
      +                        "anyOf": [
      +                          {
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "number"
      +                          }
      +                        ],
      +                        "description": "Field height (only applicable for specific fields like Blank space and Text Area)",
      +                        "type": [
      +                          "string",
      +                          "number"
      +                        ]
      +                      },
      +                      "innerHeight": {
      +                        "anyOf": [
      +                          {
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "number"
      +                          }
      +                        ],
      +                        "description": "Inner height for multi-line text fields",
      +                        "type": [
      +                          "string",
      +                          "number"
      +                        ]
      +                      },
      +                      "width": {
      +                        "anyOf": [
      +                          {
      +                            "type": "string"
      +                          },
      +                          {
      +                            "type": "number"
      +                          }
      +                        ],
      +                        "description": "Field width in pixels",
      +                        "type": [
      +                          "string",
      +                          "number"
      +                        ]
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  "type": {
      +                    "anyOf": [
      +                      {
      +                        "const": "SINGLE_LINE_TEXT",
      +                        "description": "Text or Look-up field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "MULTI_LINE_TEXT",
      +                        "description": "Text Area field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "RICH_TEXT",
      +                        "description": "Rich text field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "NUMBER",
      +                        "description": "Number or Look-up field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "CALC",
      +                        "description": "Calculated field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "RADIO_BUTTON",
      +                        "description": "Radio button field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "CHECK_BOX",
      +                        "description": "Check box field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "MULTI_SELECT",
      +                        "description": "Multi-choice field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "DROP_DOWN",
      +                        "description": "Drop-down field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "USER_SELECT",
      +                        "description": "User selection field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "ORGANIZATION_SELECT",
      +                        "description": "Department selection field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "GROUP_SELECT",
      +                        "description": "Group selection field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "DATE",
      +                        "description": "Date field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "TIME",
      +                        "description": "Time field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "DATETIME",
      +                        "description": "Date and time field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "LINK",
      +                        "description": "Link field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "FILE",
      +                        "description": "Attachment field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "SUBTABLE",
      +                        "description": "Table field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "RECORD_NUMBER",
      +                        "description": "Record number field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "CREATOR",
      +                        "description": "Created by field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "CREATED_TIME",
      +                        "description": "Created datetime field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "MODIFIER",
      +                        "description": "Updated by field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "UPDATED_TIME",
      +                        "description": "Updated datetime field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "STATUS",
      +                        "description": "Process management status field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "STATUS_ASSIGNEE",
      +                        "description": "Assignee of the Process Management status field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "CATEGORY",
      +                        "description": "Category field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "REFERENCE_TABLE",
      +                        "description": "Related Records field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "GROUP",
      +                        "description": "Field group",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "LABEL",
      +                        "description": "Label field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "SPACER",
      +                        "description": "Blank space field",
      +                        "type": "string"
      +                      },
      +                      {
      +                        "const": "HR",
      +                        "description": "Border field",
      +                        "type": "string"
      +                      }
      +                    ],
      +                    "description": "The field type",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "type"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "type": {
      +              "const": "ROW",
      +              "description": "A normal row of fields",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "fields"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "type": {
      +        "const": "GROUP",
      +        "description": "A Group field",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "code",
      +      "layout"
      +    ],
      +    "type": "object"
      +  }
      +]
    • addedInput schema / properties / layout / items / type
      Added value: +"object"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Addedv1.9.1
  3. Removedv1.9.0
  4. First observedv1.4.0

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral disclosure burden. It usefully discloses preview-only behavior, case-sensitive field codes, subtable structure, and the need for a deploy step. However, it does not mention that updating form layout may replace the entire layout or reposition existing fields, which is a significant side effect for a mutation tool.

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?

The description is compact and front-loaded: purpose, environment, prerequisite calls, sensitivity constraint, subtable example, and deployment requirement each earn their place. No redundant or filler sentences are present.

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?

For a complex layout-update tool, the description covers the preview environment, pre-read steps, exact matching requirements, subtable structure, and deployment workflow. It falls short only by not clarifying whether the update is a full replacement of the layout or an incremental change, and by not explicitly routing to sibling field tools when relevant.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaningful value beyond the schema by warning that field codes are case-sensitive and must match exactly, and by giving concrete nested syntax for SUBTABLE fields. It does not add revision-parameter guidance, but the schema already documents that parameter well.

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 clearly states the verb and resource: 'Update form layout settings in a kintone app'. It also adds the limitation that it only works in the preview environment, which helps distinguish it from other tools. It does not explicitly name a sibling tool for contrast, but the resource is specific enough to avoid major confusion.

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?

The description provides actionable guidance: use kintone-get-form-fields and kintone-get-form-layout first, ensure field codes match exactly, and deploy via kintone-deploy-app to apply changes to the live app. It does not explicitly state when not to use this tool versus sibling update tools, but the context is clear.

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