kintoneレコード検索・更新をClaudeで効率化する方法
kintone公式MCPサーバーのレコード操作ツールを使い、条件検索・一括登録・ステータス更新を自然言語で任せる実践パターンをまとめます。制限事項も具体的に扱います。
Claude Codeにkintone公式MCPサーバーを接続すると、日々のレコード検索・登録・更新をチャット形式の指示で片づけられます。この記事では、ツールが受け付ける条件の範囲、一括操作の件数上限、ステータス更新の指定方法、削除を権限で止める設定を扱います。接続そのものがまだの場合はClaude kintone連携ガイドを先に済ませてください。
対象読者は、kintoneの一覧画面で毎日同じような絞り込み条件を手作業で組み立てている人と、複数レコードの一括更新をエクスポート・編集・インポートの手順で回している人です。どちらもClaudeへの自然言語指示に置き換えられる作業です。フィールドのコード名やクエリ構文は、Claudeがツール経由でアプリの定義を取得して補います。
一括操作は1回100件まで、取得は500件まで
レコード操作のツールには、1回の呼び出しで扱える件数の上限があります。上限はツールごとの入力定義にあり、1件ずつ画面を開く作業との置き換えを考えるときの目安になります。
1回の呼び出しで扱える件数
kintone-get-records
500件
取得。limitは1〜500
kintone-add-records
100件
追加。1回の呼び出しで最大100件
kintone-update-records
100件
更新。レコードIDごとに変更内容を渡す
kintone-delete-records
100件
削除。ステータス更新も100件まで
数百件のデータを登録するときは、Claudeが100件ずつ複数回に分けて呼び出す形になります。コメントの取得(kintone-get-record-comments)は1回10件までなので、コメントの多いレコードも同様に複数回の取得です。
検索条件はどこまで日本語で伝えられるか
kintone-get-recordsは、日本語の指示をClaudeが構造化された条件(filters)に組み立てて渡す作りです。ツール側がその条件をandでつないだクエリ文字列に変換して、kintoneへ問い合わせます。
アプリID 12の「顧客管理」から、ステータスが「対応中」かつ
顧客名に「山田」を含むレコードを、更新日時が新しい順で取得して条件の指定にはフィールドのコードが使われます。そこでkintone-get-form-fieldsでフィールド設定を先に取得させておくと、画面表示どおりのフィールド名で指示しても通りやすくなります。ツールが受け付ける条件の範囲は次のとおりです。
kintone-get-records の絞り込み
指定できる
- 文字列系フィールドのキーワード検索(
like) - 完全一致、日付・日時の範囲、数値の範囲
- 同じフィールドの複数の値のどれかに一致、いずれにも一致しない
- 並び順、取得するフィールド、
limit、offset
指定できない
ツールの説明に「OR条件は未対応」と書かれています。別々のフィールドをまたぐ「AまたはB」は、検索を2回に分けて、結果をClaudeに合わせてもらう形になります。
取得件数の上限はkintone REST APIの仕様に従います。一度に取得できるのは500件までで、offsetは10,000件が上限です。それを超える規模のアプリでは、日付範囲などで検索を区切る進め方があります。結果には条件に合う総件数(totalCount)も含まれます。
文字列の検索は単語検索で、任意の部分文字列を探す検索とは動きが違います。キーワード検索(like)は、キーワードを含むレコードが10万件に達した時点でkintone側が検索を打ち切ります。その場合、REST APIのレスポンスヘッダーX-Cybozu-WarningにFilter aborted because of too many search resultsが付きます。件数の多いアプリで文字列の条件を使うときは、日付などの条件と組み合わせて母数を減らします。
部門別の指示の例を挙げます。営業では「今月商談化した案件のうち、見積提出前のものだけ一覧化して」と頼めます。総務なら「今月末までに契約更新期限を迎える取引先を抽出して」、人事なら「有給残日数が5日未満の社員を一覧化して」です。いずれも、毎回手で組み立てていた一覧画面の絞り込みを1文の指示に置き換えます。
レコード以外(スペース・スレッド・コメント・添付ファイル)も含めた全文検索には、kintone-searchツールがあります。最新リリース1.9.4にも含まれますが、READMEのツール一覧には載っていません。このツールはパスワード認証かセッション認証が前提で、APIトークンでは使えません。
条件で絞った複数レコードを更新する
kintone-update-recordsが受け取るのは検索条件ではなく、レコードIDと変更内容の組です。条件に合うレコードをまとめて更新するときは、先に検索で対象を特定する流れになります。
条件付き一括更新の流れ
- 1
フィールド設定を取得する
kintone-get-form-fieldsでフィールドコードと型を取得します。更新内容の書式はフィールドの型で決まります。 - 2
対象を検索して中身を見る
kintone-get-recordsで絞り込み、総件数と内容を画面で見て、意図した範囲かを判断します。 - 3
更新を実行する
kintone-update-recordsにレコードIDと変更内容を渡します。100件を超えるときは複数回に分かれます。 - 4
返ってきた結果を突き合わせる
結果にはレコードIDと更新後のリビジョン番号が入ります。対象件数と照らして、抜けがないかを見ます。
更新・ステータス変更・削除のツールには、revision(リビジョン番号)を渡す欄があります。検索したときの番号を指定しておくと、その後に別の人が同じレコードを更新していた場合は処理が失敗します。-1か省略なら、この照合は行いません。
新規登録はkintone-add-recordsで、表計算ソフトから書き出したデータをそのまま渡せます。
このスプレッドシートの内容を、アプリID 12の「顧客管理」に
新規レコードとしてまとめて登録して。会社名と担当者名は必須項目添付ファイルの取り出しはkintone-download-fileで行います。保存先は--attachments-dirか環境変数KINTONE_ATTACHMENTS_DIRで指定し、どちらも無いとツール実行時にエラーになります。
ステータス更新はアクション名で指示する
kintone-update-statusesは、プロセス管理を有効にしたアプリで使います。指定するのは移行先のステータス名ではなく、プロセス管理に設定されたアクション名です。同じ状態に同名のアクションが複数あるとエラーになり、表示言語を複数設定している場合は、利用者の表示言語でアクション名を伝えます。
移行先で「作業者を選択」が有効な場合は、作業者のログイン名も必要です。アクション名と作業者の条件はkintone-get-process-managementで取得できるので、先に見せておくと指示が一度で通りやすくなります。
アプリID 12の「顧客管理」で、ステータスが「一次確認済み」の
レコードに、アクション「最終確認へ回付」を実行して。実行した
レコードには「一次確認完了、最終確認へ回付」とコメントを追加してステータス変更ではリビジョン番号が2つ進みます。アクションの実行で1つ、ステータスの更新で1つです。更新前後の番号を比べるときは、この増え方を前提にします。コメントの追加はkintone-add-record-commentが担当します。
削除は権限の側で止める
kintone-delete-recordsが受け取るのはレコードIDの配列(最大100件)で、検索条件ではありません。「該当するレコードをすべて削除して」という指示は、Claudeが先に検索でIDを集めてから削除を呼ぶ形になります。意図した範囲かどうかは、削除の前にkintone-get-recordsの結果で判断します。
削除を確認なしで走らせない手段は、Claude Code側の権限設定にあります。MCPツールはmcp__<サーバー名>__<ツール名>の形式で指定でき、askに入れるとそのツールの実行前に確認が入ります。サーバー名をkintoneにした場合の例です。
{
"permissions": {
"ask": [
"mcp__kintone__kintone-delete-records",
"mcp__kintone__kintone-update-records",
"mcp__kintone__kintone-update-statuses"
]
}
}kintone MCPサーバーのリポジトリには、各ツールに読み取り専用・破壊的操作といったヒント(annotations)を付けてほしいという要望(issue #568)が出ています。ツールの種類をクライアントが判別できない現状では、ツール名を指定した権限ルールが確認を入れる手段になります。
認証側でも絞れます。APIトークン認証では、トークンに付ける権限(閲覧・追加・編集・削除)が上限になります。検索と集計だけを任せるなら、閲覧のみのトークンを使う選択肢があります。トークンはカンマ区切りで最大9個まで指定でき、パスワード認証と併用するとパスワード認証が優先されます。
権限エラーが出たときの見方
更新だけが失敗するときや、特定のアプリだけ読めないときは、使っているユーザーまたはAPIトークンに対象アプリのアクセス権があるかを見ます。アプリ管理権限やレコード閲覧権限が必要な場合があります。APIトークンでは、必要な操作(閲覧・追加・編集・削除)の権限が付いているかも条件です。
ゲストスペース内のアプリは、権限を付けてもアクセスできません。ベースURLの誤りやプロキシ環境の接続エラーは、MCPサーバーに接続できないときの切り分け手順が扱っています。
検索結果をそのままレポートに変換する
kintone-get-recordsで取得したレコードは、Claudeがそのまま集計・整形できます。検索と集計を1回の指示にまとめれば、Excelへ貼り替える手間が要りません。
アプリID 12の「顧客管理」から今月クローズした案件を取得して、
担当者ごとの件数と合計金額を表にまとめて。表はMarkdownで出力して取得したレコードは会話の中を通るので、数百件規模では文脈を大きく使います。ファイルへ書き出して処理する一括ツールの提案(pull request #548)がリポジトリに出ており、ツール一覧に載るまでは、日付範囲などで区切って取得する進め方になります。複数アプリをまたぐ集計は、アプリを1つずつ検索させてから突き合わせる指示になります。表計算ソフトへの出力や可視化はCoworkのExcel・スプレッドシート分析でも扱っています。
使い分け早見表
| 業務パターン | おすすめ度 | 理由 |
|---|---|---|
| 条件を変えながら繰り返す検索 | おすすめ度◎ | 理由絞り込みの組み立てをClaudeに任せられる |
| CSV・表形式データの一括登録 | おすすめ度◎ | 理由100件単位の呼び出しにまとめて渡せる |
| 保存済みビューで足りる定型検索 | おすすめ度△ | 理由ビューを開くほうが手順が少ない |
| AとBのOR条件を含む検索 | おすすめ度△ | 理由検索を2回に分けて結果を合わせる形になる |
| 添付ファイルを含む登録・更新 | おすすめ度△ | 理由ツールの対象外のため、ファイル部分は手動 |
| ゲストスペース内アプリの操作 | おすすめ度✕ | 理由kintone MCPサーバーが非対応 |
| 選択肢未設定のユーザー・組織選択の更新 | おすすめ度△ | 理由選択肢が設定済みのフィールドのみ対象 |
よくある質問
検索条件を毎回言い直すのが面倒です
よく使う条件は、アプリIDと条件をセットにした短い言い回しを決めておくと、伝える手間が減ります。Claude CodeのスラッシュコマンドやCLAUDE.mdのメモに残しておけば、次回以降は短い呼び出しで済みます。
パスワード認証とAPIトークン認証のどちらがよいですか
用途で分かれます。kintone-searchはAPIトークンでは使えず、レコード操作だけならどちらでも動きます。APIトークンはアプリごとに発行する方式で、権限をアプリ単位で絞れます。
検索とレポート作成を毎日決まった時間に自動実行できますか
kintone MCPサーバーはローカルMCPサーバーとして提供されており、定期実行にはそのサーバーを起動できる環境が必要です。毎日決まった時間に走らせるときの制約と回避策はkintoneとCoworkの自動化にまとめています。
まとめ
件数が多い登録と、条件を変えて繰り返す検索はClaudeに任せやすい作業です。更新と削除は、検索結果で対象を見てからIDで実行し、確認を権限設定に持たせておくと取り違えを防げます。他業務でのMCP活用例はおすすめMCPサーバー10選にあります。