你有沒有過這種經驗:想請 AI 幫你看一下 kintone 上的某個 App、整理一下案件進度,結果只能一張一張截圖、把欄位內容複製貼上餵給 AI,AI 整理完之後,你還得再一筆一筆手動貼回 kintone。資料在「kintone」和「AI 視窗」之間來回搬運,光是搬運就花掉大半時間,搬到後來連自己在做什麼都快忘了。
如果 AI 可以直接連到你的 kintone,你只要說一句話,它就自己去查、自己整理、甚至自己幫你寫回去——是不是輕鬆很多?
這正是本篇的主角。kintone 在 2025 年推出了官方的本地 MCP Server(@kintone/mcp-server),讓 Claude Desktop、Claude Code、Cursor 這類支援 MCP 的 AI 工具,可以直接連到你的 kintone 環境,用自然語言查資料、整理、甚至寫入記錄。
本篇針對開發者,以及想做客製化/外部串接的讀者,帶你走過官方 MCP Server 的基本用途與用法:安裝、設定、實際操作、工具一覽,以及限制。因為這牽涉到讓 AI 直接動你的正式資料,本文亦會說明限制與安全注意事項,實際運用上請務必確認公司的資安相關規定。
MCP(Model Context Protocol)是 AI 與外部系統之間的標準介面。
最常見的類比是「AI 世界的 USB-C」——以前每接一個外部系統都要客製一套接法,有了這個標準介面之後,AI 就能用同一種方式去「查」和「改」外部系統,而不必你在中間手動複製貼上。
用一張表,馬上感受「沒有 MCP」跟「有 MCP」的差別:
| 沒有 MCP | 有 MCP | |
|---|---|---|
| 把資料給 AI | 手動截圖、複製欄位內容貼進對話 | AI 自己去 kintone 查 |
| AI 整理完之後 | 你再手動把結果貼回 kintone | AI 直接幫你寫回記錄 |
| 要不要知道 App ID/欄位代碼 | 要,得先自己查好 | 不一定,AI 可以先掃一遍環境 |
| 你的角色 | 人肉搬運工 | 出一張嘴 |
那它跟一般的 REST API 是什麼關係?其實官方 MCP Server 底層就是包了 kintone REST API。差別不在「能做的事」,而在「誰來決定怎麼呼叫」——以前是工程師讀文件、決定打哪支 API、組哪些參數;MCP 則是把這個決策權交給 AI。
@kintone/mcp-server 是 kintone 官方提供的「本地(local)」MCP Server。本文以 1.5.0 版為例說明(提醒:版本會持續更新,實際請以 GitHub / npm 上的最新版為準)。
它底層連的是 kintone REST API,涵蓋了常用的 API 操作:App 設定、表單欄位、記錄、留言、流程狀態、附件下載等等。
把它的能力概分成四大類,後面的工具一覽表也是照這四類來排:
對開發者來說,幾個很有感的實際場景:
ℹ️ 授權與支援方針:
本套件採 Apache-2.0 授權(Copyright 2025 Cybozu, Inc.)。它屬於本地 MCP Server,不在 kintone API 支援窗口(APIサポート窓口)的範圍內,有 bug 或功能需求請走 GitHub Issues。
🔗 官方來源:
官方提供三種安裝方式:
| 安裝方式 | 前置需求 | 適合誰 | 是否需另寫設定檔 |
|---|---|---|---|
| MCPB(Claude Desktop 擴充套件) | Claude Desktop | 非開發者/想最快上手 | 否,安裝後填帳密即可 |
| Docker 容器映像 | 已安裝並啟動 Docker | 熟 Docker、想要環境乾淨隔離 | 是(在 AI 工具設定檔掛入) |
| npm 套件 | Node.js(package.json 要求 Node >= 22) | 要整合進 CLI/開發流程 | 是(在 AI 工具設定檔掛入) |
kintone-mcp-server.mcpb.mcpb 檔拖放進視窗,按下 Install
安裝完之後不需要另外建立設定檔。
需要先安裝並啟動 Docker。可先用下列指令執行(帳密換成自己的):
docker run -i --rm \
-e KINTONE_BASE_URL=https://example.cybozu.com \
-e KINTONE_USERNAME=(username) \
-e KINTONE_PASSWORD=(password) \
ghcr.io/kintone/mcp-server
映像放在 GitHub Container Registry:ghcr.io/kintone/mcp-server(可加 :latest tag)。實際在 AI 工具裡使用時,會以 command=docker、args=run -i --rm ... 的方式掛進設定檔(見下方範例)。
需要先安裝 Node.js(依 package.json:Node >= 22)。
全域安裝:
npm install -g @kintone/mcp-server
啟動指令為 kintone-mcp-server,可用 --base-url / --username / --password 旗標,或等價的 KINTONE_BASE_URL / KINTONE_USERNAME / KINTONE_PASSWORD 環境變數。
不同 AI 工具的設定檔路徑不同:
.mcp.json
.cursor/mcp.json(README 也提供一鍵安裝連結)以下是一段可以直接複製的設定範例(用 Docker 掛入):
{
"mcpServers": {
"kintone": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"KINTONE_BASE_URL",
"-e",
"KINTONE_USERNAME",
"-e",
"KINTONE_PASSWORD",
"ghcr.io/kintone/mcp-server:latest"
],
"cwd": "${cwd}",
"env": {
"KINTONE_BASE_URL": "https://example.cybozu.com",
"KINTONE_USERNAME": "username",
"KINTONE_PASSWORD": "password"
}
}
}
}
逐欄說明:
type:傳輸方式,這裡是 stdio(標準輸入輸出)。command:實際要執行的指令,這裡是 docker(用 npm 安裝則填 kintone-mcp-server)。args:傳給指令的引數陣列;run -i --rm 是 Docker 的執行旗標,-e KINTONE_... 把環境變數帶進容器,最後是映像名稱。env:實際的環境變數值,base URL 與帳密填在這裡。| 選項 | 必填/選用 | 說明 |
|---|---|---|
--base-url / KINTONE_BASE_URL |
必填 | kintone 環境 base URL(例 https://example.cybozu.com) |
--username + --password / KINTONE_USERNAME + KINTONE_PASSWORD |
認證 A | 密碼認證,與 API token 二選一 |
--api-token / KINTONE_API_TOKEN |
認證 B | API token,逗號分隔最多 9 個,與密碼認證二選一 |
| Basic 認證 | 選用 | 環境需要 Basic 認證時使用 |
| PFX 用戶端憑證 | 選用 | 用戶端憑證認證 |
HTTPS_PROXY |
選用 | 企業 proxy 環境 |
--attachments-dir / KINTONE_ATTACHMENTS_DIR |
選用 | 下載附件時的儲存目錄(用到 kintone-download-file 時必須指定) |
💡 認證優先順序:同時指定密碼認證與 API token 時,密碼認證優先;同時給命令列引數與環境變數時,命令列引數優先。
⚠️ 安全提醒:對外公開的環境,建議優先用 API token,並只授予該用途所需的最小權限(閱覽/新增/編輯/刪除按需勾選),不建議直接使用個人帳號密碼。用戶端憑證認證時,base URL 網域必須是安全存取網域(例
.s.cybozu.com,依使用地區而定)。
五個情境,從讀到寫:列 App → 讀欄位 → 跨 App 查詢 → 產出週報 → 寫入記錄。
下面所有範例的客戶、聯絡人、數字皆為虛構占位,僅供說明格式。
你不需要事先知道任何 App ID,直接問:
請列出目前我可以存取的 kintone app,並整理成表格,
包含 app 名稱、app ID,以及你推測它可能管理的資料類型。
背後呼叫的是 kintone-get-apps。這是實際查你的環境得到的結果。回來大概像這樣(示意值):
| App 名稱 | App ID | 推測管理的資料 |
|---|---|---|
| 客戶管理 | 101 | 公司基本資料、負責業務 |
| 案件管理 | 102 | 案件進度、金額、狀態 |
| 商談記錄 | 103 | 拜訪紀錄、需求、TODO |
知道 App ID 之後,可以請它用白話解釋這個 App:
請說明 app ID <APP_ID> 有哪些主要欄位,並用非技術語言解釋這個 app
大概在管理什麼資料。請把欄位分成基本資料、狀態管理、備註或其他類別。
背後是 kintone-get-form-fields(需要時再加 kintone-get-form-layout 看版面)。用於盤點、交接、需求訪談前的快速理解。
直接問:
<A公司> 是誰負責的案件?目前進度到哪了?有沒有已經在談的商談記錄?
AI 會自己決定要去查客戶管理、案件管理、商談記錄哪幾個 App,再把結果整合成一段回答。實際上 AI 通常會先用 kintone-get-apps / kintone-get-form-fields 探查環境與結構,再多次呼叫 kintone-get-records 取數;但你完全不必指定要打哪個 App、組什麼查詢條件。
請它統計並產出文字:
目前各業務負責案件的狀況如何?請用表格整理每位業務的案件數量、
進度分布,最後幫我寫一段可以貼到週報的文字摘要。
回來會是一張交叉表加一段現成文字(以下為示意值):
| 業務 | 案件數 | 進行中 | 已成案 | 待跟進 |
|---|---|---|---|---|
| 業務 A | 8 | 5 | 2 | 1 |
| 業務 B | 6 | 3 | 2 | 1 |
| 業務 C | 5 | 2 | 3 | 0 |
本週案件總數 19 件,其中進行中 10 件、已成案 7 件,待跟進 2 件……(可直接貼到週報)
這類含彙總統計的需求,AI 同樣會視情況先探查 App 與欄位結構,再多次呼叫 kintone-get-records 把數據撈齊後彙整。
你可以貼一段虛構聯絡人或一段凌亂的會議筆記,請 AI 拆解成欄位再登錄:
這是我剛開完會的筆記,請幫我整理成商談記錄 App 的格式,
包含出席者、需求、預算與時程、TODO,然後幫我登錄進去。
或是名片場景,帶上「已存在則比對、不存在則新增」的判斷邏輯:
請幫我把這張名片登錄到聯絡人管理 App。如果這間公司在公司管理裡還沒有,
請先幫我新增公司資料;如果已存在,請比對名片資訊,告訴我有哪些欄位
可以補充或更新,確認後再更新。
背後是 kintone-add-records / kintone-update-records。
寫入資料時,可採寫入前確認、寫入後讀回的做法:
請在寫入 kintone 前,先列出即將登錄的欄位值,特別是姓名、公司名稱、
職稱、電話、email,等我確認後再新增或更新資料。
寫入後再補一句:
新增完成後,請再查詢一次剛剛建立的記錄,
確認實際寫入的內容和原始資料一致。
中文相近字特別容易出錯,寫入前後各核對一次可避免大部分錯誤。
💡 補充——用對照 App 提供使用者資訊:官方 server 目前沒有查詢使用者/組織/群組的工具,所以當你想讓 AI 把人員填進 USER_SELECT 等欄位時(例如產生測試資料、分配負責業務),它無法自行得知有哪些人、login code 是什麼。一種做法是直接提供 login code;若需分配的人數較多,可在 kintone 內建一個「成員清單對照 App」(放 USER_SELECT / ORGANIZATION_SELECT / GROUP_SELECT 欄位),讓 AI 先查這個 App 取得人員資訊,再去填別的 App。例如:
請幫我在測試 App 新增幾筆測試用記錄,負責業務請從成員清單 App 中 找出屬於「業務」角色的成員來分配。
💡 補充:多數 AI 工具都可以在 tool permission 設定每個工具是否要逐次確認。建議讀取類放行、寫入類逐次確認。
官方 README「ツール一覧(Tools)」的 22 個工具,依用途分四類。
① App 資訊讀取
| 工具名稱 | 用途 |
|---|---|
kintone-get-apps |
取得多個 App 的資訊 |
kintone-get-app |
取得單一 App 的詳細資訊 |
kintone-get-form-fields |
取得 App 的欄位設定 |
kintone-get-form-layout |
取得 App 的表單版面配置 |
kintone-get-process-management |
取得流程管理設定 |
kintone-get-general-settings |
取得 App 的一般設定 |
kintone-get-app-deploy-status |
確認設定反映到運用環境的狀態 |
② 記錄與留言讀寫
| 工具名稱 | 用途 |
|---|---|
kintone-get-records |
取得多筆記錄 |
kintone-add-records |
新增多筆記錄 |
kintone-update-records |
更新多筆記錄 |
kintone-delete-records |
刪除多筆記錄 |
kintone-update-statuses |
更新多筆記錄的流程狀態 |
kintone-get-record-comments |
取得某筆記錄的留言 |
kintone-add-record-comment |
為某筆記錄新增留言 |
③ App 設定與部署
| 工具名稱 | 用途 |
|---|---|
kintone-add-app |
在動作測試(pre-live)環境建立 App |
kintone-add-form-fields |
為 App 新增欄位 |
kintone-update-form-fields |
更新 App 的欄位設定 |
kintone-delete-form-fields |
刪除 App 的欄位 |
kintone-update-form-layout |
更新 App 的表單版面配置 |
kintone-update-general-settings |
變更 App 的一般設定 |
kintone-deploy-app |
將設定部署(反映)到運用環境 |
④ 檔案下載
| 工具名稱 | 用途 |
|---|---|
kintone-download-file |
下載並儲存附件欄位中的檔案 |
⚠️ 提醒:第 ③ 類(設定/部署)與刪除類工具會實際改動 App 結構,建議搭配 tool permission 逐次確認,並先在測試環境驗證再部署到運用環境。
kintone-download-file 必須事先指定附件儲存目錄(--attachments-dir / KINTONE_ATTACHMENTS_DIR),未指定會在執行時報錯。這篇文章介紹了 kintone 官方 MCP Server 的安裝、設定,以及用自然語言查資料、整理、寫入記錄的基本用法。在盤點既有 App、需求訪談前快速理解資料、免匯出產出週報、用非結構化文字登錄記錄這些場景中,都可以善加活用。建議先拿一個測試 App、讀取類工具放行、寫入類逐次確認,有興趣的話可以試試看。
官方文件: