MCPによるKintoneの接続
Model Context Protocol(MCP)はAIAgentが様々なシステムに接続する際の標準のプロトコルです。昨年の11月に発表されてから、急速に普及が進み、様々なパッケージやアプリケーションのMCP対応も進んでいます。この記事では、watsonx Orchestrate上で、kintoneのローカルMCPサーバーを構成し、エージェントから利用可能にする手順を解説します。
MCPサーバーの登録
watsonx Orchestrateでは、watsonx Orchestrate上にMCPサーバーを構成するローカルMCPサーバーのパターンと、リモートのMCPサーバーと接続するパターンの両方をサポートしていますが、今回使用するkintoneのMCPサーバーはローカルMCPサーバーとなります。また、MCPサーバーが利用する認証情報は、 接続(Connections) 機能として一元管理され、環境(開発・本番など)ごとに異なる設定を柔軟に切り替えることが可能です。今回は、まずGUIで接続情報を構成してから、MCPサーバーの追加に進みます。
接続の構成
kintoneのMCPサーバーは接続の方法としてはいくつかの方式がサポートしていますが、今回はAPI_TOKENを用いてみたいと思います。認証タイプとしてキーと値のペアを選択し、以下の2つのキーの値を設定し保存します。
- KINTONE_BASE_URL
kintoneのサブドメインを含むベースURL(例: https://[サブドメイン].kintone.com) - KINTONE_API_TOKEN
kintoneで発行したAPIトークン
MCPサーバーの追加
次にMCPサーバーを追加します。MCPサーバーを登録するには、エージェント・ビルダー上でツールの追加から、MCPサーバーを選択します。

MCPサーバーの追加メニューから、必要な情報を入力します。
- 接続:先ほど作成した接続を選択
- インストール・コマンド:npx @kintone/mcp-server
接続ボタンをクリックすると、サーバーのインストールが開始され、無事に完了すると以下のように、MCPサーバー経由で提供されるツールの一覧が表示されますので、利用するツールをオンにします。今回は単純なレコードの取得を行ってみたいので、kintone-get-recordsツールをオンにしてみます。
エージェントからの利用
エージェント・ビルダー画面に戻ると、ツールが追加されているので、詳細を確認してみましょう。

パラメータ・タブを確認すると、このツールを利用する際のパラメータの一覧を確認することができ、アプリケーションのIDであるappというパラメータが必須であることが分かります。
アプリケーションの情報を取得するようなツールもあるので、そのツールと組み合わせて自動的にIDを取得、セットするようなことも可能ですが、今回は案件情報のデータを保持しているアプリケーション(app=1)の情報を取得するようなエージェントを実装したいので、最初からapp=1と指定するような指示を明示的に与えたいと思います。
プレビュー欄で、「案件の一覧を表示して」と入力してみましょう。

エージェントがkintone-get-recordsツールを呼び出し、データが取得・整形されて表示されることを確認できます。
考慮点
今回はサンプルデータが少ないため全件取得する動作になりましたが、レコード数が多い場合、LLM(大規模言語モデル)のコンテキストウィンドウの制限や処理負荷が高くなる可能性があります。そのため、以下の手段で取得するデータ量を適切に調整する必要があります。
- 取得するレコードの上限を指定する
- 取得するフィールドを明示的に指定する
- フィルターを指定してレコード数を削減する
また、すべてをLLMの推論とツール呼び出しに任せるのではなく、プロンプトで必須パラメータ(例: app=1)を明示的に指定することで、LLMがパラメータを推論する不必要なステップを回避し、全体のパフォーマンスと安定性を向上させることが可能です
まとめ
この記事ではMCPを用いてkintoneとwatsonx Orchestrateを連携させる方法について説明しました。watsonx Orchestrateはローカル、リモートのMCPサーバーに対応し、設定を行うことで簡単にMCPに対応したアプリケーションと接続することが可能です。また、MCPサーバーを利用する際の認証情報も接続という仕組みを用いて柔軟に行うことが可能です。





