2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

kintone MCP を触ってみて「ここ危ないかも」と思った所と最小対策

2
Last updated at Posted at 2025-10-12

本稿に記載した内容は筆者個人の見解であり、所属組織の公式見解ではありません。
本記事は Cybozu/kintone との提携・後援を意味しません。

目次

概要

kintone MCP を Gemini CLI から動かして、実際にヒヤッとした/ヒヤッとし得るポイントだけを短くまとめました。
本番導入の指南ではなく、PoCでも最低限ここだけはというメモです。

以下の記事でやってみたことから考えた内容です。


1. 認証情報が出やすい(スクリーンショット・設定ファイル・スニペットコピー)

  • 何が起きる? KINTONE_USERNAME/PASSWORD や API トークンをそのまま config.json に書いたりしていると、ブログ記事やgithubなどにそのまま載りがち。
  • 最小対策APIトークンを推奨(用途別・最小権限)。ブログやissueには伏字。CLIの出力は手でマスクしてから貼る。
// 悪い例(そのまま書く)
"env": { "KINTONE_PASSWORD": "SuperSecret!" }

// せめてこう(伏字+用途分離トークン)
"env": { "KINTONE_API_TOKEN_READ": "****", "KINTONE_API_TOKEN_WRITE": "****" }

2. 権限が広すぎると事故の振れ幅が大きい

  • 何が起きる? 1 本のトークンで読み・書き・スキーマ変更まで可能にしてしまう。今回の記事作成においては管理者権限を持ったアカウントのUSERIDとPasswordを利用しているため、すべてのアプリに対してフル権限を有する。
  • 最小対策読み取り専用トークンを既定に。更新・スキーマ変更は別トークンで手動切替。

3. 出力がそのまま個人情報になる

  • 何が起きる? 「表で出して」で氏名/メール/電話まで一気に出力。記事化やメモで漏洩。今回の記事ではサンプルのデータをそのまま使っているため問題はないが、本番運用や開発時の本番データが入った環境で行うことはご法度。
  • 最小対策必要な列だけ取得する癖をつける。公開物にはモザイク/伏字を徹底。また、開発環境でアプリ開発をAIと一緒にサンプルデータで行い、問題がないことが確認出来たら本番環境に移行しよう。
// 例:必要最小の列だけ
{ "app":"3", "fields":["$id","会社名","先方担当者","小計"] }

4. 一括更新・スキーマ変更は慎重に

  • 何が起きる? フィールド削除/一括更新は巻き戻しが難しい。LLMの解釈違いで意図外の変更を実行されてしまう。
  • 最小対策:本番環境では絶対にやらない!やるとしてもバックアップを取ることを推奨。また、LLMがMCPなどの外部ツールを使う際には「こういうことを実行しようと思うけどいい?」と問いかけてくるので、しっかり精査してから進めるようにする。検証環境ではAlways Allowにしてしまっていたので、レコードの追加、削除、その復元などを勝手に行っていた。

5. 取得し過ぎ(過収集)とレート上限

  • 何が起きる? 3と少し似てますが、「全部取る」がデフォになりがちで不要な機微情報まで LLM に渡すことになってしまう。大量実行でレート超過してしまう可能性あり。また、レコード取得の限界がどこにあるかが今のところ不明確であり、間違った結果を招いてしまう可能性がある。
  • 最小対策フィルタ+ページング前提。まずサンプル10件から。

6. 失敗の“試行錯誤”がそのまま副作用になる

  • 何が起きる? LLM が何度も作り直し→中途半端なフィールド/アプリが量産される。
  • 最小対策命名規則(tmp_ / sandbox_)を決めて、終わったらまとめて掃除

7. 本番/検証の切替ミス(テナント・URL・トークン)

  • 何が起きる? KINTONE_BASE_URL ひとつ間違えると本番を直撃してしまう。
  • 最小対策環境名をプロンプトに常に書く(例:「※これは dev」)。トークン名に**_DEV / _PROD**を付ける。ユーザー名なども分けておく方が多段で対策できていいかも?

8. 誰が何をやったか追えない

  • 何が起きる? 事故時に人・時刻・指示・影響件数が辿れず復旧が遅れる。
  • 最小対策:最低でも**「時刻 / 実行者 / 使ったツール名 / 影響件数」**をメモ(スプレッドシートでも可)。生データは貼らない。

「まずこれだけ」運用のコツ(軽めに3つ)

  1. 既定は読み取り専用(書き込みは明示的に切替)。
  2. 実行前は確認をする(Allways Allowにして丸投げしない)。
  3. テスト環境で成功→本番(同じ操作を繰り返さない)。

最後に

kintone MCP は**“操作のフットワークが軽くなる”反面、“軽さのノリでそのまま本番”**が一番危ないと感じました。
最小権限・必要最小の列・スクショ前の見直し——この3つだけでも、かなりリスクは下がります。

「がっつりガバナンス」より先に、まずは**“雑にやらないための小さな習慣”**から。これが一番大事だと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?