kintoneとGaroonのMCPサーバーを使ってみよう
はじめに
kintoneとGaroonの世界を、生成AIを通じて拡張するための「ローカルMCPサーバー」がリリースされました。
MCPサーバーは、kintoneやGaroonのAPIを、Claude Desktopなどの生成AIが理解し、操作できる「ツール」として提供します。
これにより、開発者は自然言語で指示するだけで、複数のサービスを横断した情報の集約・加工・登録といった一連の操作を、AIに実行させることが可能となります。
本記事では、kintoneとGaroonのMCPサーバーを組み合わせた活用シナリオを紹介します。
ただし、これは完成形ではなく、AI連携のヒントとなる「始まりの一歩」です。
ここで示したアイデアをヒントに、ご自身の環境や要件に合わせて発展させ、新たな価値の創出に挑戦してみてください。
「連携コネクタ」と「MCPサーバー」の違い
サイボウズでは、サービス間を連携するしくみとして「連携コネクタ」というオプションサービスも提供していますが、MCPサーバーとは目的と体験が異なります。
連携コネクタ:静的な「パイプライン」
システム間を直接つなぎ、あらかじめ設定したルールに基づいてデータを自動で同期・転送します。
例:「kintoneに新規レコードが作成されたら、自動的にOutlookにタスクを作成する」といった、決められたワークフローの自動化に向いています。
MCPサーバー:動的な「AIの道具箱」
MCPサーバーは、AIがユーザーの指示(以下、プロンプトと呼びます)に応じて複数のシステムの情報取得・操作を安全に行えるよう、必要なツールをまとめて提供するしくみです。
例:「今月の訪問予定をGaroonから取得して、件数をkintoneに登録して」という自然言語の指示に対し、AIが自ら判断してGaroon APIで予定を取得・集計し、kintone APIで結果を登録します。
つまり、連携コネクタは決められたルールで自動化、MCPサーバーはAIが状況判断しながら柔軟に対応するという違いがあります。
前提条件と注意事項
利用環境
-
ローカル環境からAPIを実行できるkintoneとGaroonの環境
-
Claude for Desktop
kitnoneとGaroonのローカルMCPサーバーは、Docker、Node.jsまたはClaude for Desktopから利用可能です。
本記事では、Claude for Desktopを使った手順を紹介します。次の公式サイトからClaude for Desktopをダウンロードし、セットアップを完了しておきましょう。
この記事では、Freeプランを利用しています。
Claude for Desktopをダウンロード
無料プランのClaudeには、1日あたりの利用回数や実行量に上限があります。
試行回数が多いと制限に達する場合があるため、プロンプトを整理しながら効率的に試すのがおすすめです。
認証
本記事では、kintoneとGaroonの両方で「パスワード認証」を利用します。
注意事項
- 本記事は検証・学習目的での利用を想定しています。
- 本番環境で利用する場合は、対象アプリのAPIトークンの権限や「パスワード認証」時のユーザー権限を必要最小限に設定し、AIがアクセスできる範囲を適切に制限してください。
ローカルMCPサーバーのセットアップ
まずは、kintoneとGaroonのローカルMCPサーバーを扱えるようにセットアップします。
公式マニュアルの「DXT(Claude Desktop用パッケージ)」の手順にしたがって、インストールし設定してください。
インストールや設定時によくつまずくポイントについては、後述の「よくつまずくポイント」で補足します。
作業を進める前に一度目を通しておくとスムーズです。
よくつまずくポイント
-
設定画面の開き方が分からない。
- Windownsの場合
Claude Desktop左上のハンバーガーメニューから「ファイル」>「設定」を選択します。 - Macの場合
メニューから「Claude」>「設定」を選択します。
- Windownsの場合
-
Claude Desktopの画面にDXTファイルをドラッグ&ドロップできない。
初回インストール時、DXTファイルをドラッグ&ドロップで追加できない場合があります。
その場合は、次の手順でインストールしてください。- [詳細設定]ボタンをクリックする。
- 「すべての拡張機能」画面を下までスクロールし、[拡張機能をインストール]ボタンをクリックする。
- ダウンロードしたDXTファイルを選択する。
拡張機能が「拡張機能」画面に表示されていれば、インストールは完了です。
一度インストールすると、次回以降はドラッグ&ドロップによる追加が可能になります。 -
拡張機能の設定で、どの項目を入力すればよいか分からない。
本記事では、パスワード認証を利用するため、次の3項目を設定すれば問題ありません。- 「Base URL」
- 「Username」
- 「Password」
ご利用の環境でBasic認証が有効になっている場合、Basic認証用の「Username」と「Password」も入力してください。
-
インストール後に拡張機能が使えない。
拡張機能が有効化されているかを確認してください。
-
デフォルトのモデルではうまくいかない。
デフォルトでは、Sonnetが選択されていますが、環境によっては指示どおりに動作しないことがあります。
その場合は、Haikuに切り替えて再度試してみてください。
設定で迷ったときは、Claudeに質問してみるのもおすすめです。
インストール状況やエラーメッセージを伝えると、解決策を提示してくれることがあります。
シナリオ1:訪問情報をGaroonから取得してkintoneに登録
営業部門が定期的に「訪問情報」を把握したい場合に使えるシナリオです。
Garoonの予定から営業の訪問情報を自動で集約し、kintoneの「営業活動の週間報告」アプリに登録します。
kintoneアプリを作成する
まずは、次のフィールドを含むkintoneアプリを作成します。
| フィールド名 | フィールドタイプ |
|---|---|
| 件数 | 数値 |
| 訪問要約 | 文字列(複数行) |
| 部署 | 組織選択 |
せっかくなので、このアプリもClaudeに作成してもらってみましょう。
-
Claude画面左上の[サイドバーの切り替え]をクリックし、[新規チャット]をクリックします。
-
次のプロンプトを入力します。
プロンプトの例:1 2 3 4 5 6kintone MCPサーバーを使って、次の条件を満たすkintoneアプリを作成してください。 アプリ名:営業活動の週間報告 アプリに次のフィールドを配置します。 - 件数(数値フィールド) - 訪問要約(文字列複数行フィールド) - 部署(組織選択フィールド) -
実行時に「許可」を求められたら、次のどちらかを選択します。
- 「常に許可」
以後の実行が自動承認されるため効率的ですが、誤操作や悪意あるコマンドも実行されるリスクがあります。 - 「一度だけ許可」
安全性は高いですが、その都度確認が必要です。
基本的には「一度だけ許可」がおすすめです。
- 「常に許可」
「営業活動の週間報告」アプリが正常に作成されると、完了メッセージが表示されます。
結果は次のようになります。
Garoonの検証データを用意する
次に、Garoon側で検証用の予定をいくつか登録します。
今回は、次の条件を満たす予定を複数件、それ以外の予定を1件登録します。
- 予定メニュー:訪問
あらかじめ「Garoonシステム管理(各アプリケーション)」>「スケジュール」>「予定メニューの設定」で、「訪問」というメニューを追加しておきます。 - 日時:先週月曜日〜金曜日の間
- 参加者:営業部所属のユーザー
- メモ:訪問概要・結果
予定の登録は、手動でもClaudeに依頼してもかまいません。
イメージは次のとおりです。
プロンプトを用意する
設計ポイント(エンジニア視点)
- プロンプト設計
集約期間(先週月〜金)と抽出条件(「訪問」+営業部所属ユーザー)を明示する。 - 実行権限の確認
Claudeの[設定]>[拡張機能]>「拡張機能名(例:Garoon MCP Server)」>[設定]画面の「権限」項目で、実行できる操作を確認しておきます。
ここにない操作は、AIに依頼しても、実行されません。
今回のシナリオに必要な操作は、次のとおりです。get-current-time:現在日時を取得し、先週月曜日〜金曜日の日付を計算get-organizations:営業部の組織情報を取得get-users-in-organization:営業部メンバーを取得get-schedule-events:各メンバーの訪問予定を取得
「get-schedule-events」は、Garoon REST APIの「複数の予定を取得するAPI」に対応しています。
レスポンスとしてeventMenuの情報が返ってくるため、それで「訪問」の予定だけを絞り込めます。Get Form Fields:kintoneアプリのフィールド構成を確認Add Records:集約結果をkintoneに登録
具体的なプロンプト例
XXX部分は先ほど作成した「営業活動の週間報告」アプリのアプリIDです。
ご自身の環境に合わせて書き換えてください。
|
|
実行結果を確認する
「営業活動の週間報告」アプリにレコードが登録され、営業部所属のユーザーの「訪問」予定のみ集約されていれば成功です。
シナリオ2:kintoneの議事録から参加者を抽出し、Garoonで空き予定を登録
kintoneの「議事録アプリ」に登録されている参加者情報をもとに、Garoonで次回会議の候補時間を自動的に空き予定として登録するシナリオです。
kintoneアプリを作成する
今回もClaudeを使ってアプリを作成してみましょう。
シナリオ1と同様に、AIに正しく意図を伝えるためのプロンプトを設計してみてください。
プロンプトの例は次のとおりです。
|
|
アプリが作成されたら、レコードを1件登録します。
ポイントは、AIが次回の会議の必要性を判断できるように記載することです。
「内容」フィールドの記入例は次のとおりです。
|
|
プロンプトを作成する
設計ポイント(エンジニア視点)
- プロンプトの設計
取得対象を特定する条件を明確にします。
今回は、「アプリID」と「作成日」でレコードを特定します。 - 実行権限の確認
今回のシナリオに必要な操作は、次のとおりです。Get Records:議事録レコードを取得Search Available Times:営業日の業務時間帯から空き時間を検索Create Schedule Event:スケジュールを登録
具体的なプロンプト例
実行途中で情報が不足していたり、エラーが発生した場合は、Claudeが必要な追加情報を尋ねてくれます。
適宜補足して進めましょう。
|
|
実行結果の確認
Garoonのスケジュールに、次のような予定が登録されていれば成功です。
まとめ
本記事では、kintoneとGaroonのローカルMCPサーバーを組み合わせた2つのシナリオを通じて、AIがAPIを呼び分け、システム間でデータを橋渡しする新しい連携の形を探りました。
MCPサーバーと仲良くするためのポイント
- 小さく始める。
まずは検証用のアプリを用意し、シンプルなプロンプトでAIを動かしてみましょう。
動作の流れをつかむことが第一歩です。 - プロンプトをチューニングする。
AIが判断に迷わないよう、条件や期待する動作を明確に記述し、試行錯誤しながらプロンプトをブラッシュアップしていくことが成功の鍵です。 - 権限を最低限にする。
管理者権限のアカウントを直接使うのは避け、必要最低限の権限で運用しましょう。
特定アプリを操作する場合は、パスワード認証ではなくAPIトークンの利用を推奨します。 - AIの限界を理解して設計する。
kintoneとGaroonのMCPサーバーは、実際にはREST APIを呼び出しているだけです。
APIで提供されていない操作や、MCPサーバーが未対応のエンドポイントはAIでも実行できません。
今後のアップデートにより、MCPサーバーの機能やAPI連携の選択肢はさらに拡がっていくでしょう。
現時点では、「AIによるシステム連携の新しい可能性を試す出発点」として、ご自身の業務課題に合わせた工夫や実験を重ねてみてください。
本記事は、次の環境で動作を確認しています。
- kintone:2025年10月版
- Garoon:2025年10月版
- kintoneローカルMCPサーバー:v1.2.1
- GaroonローカルMCPサーバー:v1.0.1
- Claude for Desktop: v0.13.91