Skip to main content
Glama
kintone

kintone MCP Server

Official
by kintone

Get Form Layout

kintone-get-form-layout

Retrieve a kintone app's form layout to see rows, subtables, and field positions before updating. Understand current arrangement to correctly place new fields or rearrange existing ones.

Instructions

Get form layout from a kintone app. Returns layout structure with rows, subtables, groups, and field positioning. Use to understand current form arrangement before layout updates. Essential when adding new fields that need specific positioning or when rearranging existing fields. Supports both live and pre-live app settings retrieval.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appYesThe ID of the app to retrieve form layout from (numeric value as string)
previewNoWhether to retrieve from preview environment (requires app administration permission for preview, record view/add permission for production)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
layoutYesArray of layout elements (rows, subtables, groups)
revisionYesApp 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"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput 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: +[
      +  {
      +    "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": {
      +                  "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"
      +  },
      +  {
      +    "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": {
      +          "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": {
      +                  "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"
      +  },
      +  {
      +    "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": {
      +          "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": {
      +                        "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"
      +  }
      +]
    • addedOutput schema / properties / layout / items / type
      Added value: +"object"
  2. Addedv1.9.1
  3. Removedv1.9.0
  4. First observedv1.4.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden, but it uses 'Get' and 'retrieval' to signal a non-mutating operation and explicitly states support for both live and pre-live settings. It doesn't cover permissions or error behavior, though the preview parameter schema already contains the relevant permission notes.

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

Conciseness3/5

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

The description is reasonably sized and front-loaded, but 'Use to understand current form arrangement before layout updates' and 'Essential when adding new fields... or rearranging existing fields' are redundant restatements of the same usage guidance. It could be condensed without losing value.

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?

There is an output schema covering the return structure, and the description covers rationale, use cases, and the live/preview retrieval distinction. Permission caveats are already present in the preview parameter description, so the missing details are minor for a simple read-only retrieval tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters and their meanings. The description adds the live/pre-live vocabulary, but that maps directly to the preview parameter and does not introduce new constraints or syntax.

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?

The first sentence names the exact action and resource ('Get form layout from a kintone app'), and the second specifies the return payload ('rows, subtables, groups, and field positioning'). This clearly distinguishes it from sibling tools like kintone-get-form-fields and kintone-update-form-layout.

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 gives concrete use triggers: before layout updates, when adding fields needing positioning, and when rearranging existing fields. It does not explicitly say when not to use it or route to alternatives, but the context is clear enough for an agent.

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