Skip to main content
Glama
kintone

kintone MCP Server

Official
by kintone

Update Records

kintone-update-records

Update multiple records in a kintone app using record IDs and field values; call kintone-get-form-fields first to find valid field codes and formats.

Instructions

Update multiple records in a kintone app. Use kintone-get-form-fields tool first to discover available field codes and their required formats. Note: Some fields cannot be updated (LOOKUP copies, STATUS, CATEGORY, CALC, ASSIGNEE, auto-calculated fields).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appYesThe ID of the app to update records in (numeric value as string)
recordsYesArray of records to update (min 1, max 100). Each record must have both id (which record to update) and record (the field values to set).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
recordsYesArray of updated record information

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.11.0
    • changedInput schema / properties / records / description
      Previous value: -"Array of records to update (min 1, max 100). Each record must have an ID to identify which record to update."New value: +"Array of records to update (min 1, max 100). Each record must have both id (which record to update) and record (the field values to set)."
    • changedInput schema / properties / records / items / properties / id / description
      Previous value: -"Record ID to update (numeric value as string)"New value: +"Required. Record ID to update (numeric value as string)"
    • changedInput schema / properties / records / items / properties / record / description
      Previous value: -"Record data with field codes as keys. Use kintone-get-form-fields tool first to discover available field codes and their types."New value: +"Required. Record data with field codes as keys. Use kintone-get-form-fields tool first to discover available field codes and their types."
    • removedInput schema / properties / records / items / required
      Removed value: -[
      -  "id",
      -  "record"
      -]
  2. Changed6 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"
    • removedInput schema / properties / records / items / additionalProperties
      Removed value: -false
    • changedInput schema / properties / records / items / properties / record / additionalProperties / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "description": "Text value for string fields (SINGLE_LINE_TEXT, MULTI_LINE_TEXT, RICH_TEXT, LINK)",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "description": "Numeric value as string for NUMBER fields (e.g., '123.45'). Only half-width numbers, +/- signs, decimal point (.), and exponential notation (e/E) are allowed. Empty string, null, or undefined for empty values.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "description": "Date/time value for DATE, TIME, DATETIME fields (DATE: 'YYYY-MM-DD', TIME: 'HH:mm', DATETIME: 'YYYY-MM-DDTHH:mm:ssZ')",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "description": "Selected option value for RADIO_BUTTON and DROP_DOWN fields",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "minItems": 0,
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "description": "Array of selected option values for CHECK_BOX and MULTI_SELECT fields"
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "code": {
      -                      "description": "User code/login name",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "code"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "description": "Array of selected users for USER_SELECT fields"
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "code": {
      -                      "description": "Organization code",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "code"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "description": "Array of selected organizations for ORGANIZATION_SELECT fields"
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "code": {
      -                      "description": "Group code",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "code"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "description": "Array of selected groups for GROUP_SELECT fields"
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "anyOf": [
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "code": {
      -                    "description": "User code/login name",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "code"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "description": "User information for CREATOR and MODIFIER fields (registration format with code only)"
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "anyOf": [
      -              {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "id": {
      -                      "description": "Row ID (optional for new rows)",
      -                      "type": "string"
      -                    },
      -                    "value": {
      -                      "additionalProperties": {},
      -                      "description": "Field values within this subtable row",
      -                      "type": "object"
      -                    }
      -                  },
      -                  "required": [
      -                    "value"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ],
      -            "description": "Array of subtable rows for SUBTABLE fields"
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "description": "Lookup field value for LOOKUP fields (string for SINGLE_LINE_TEXT key, numeric string for NUMBER key)",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "value": {
      -            "description": "Date/time value for CREATED_TIME and UPDATED_TIME fields (ISO 8601 format, only for registration)",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "value"
      -        ],
      -        "type": "object"
      -      }
      -    ]
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "value": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "fileKey": {
      -                  "description": "File key obtained from file upload API",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "fileKey"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Array of uploaded files for FILE fields"
      -      }
      -    },
      -    "required": [
      -      "value"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "anyOf": [
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Text value for string fields (SINGLE_LINE_TEXT, MULTI_LINE_TEXT, RICH_TEXT, LINK)",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Numeric value as string for NUMBER fields (e.g., '123.45'). Only half-width numbers, +/- signs, decimal point (.), and exponential notation (e/E) are allowed. Empty string, null, or undefined for empty values.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Date/time value for DATE, TIME, DATETIME fields (DATE: 'YYYY-MM-DD', TIME: 'HH:mm', DATETIME: 'YYYY-MM-DDTHH:mm:ssZ')",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Selected option value for RADIO_BUTTON and DROP_DOWN fields",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "minItems": 0,
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Array of selected option values for CHECK_BOX and MULTI_SELECT fields",
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "properties": {
      +                    "code": {
      +                      "description": "User code/login name",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "code"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Array of selected users for USER_SELECT fields",
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "properties": {
      +                    "code": {
      +                      "description": "Organization code",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "code"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Array of selected organizations for ORGANIZATION_SELECT fields",
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "properties": {
      +                    "code": {
      +                      "description": "Group code",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "code"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Array of selected groups for GROUP_SELECT fields",
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "properties": {
      +                  "code": {
      +                    "description": "User code/login name",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "code"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "User information for CREATOR and MODIFIER fields (registration format with code only)",
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "properties": {
      +                    "id": {
      +                      "description": "Row ID (optional for new rows)",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "additionalProperties": {},
      +                      "description": "Field values within this subtable row",
      +                      "propertyNames": {
      +                        "type": "string"
      +                      },
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Array of subtable rows for SUBTABLE fields",
      +            "type": [
      +              "array",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Lookup field value for LOOKUP fields (string for SINGLE_LINE_TEXT key, numeric string for NUMBER key)",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "properties": {
      +          "value": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Date/time value for CREATED_TIME and UPDATED_TIME fields (ISO 8601 format, only for registration)",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "value"
      +        ],
      +        "type": "object"
      +      }
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "value": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "properties": {
      +                "fileKey": {
      +                  "description": "File key obtained from file upload API",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "fileKey"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Array of uploaded files for FILE fields",
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "value"
      +    ],
      +    "type": "object"
      +  }
      +]
    • addedInput schema / properties / records / items / properties / record / additionalProperties / type
      Added value: +"object"
    • addedInput schema / properties / records / items / properties / record / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  3. Addedv1.9.1
  4. Removedv1.9.0
  5. First observedv1.4.0

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses which field types are non-updatable and mandates a discovery step, but omits batch atomicity (does one bad record fail all 100?), permission/auth requirements, and rate limits 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?

Three sentences, all load-bearing: purpose first, then the mandatory prerequisite tool, then the caveat about non-updatable fields. Front-loaded and free of restatement or filler.

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?

With an output schema present, return values need not be explained, and 100% schema coverage handles the parameter contract. The description covers purpose, prerequisite, and exclusions; only batch-failure semantics and permissions remain unaddressed.

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 app, records, id, record, and revision in detail. The description reinforces the field-code discovery requirement but adds no format/syntax detail beyond what the schema provides, so baseline 3 applies.

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?

States a specific verb (Update) and resource (multiple records in a kintone app), which clearly separates it from sibling mutators like kintone-delete-records, kintone-add-records, and kintone-update-statuses. However, it never names those siblings or explains how record-field updates differ from status updates, so the differentiation is implicit rather than explicit.

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

Usage Guidelines4/5

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

It gives a concrete prerequisite ("Use kintone-get-form-fields tool first to discover available field codes and their required formats") and an exclusion list of field types that cannot be updated. This is strong when/when-not guidance, though it stops short of pointing to a specific alternative tool for the excluded operations.

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